Контейнеры и оркестрация · проверено по источникам

Проверка работоспособности Kubernetes

Проверка работоспособности, или liveness probe, обнаруживает состояние контейнера, для исправления которого нужен перезапуск. После заданного числа последовательных неудач kubelet завершает контейнер; дальнейший запуск определяется его политикой перезапуска.

Также ищут: Kubernetes liveness · проба жизнеспособности · restart health check · Liveness probe

Практический смысл

Почему это важно

Перезапуск помогает при локальном зависании, но не чинит общую базу данных или сеть. Если связать liveness со внешним отказом, все экземпляры могут начать перезапускаться одновременно. Заказчику нужны проверенные условия восстановления, а не максимальное число проверок.

Доказательная часть

Что подтверждено

  1. После заданного числа последовательных неудач liveness kubelet завершает проверяемый контейнер. Дальнейший запуск зависит от его политики перезапуска; проверка не означает удаление всего Deployment.

    Граница применимости: Действие liveness и failureThreshold в Kubernetes.

  2. Перезапуск устраняет только те неисправности, которые исчезают у нового экземпляра процесса. Отказ общей базы данных, сети или повреждение внешних данных сами по себе от перезапуска контейнера не проходят.

    Граница применимости: Выбор действия liveness и границы жизненного цикла контейнера.

  3. Слишком строгая liveness под нагрузкой может перезапускать работоспособные, но медленные экземпляры. Оставшиеся получают больше запросов и тоже начинают отказывать. До увеличения числа серверов проверьте таймаут и смысл самой пробы.

    Граница применимости: Каскад отказов из-за ошибочной liveness-проверки Kubernetes; приложение замедлено, но не зависло.

  4. Если задана startup-проверка, liveness не выполняется до её первого успеха. Это позволяет отдельно дать время долгому запуску и быстро обнаруживать зависание после него.

    Граница применимости: Совместная работа startup и liveness в Kubernetes.

  5. Одна неудачная проверка не обязана приводить к завершению: это определяет failureThreshold. Интервал проверок и timeoutSeconds задают другие параметры и должны соответствовать времени ответа исправного процесса.

    Граница применимости: Настройка последовательных неудач и таймаута liveness в Kubernetes.

  6. Успех liveness показывает лишь выполнение выбранной проверки. Он не означает готовность принимать пользовательский трафик или успешное завершение всей операции приложения.

    Граница применимости: Разделение liveness, readiness и сквозной проверки приложения.

Граница терминов

Не путать

Проверка готовности Kubernetes

Liveness выбирают для неисправности, которую устраняет перезапуск. Readiness позволяет временно исключить экземпляр из обычного трафика Service, сохранив работающий процесс.

Проверка запуска Kubernetes

Liveness ищет состояние, требующее перезапуска во время работы. Startup защищает штатный долгий запуск от преждевременной проверки liveness, сохраняя ограниченный срок ожидания.

Перед спецификацией

Что проверить

  1. Назовите неисправность, которую должен устранить новый экземпляр процесса.
  2. Проверьте, не зависит ли проба от общей базы данных или внешней сети без необходимости.
  3. Измерьте время ответа исправной пробы при пиковой нагрузке.
  4. Настройте число последовательных неудач, интервал и таймаут отдельно.
  5. Для долгого запуска используйте startup-проверку с ограниченным бюджетом.
  6. Испытайте локальное зависание и отказ общей зависимости как два разных сценария.
  7. Проверьте журналы завершения и политику повторного запуска контейнера.
Открытые основания

Первоисточники

  • Официальная документация

    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 взамен прежнего.

    Открыть первоисточник
Сообщить об ошибке

Опишите проблему — постараемся исправить как можно скорее.

Спасибо!

Получили ваше сообщение.
Подтвердите действие