Middle
Mi az az init-konténer a Kubernetesben?
sobes.tech MI
Válasz az MI-től
Egy speciális konténer egy podban, amely befejezi a munkáját, mielőtt a pod fő konténerei elindulnának.
Célja:
- A környezet inicializálása a fő alkalmazás indítása előtt.
- Konfigurációk vagy szkriptek betöltése.
- Külső szolgáltatások (adatbázisok, API-k) készenlétének várása.
- Fájlrendszer vagy jogosultságok beállítása.
Fő jellemzők:
- A pod specifikációjában megadott sorrendben futnak.
- Minden init-konténernek sikeresen be kell fejeződnie, mielőtt a következő vagy a fő konténerek elindulnának.
- Ha egy init-konténer hibával zárul, a Kubernetes újraindítja a podot, amíg az init-konténer sikeresen be nem fejeződik (a pod újraindítási politikájától függően).
- Hozzáférésük van a pod közös volume-jéhez, ami lehetővé teszi adatok átadását a fő konténereknek.
YAML specifikáció:
// Init-konténerrel ellátott pod példája
apiVersion: v1
kind: Pod
metadata:
name: my-pod
spec:
initContainers: // Init-konténerek listája
- name: init-myservice // Init-konténer neve
image: my-init-image // Init-konténer képe
command: ["sh", "-c", "echo 'Initializing...' && sleep 5"] // Végrehajtandó parancs
containers: // Fő konténerek listája
- name: my-app // Fő konténer neve
image: my-app-image // Fő konténer képe
ports:
- containerPort: 80