Выбор ответа Junior Отладка в кластере спрашивают часто обновлено

Exit Code 137

Вопрос

В kubectl describe pod у контейнера Last State: Terminated, Reason: OOMKilled, Exit Code: 137. Что произошло?

Попробуйте сами

Выберите вариант, и откроется разбор.

Показать ответ и разбор

Коротко

Правильный ответ: Контейнер превысил limits.memory, и ядро убило его SIGKILL (128 + 9). Код 137 это 128 + 9, процесс убит SIGKILL, а Reason OOMKilled уточняет, что это OOM killer cgroup контейнера.

Варианты ответа

  1. Приложение само вызвало exit(137) после необработанного исключения
  2. Контейнер превысил limits.memory, и ядро убило его SIGKILL (128 + 9)правильный ответ
  3. kubelet не смог скачать образ и завершил контейнер с кодом 137
  4. Контейнер корректно остановлен по SIGTERM при плановом обновлении

Разбор

Код 137 это 128 + 9, процесс убит SIGKILL, а Reason OOMKilled уточняет, что это OOM killer cgroup контейнера. Дальше нужно понять, утечка это или лимит мал. Корректная остановка по SIGTERM дала бы 143, проблемы образа выглядят как ImagePullBackOff и до запуска процесса не доходят.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.