Beispiel-Dokumentation: Init Container Migration
Ziel
Verstehen, wie eine App erst nach erfolgreichem Init Container startet.
Was gemacht wird
Ein Init Container schreibt eine einfache Migrationsdatei in ein gemeinsames emptyDir. Der NGINX-Container stellt diese Datei anschließend als Inhalt bereit.
Typische Kommandos
kubectl apply -f manifests/
kubectl rollout status deployment/migration-app -n init-lab
kubectl logs -n init-lab deployment/migration-app -c migrate
kubectl exec -n init-lab deploy/migration-app -- cat /usr/share/nginx/html/index.html
Erfolg prüfen
- Init Container endet erfolgreich.
- App-Pods werden erst danach bereit.
- Die generierte Datei ist im App-Container sichtbar.
Typische Fehler
- Init Container schreibt in ein anderes Volume als die App liest.
- Migrationen sind nicht idempotent.
- Fehler im Init Container werden nur als
Init:CrashLoopBackOffwahrgenommen.