Sobes.tech
Middle

Kubernetes'te init-контейнер эмне?

sobes.tech AI

AIден жооп

Поддун ичинде өз ишин аяктагандан кийин, негизги контейнерлер ишке киришкенге чейин иштейт.

Анын максаты:

  • Чөйрөнү негизги колдонмонун ишке киришине даярдоо.
  • Конфигурациялар же скрипттерди жүктөө.
  • Тышкы кызматтар (базалар, API) даярдыгын күтүү.
  • Файл системасын же уруксаттарды орнотуу.

Негизги өзгөчөлүктөрү:

  • Подтун спецификациясында көрсөтүлгөн тартипте ишке ашат.
  • Ар бир init-контейнер ийгиликтүү аяктагандан кийин гана кийинкиси башталат же негизги контейнерлер ишке кирет.
  • Эгер init-контейнер каталар менен аякса, Kubernetes подту кайра жүктөйт, ал эми init-контейнер ийгиликтүү аяктагандан кийин гана (поддун кайра жүктөө саясатына ылайык).
  • Алар жалпы volumeге кирүү мүмкүнчүлүгүнө ээ, бул негизги контейнерлерге маалыматтарды өткөрүүгө мүмкүндүк берет.

YAML спецификациясы:

// Init-контейнер менен подтун мисалы
apiVersion: v1
kind: Pod
metadata:
  name: my-pod
spec:
  initContainers: // Init-контейнерлердин тизмеси
  - name: init-myservice // Init-контейнердин аты
    image: my-init-image // Init-контейнердин сүрөтү
    command: ["sh", "-c", "echo 'Initializing...' && sleep 5"] // Ишке ашырылчу команда
  containers: // Негизги контейнерлердин тизмеси
  - name: my-app // Негизги контейнердин аты
    image: my-app-image // Негизги контейнердин сүрөтү
    ports:
    - containerPort: 80