C'est aussi facile dans Kubernetes. Vous pouvez le faire comme suit,
- Mettez votre
init.sql
fichier dans un volume Kubernetes . - Montez ce volume dans
/docker-entrypoint-initdb.d
répertoire de votre pod mysql.
Voici un exemple de fichier yaml :mysql-init-demo.yaml
Vous pouvez également utiliser un init-container
pour télécharger init.sql
fichier dans un volume Kubernetes monté sur /docker-entrypoint-initdb.d
répertoire du conteneur mysql.
UPD : Comme vous l'avez spécifié dans la mise à jour, la solution que vous avez mentionnée ne fonctionnera pas pour vous. Je pense que init-container
approche sera la mieux adaptée pour vous. Voici comment procéder :
- Créez un pvc. Soit son nom est
init-script
. -
Maintenant, ajoutez un
init-container
à votre pod mysql. Montez ceinit-script
pvc dans un répertoire de ceinit-container
. Configurez votreinit-container
tel qu'il télécharge votreinit.sql
fichier sur ce répertoire. -
Montez le
init-script
dans le conteneur mysql à/docker-entrypoint-initdb.d
Faites-moi savoir si vous avez besoin d'un échantillon avec init-container
approche.
UPD-2 : J'ai ajouté un exemple pour init-container
approcher. Vous pouvez le trouver ici
.