Выбор ответа 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 контейнера.
Варианты ответа
- Приложение само вызвало
exit(137)после необработанного исключения - Контейнер превысил
limits.memory, и ядро убило его SIGKILL (128 + 9)правильный ответ - kubelet не смог скачать образ и завершил контейнер с кодом 137
- Контейнер корректно остановлен по SIGTERM при плановом обновлении
Разбор
Код 137 это 128 + 9, процесс убит SIGKILL, а Reason OOMKilled уточняет, что это OOM killer cgroup контейнера. Дальше нужно понять, утечка это или лимит мал. Корректная остановка по SIGTERM дала бы 143, проблемы образа выглядят как ImagePullBackOff и до запуска процесса не доходят.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.