Получить доступ

Под в состоянии CrashLoopBackOff. Как найти причину?

MiddleKubernetes
Ещё спрашивают так:
  • Под в статусе Pending или ImagePullBackOff — что делать?
  • Как отлаживать под в Kubernetes?
Коротко

CrashLoopBackOff — контейнер запускается и падает, kubelet перезапускает его с растущей паузой (до 5 минут). Порядок: kubectl describe pod (события, Last State, код выхода, причина) → kubectl logs --previous (лог упавшего экземпляра) → по коду выхода: 137 — OOMKilled или убит пробой, 1 — ошибка приложения, 127 — команда не найдена.

  • Частые причины: нет переменной или секрета, недоступна БД при старте, неверная команда, OOM, liveness убивает до старта
  • Pending — не помещается на узлы (requests), нет PVC, taints; ImagePullBackOff — неверный образ или нет доступа к реестру
  • kubectl get events --sort-by=.lastTimestamp — что происходило в namespace

А ещё kubectl debug — временный контейнер с инструментами рядом с упавшим

Так подсказку видит пользователь sotto на живом собеседовании — за пару секунд, пока вы думаете вслух.

Подробно

Последовательность:

kubectl get pod orders-7d9f -o wide
kubectl describe pod orders-7d9f          # Events, Last State, Exit Code
kubectl logs orders-7d9f --previous       # лог прошлого запуска
kubectl get events --sort-by=.lastTimestamp
kubectl debug -it orders-7d9f --image=busybox --target=app

Коды выхода:

кодсмысл
0процесс завершился без ошибки — для сервиса это тоже сбой: команда отработала и вышла
1ошибка приложения: смотреть лог
126/127нельзя выполнить / команда не найдена
137SIGKILL: OOMKilled или liveness
143SIGTERM

Другие статусы:

  • Pending — describe покажет «Insufficient memory», «didn't match node selector», «unbound PVC»;
  • ImagePullBackOff — опечатка в теге, приватный реестр без imagePullSecrets, лимиты реестра;
  • CreateContainerConfigError — отсутствует ConfigMap или Secret.

Если лог пуст, приложение падает до инициализации логирования — запустить образ локально с теми же переменными.

Что хотят услышать

  • Последовательность команд диагностики.
  • Чтение кодов выхода.
  • Причины Pending, ImagePullBackOff и прочих статусов.

Связанные вопросы

Закрытая бета

Подсказки на собеседовании — в реальном времени

sotto слышит вопрос интервьюера и показывает короткий ответ и план, как в блоке «Коротко». Оставьте контакт — пришлём доступ и промокод.

  • Промокод на 2 часа — сверх пробных 30 минут
  • Программа для Windows — скачать сразу, войти — через Яндекс ID или VK ID
  • Прямая связь с разработчиком: что улучшить — сделаем