É fácil no Kubernetes também. Você pode fazer da seguinte forma,
- Coloque seu
init.sql
arquivo em um volume do Kubernetes . - Monte este volume em
/docker-entrypoint-initdb.d
diretó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-container
para o seu pod mysql. Monte esteinit-script
pvc em algum diretório desteinit-container
. Configure seuinit-container
de modo que baixe seuinit.sql
arquivo neste diretório.
-
Monte oinit-script
no 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
.