Auch in Kubernetes ist es einfach. Sie können dies wie folgt tun,
- Legen Sie Ihre
init.sqlab Datei in ein Kubernetes-Volume . - Mounten Sie dieses Volume in
/docker-entrypoint-initdb.dVerzeichnis Ihres MySQL-Pods.
Hier ist eine YAML-Beispieldatei:mysql-init-demo.yaml
Sie können auch einen init-container verwenden um init.sql herunterzuladen Datei in ein Kubernetes-Volume, das auf /docker-entrypoint-initdb.d gemountet ist Verzeichnis des MySQL-Containers.
UPD: Wie Sie in Update angegeben haben, funktioniert die von Ihnen angegebene Lösung nicht für Sie. Ich denke init-container Ansatz wird für Sie am besten geeignet sein. So können Sie vorgehen:
- Pvc erstellen. Der Name sei
init-script. -
Fügen Sie nun einen
init-containerhinzu zu Ihrem MySQL-Pod. Mounten Sie diesesinit-scriptpvc in irgendeinem Verzeichnis diesesinit-container. Konfigurieren Sie Ihreninit-containerso dass es Ihreinit.sqlherunterlädt Datei in diesem Verzeichnis. -
Mounten Sie das
init-scriptim MySQL-Container unter/docker-entrypoint-initdb.d
Lassen Sie mich wissen, wenn Sie ein Beispiel mit init-container benötigen Ansatz.
UPD-2: Ich habe ein Beispiel für init-container hinzugefügt sich nähern. Sie finden es hier
.