Главная / Справочник ошибок / Контейнеры и Kubernetes
Контейнер падает при каждом запуске
CrashLoopBackOff: Back-off restarting failed container
CrashLoopBackOff, Back-off restarting failed container: под Directum RX запускается, падает и перезапускается по кругу. Как достать причину из предыдущего запуска.
Что это значит
Контейнер стартует и завершается с ошибкой, Kubernetes перезапускает его с растущей паузой до пяти минут. Само состояние причину не называет: она в логе предыдущего запуска или в коде выхода.
Для сервисов RX частые причины: недоступна база или брокер, неверная настройка или секрет, не проходит проверка готовности, не хватает памяти (код 137).
Как проверить
kubectl logs <под> --previous --tail=100
kubectl describe pod <под> | grep -A8 "Last State"
kubectl get events --sort-by=.lastTimestamp | tail -20
Ключ --previous важен: текущий контейнер мог ещё ничего не написать. В Last State смотрите Reason и Exit Code.
Что сделать
- Код 137 и
OOMKilled: не хватает памяти, см. статью про OOMKilled. - В логе ошибка подключения к базе или брокеру: сначала чинить их. Когда падают сразу все сервисы, причина почти всегда в общей зависимости.
- Контейнер убит проверкой (
Liveness probe failed): сервис стартует дольше, чем ждёт проверка. УвеличитьinitialDelaySecondsили добавитьstartupProbe. - Ошибка в настройках: сравнить с рабочим стендом, проверить секреты и переменные окружения.