Sobes.tech
Middle

Mis on init-konteiner Kuberneteses?

sobes.tech AI

Vastus AI-lt

Eri spetsiaalne konteiner podis, mis lõpetab oma töö enne, kui podi peamised konteinerid alustavad tööd.

Selle eesmärk:

  • Keskkonna ettevalmistamine enne peamise rakenduse käivitamist.
  • Konfiguratsioonide või skriptide laadimine.
  • Väliste teenuste (andmebaasid, API-d) valmisoleku ootamine.
  • Failisüsteemi või õiguste seadistamine.

Peamised omadused:

  • Käivitatakse vastavalt podi spetsifikatsioonis näidatud järjekorrale.
  • Iga init-konteiner peab edukalt lõpetama enne, kui järgmine alustab või peamised konteinerid hakkavad tööle.
  • Kui init-konteiner ebaõnnestub, taaskäivitab Kubernetes podi, kuni init-konteiner edukalt lõpetab (sõltuvalt podi taaskäivitamise poliitikast).
  • Neil on juurdepääs ühisele volume'ile podis, mis võimaldab andmeid edastada peamistele konteineritele.

YAML spetsifikatsioon:

// Näide podi spetsifikatsioonist init-konteineriga
apiVersion: v1
kind: Pod
metadata:
  name: my-pod
spec:
  initContainers: // Init-konteinerite nimekiri
  - name: init-myservice // Init-konteineri nimi
    image: my-init-image // Init-konteineri pilt
    command: ["sh", "-c", "echo 'Initializing...' && sleep 5"] // Käsk täitmiseks
  containers: // Peamised konteinerid
  - name: my-app // Peamise konteineri nimi
    image: my-app-image // Peamise konteineri pilt
    ports:
    - containerPort: 80