Что это значит

Проверка типа exec запускает команду внутри контейнера и ждёт её завершения не дольше timeoutSeconds. По умолчанию это одна секунда. Многие команды проверки, например диагностические утилиты брокеров и баз, на нагруженном узле работают дольше, и проверка считается проваленной, хотя приложение работает. Проваленная проверка жизни перезапускает контейнер, проверка готовности убирает под из балансировки.

Похожее событие probe errored: rpc error ... container is in CONTAINER_EXITED state значит, что контейнер уже завершился, и запустить в нём команду нельзя: это следствие падения, а не причина.

Как проверить

kubectl get pod <под> -n <namespace> -o yaml | grep -A10 -E "livenessProbe|readinessProbe"
time kubectl exec <под> -n <namespace> -- <команда проверки>

Вторая команда покажет, сколько проверка выполняется на самом деле.

Что сделать

  1. Поднять timeoutSeconds с запасом относительно реального времени команды.
  2. Заменить тяжёлую команду лёгкой: проверка порта или HTTP-адреса здоровья вместо полной диагностики.
  3. Проверку жизни делать проще и терпимее проверки готовности: ложный перезапуск под нагрузкой только усиливает аварию.