Liveness выбирают для неисправности, которую устраняет перезапуск. Readiness позволяет временно исключить экземпляр из обычного трафика Service, сохранив работающий процесс.
Почему это важно
Перезапуск помогает при локальном зависании, но не чинит общую базу данных или сеть. Если связать liveness со внешним отказом, все экземпляры могут начать перезапускаться одновременно. Заказчику нужны проверенные условия восстановления, а не максимальное число проверок.
Что подтверждено
После заданного числа последовательных неудач liveness kubelet завершает проверяемый контейнер. Дальнейший запуск зависит от его политики перезапуска; проверка не означает удаление всего Deployment.
Граница применимости: Действие liveness и failureThreshold в Kubernetes.
Перезапуск устраняет только те неисправности, которые исчезают у нового экземпляра процесса. Отказ общей базы данных, сети или повреждение внешних данных сами по себе от перезапуска контейнера не проходят.
Граница применимости: Выбор действия liveness и границы жизненного цикла контейнера.
Слишком строгая liveness под нагрузкой может перезапускать работоспособные, но медленные экземпляры. Оставшиеся получают больше запросов и тоже начинают отказывать. До увеличения числа серверов проверьте таймаут и смысл самой пробы.
Граница применимости: Каскад отказов из-за ошибочной liveness-проверки Kubernetes; приложение замедлено, но не зависло.
Если задана startup-проверка, liveness не выполняется до её первого успеха. Это позволяет отдельно дать время долгому запуску и быстро обнаруживать зависание после него.
Граница применимости: Совместная работа startup и liveness в Kubernetes.
Одна неудачная проверка не обязана приводить к завершению: это определяет failureThreshold. Интервал проверок и timeoutSeconds задают другие параметры и должны соответствовать времени ответа исправного процесса.
Граница применимости: Настройка последовательных неудач и таймаута liveness в Kubernetes.
Успех liveness показывает лишь выполнение выбранной проверки. Он не означает готовность принимать пользовательский трафик или успешное завершение всей операции приложения.
Граница применимости: Разделение liveness, readiness и сквозной проверки приложения.
Не путать
Liveness ищет состояние, требующее перезапуска во время работы. Startup защищает штатный долгий запуск от преждевременной проверки liveness, сохраняя ограниченный срок ожидания.
Что проверить
- Назовите неисправность, которую должен устранить новый экземпляр процесса.
- Проверьте, не зависит ли проба от общей базы данных или внешней сети без необходимости.
- Измерьте время ответа исправной пробы при пиковой нагрузке.
- Настройте число последовательных неудач, интервал и таймаут отдельно.
- Для долгого запуска используйте startup-проверку с ограниченным бюджетом.
- Испытайте локальное зависание и отказ общей зависимости как два разных сценария.
- Проверьте журналы завершения и политику повторного запуска контейнера.
Первоисточники
Liveness, Readiness, and Startup Probes
Kubernetes · Kubernetes current documentation
Разделяет проверки готовности, работоспособности и запуска. Объясняет их действия и риск каскадного отказа при неверной настройке.
Открыть первоисточникConfigure Liveness, Readiness and Startup Probes
Kubernetes · документация Kubernetes v1.37, страница открыта 6 сентября 2026 года
Открыт редактором 6 сентября 2026 года, заголовок и версия документа сверены. Пороги последовательных неудач, интервалы, таймауты и расчёт бюджета запуска.
Открыть первоисточникPod Lifecycle
Kubernetes · Kubernetes current documentation
Описывает назначение узла, состояния Pod и контейнеров, перезапуски контейнеров и создание нового Pod с другим UID взамен прежнего.
Открыть первоисточник