>_ IzzyLab

Практическое задание

k8s: initContainer

средне

В /root/pod.yaml лежит Pod web с основным контейнером nginx. Доработай его: добавь init-контейнер init (образ busybox), который отрабатывает до старта основного.

Что потренируешь:
  • kubernetes
  • init-контейнеры
  • pod
  • yq
  • жизненный цикл пода

Разбор темы

Init-контейнеры — это контейнеры, которые отрабатывают ПОСЛЕДОВАТЕЛЬНО и полностью ДО старта основных: их задача — подготовка (дождаться зависимости, скачать данные, накатить миграцию). Каждый должен успешно завершиться с нулевым кодом, иначе под перезапускает init заново и не пускает основные контейнеры. В манифесте они живут в отдельном списке spec.initContainers, соседнем с spec.containers, а не внутри него. Основной контейнер при этом остаётся нетронутым.

Что проверяется

  1. манифест валиден (kubeconform)
  2. есть initContainer init
  3. основной контейнер web

Как это выглядит