Sobes.tech
Middle

Kas ir init konteineris Kubernetes?

sobes.tech AI

Atbilde no AI

Īpašs konteineris podā, kas pabeidz savu darbu pirms galveno konteineru palaišanas podā.

Tās mērķis:

  • Videi sagatavot pirms galvenās lietojumprogrammas palaišanas.
  • Ielādēt konfigurācijas vai skriptus.
  • Gaidīt ārējo pakalpojumu (datu bāzes, API) gatavību.
  • Konfigurēt failu sistēmu vai piekļuves tiesības.

Galvenās īpašības:

  • Tiek izpildīts pēc poda specifikācijā norādītās secības.
  • Katrs init-konteiners jāveic ar panākumiem, pirms sākas nākamais vai galvenie konteineri.
  • Ja init-konteiners neizdodas, Kubernetes restartēs podu, kamēr init-konteiners neizpildās ar panākumiem (atbilstoši poda restartēšanas politikai).
  • Tiem ir piekļuve kopīgam volume podā, kas ļauj nodot datus galvenajiem konteineriem.

YAML specifikācija:

// Piemērs poda specifikācijai ar init-konteineru
apiVersion: v1
kind: Pod
metadata:
  name: my-pod
spec:
  initContainers: // Init-konteineru saraksts
  - name: init-myservice // Init-konteinera nosaukums
    image: my-init-image // Init-konteinera attēls
    command: ["sh", "-c", "echo 'Initializing...' && sleep 5"] // Izpildāmā komanda
  containers: // Galveno konteineru saraksts
  - name: my-app // Galvenā konteineru nosaukums
    image: my-app-image // Galvenā konteineru attēls
    ports:
    - containerPort: 80