Sobes.tech
Middle

Kas yra init konteineris Kubernetes?

sobes.tech AI

Atsakymas iš AI

Specialus konteineris pod'e, kuris užbaigia savo darbą prieš pradedant pagrindinius pod'o konteinerius.

Jo tikslas:

  • Aplinkos paruošimas prieš pradedant pagrindinę programą.
  • Konfigūracijų ar skriptų įkėlimas.
  • Laukti, kol išorinės paslaugos (duomenų bazės, API) bus paruoštos.
  • Failų sistemos ar prieigos teisių nustatymas.

Pagrindinės savybės:

  • Vykdomi nurodyta tvarka pagal pod'o specifikaciją.
  • Kiekvienas init-konteineris turi sėkmingai užbaigti, prieš pradedant kitą ar pagrindinius konteinerius.
  • Jei init-konteineris nepavyksta, Kubernetes perkrauna pod'ą, kol jis sėkmingai neužbaigs (pagal pod'o perkrovimo politiką).
  • Turi prieigą prie bendro volume pod'e, leidžiant perduoti duomenis pagrindiniams konteineriams.

YAML specifikacija:

// Pavyzdys pod'o su init-konteineriu
apiVersion: v1
kind: Pod
metadata:
  name: my-pod
spec:
  initContainers: // Init-konteinerių sąrašas
  - name: init-myservice // Init-konteinerio pavadinimas
    image: my-init-image // Init-konteinerio vaizdas
    command: ["sh", "-c", "echo 'Initializing...' && sleep 5"] // Vykdoma komanda
  containers: // Pagrindinių konteinerių sąrašas
  - name: my-app // Pagrindinio konteinerio pavadinimas
    image: my-app-image // Pagrindinio konteinerio vaizdas
    ports:
    - containerPort: 80