Zurück zur Übersicht

Begriff

Init Container

Kubernetes Containerization S2
2 Quellen 0 Lernpfade 0 Backlinks enriched

Warum wichtig?

Dieser Begriff ist ein Knoten im SengakujiWorks-Wissensnetz. Nutze Level 0 für die erste Einordnung, Level 1 für Praxis, Level 2 für technische Struktur und Level 3 für Grenzen, Fallstricke und Expertenkontext.

Bevor deine Haupt-App startet (z. B. WordPress), müssen oft Dinge erledigt werden.

  • "Ist die Datenbank schon da?" (Warten).
  • "Habe ich Schreibrechte auf dem Ordner?" (Rechte fixen).
  • "Config-Datei generieren." Dafür gibt es Init Container. Sie sind wie das Vorprogramm. Sie starten vor dem eigentlichen Container. Erst wenn sie erfolgreich fertig sind (Exit 0), startet der nächste. Wenn ein Init Container scheitert, startet der Pod nicht.

Merksatz: Ein spezialisierter Container in einem Pod, der vor den App-Containern ausgeführt wird, um Initialisierungsaufgaben zu erledigen, die Sequenzierung erfordern oder spezielle Rechte benötigen.


Quick-Check

  1. Was teilen sie sich?
    Init Container und App Container teilen sich das Netzwerk (IP) und Volumes. Sie teilen sich nicht das Dateisystem (jedes hat eigenes Image), außer gemountete Volumes.
  2. Unterschied zu PostStartHook?
    PostStart läuft asynchron (parallel zum App-Start). Es garantiert nicht, dass es fertig ist, bevor die App Anfragen annimmt. Init Container blockieren den Start. Das ist sicherer für Abhängigkeiten.
  3. Sidecars in K8s 1.28?
    Neu gibt es "Sidecar Containers" (Init Container mit restartPolicy: Always). Sie starten vor der App, laufen aber weiter. Das löst das Problem von Service-Mesh-Proxies (die laufen müssen, bevor die App netzwerkt).