Middle
Čo je to init kontajner v Kubernetes?
sobes.tech AI
Odpoveď od AI
Špeciálny kontajner v pod, ktorý ukončí svoju prácu predtým, ako hlavné kontajnery v pod začnú svoju činnosť.
Jeho účel:
- Inicializovať prostredie pred spustením hlavnej aplikácie.
- Načítať konfigurácie alebo skripty.
- Čakať na pripravenosť externých služieb (databázy, API).
- Nastaviť súborový systém alebo oprávnenia.
Hlavné vlastnosti:
- Spúšťa sa v poradí uvedenom v špecifikácii podu.
- Každý init-kontajner musí úspešne dokončiť, než začne ďalší alebo hlavné kontajnery.
- Ak init-kontajner zlyhá, Kubernetes reštartuje pod, kým init-kontajner úspešne nedokončí (podľa politiky reštartu podu).
- Majú prístup k spoločnému volume podu, čo umožňuje prenášanie dát hlavným kontajnerom.
Špecifikácia v YAML:
// Príklad špecifikácie podu s init-kontajnerom
apiVersion: v1
kind: Pod
metadata:
name: my-pod
spec:
initContainers: // Zoznam init-kontajnerov
- name: init-myservice // Názov init-kontajnera
image: my-init-image // Obraz init-kontajnera
command: ["sh", "-c", "echo 'Initializing...' && sleep 5"] // Príkaz na vykonanie
containers: // Zoznam hlavných kontajnerov
- name: my-app // Názov hlavného kontajnera
image: my-app-image // Obraz hlavného kontajnera
ports:
- containerPort: 80