É fácil no Kubernetes também. Você pode fazer da seguinte forma,
- Coloque seu
init.sqlarquivo em um volume do Kubernetes . - Monte este volume em
/docker-entrypoint-initdb.ddiretório do seu pod mysql.
Aqui está um exemplo de arquivo yaml:mysql-init-demo.yaml
Você também pode usar um
init-container para baixar init.sql arquivo em um volume do Kubernetes montado em /docker-entrypoint-initdb.d diretório do contêiner mysql. UPD: Como você especificou na atualização que a solução que você indicou não funcionará para você. Acho que
init-container abordagem será mais adequada para você. Aqui está como você pode fazer:- Crie um pvc. Deixe que seu nome seja
init-script. -
Agora, adicione uminit-containerpara o seu pod mysql. Monte esteinit-scriptpvc em algum diretório desteinit-container. Configure seuinit-containerde modo que baixe seuinit.sqlarquivo neste diretório.
-
Monte oinit-scriptno contêiner mysql em/docker-entrypoint-initdb.d
Deixe-me saber se você precisar de alguma amostra com
init-container abordagem. UPD-2: Eu adicionei uma amostra para
init-container abordagem. Você pode encontrá-lo aqui
.