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

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

Проверка готовности, или readiness probe, определяет, способен ли контейнер принимать запросы сейчас. Неудача меняет его готовность и может вывести Pod из обычного трафика Service. Сам по себе этот результат не перезапускает контейнер.

Также ищут: Kubernetes readiness · проба готовности · traffic readiness check · Readiness probe

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

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

Перегруженное приложение или экземпляр, ещё не загрузивший данные, не всегда нужно перезапускать. Иногда достаточно временно перестать направлять к нему запросы. Но проверка необязательной общей зависимости может одновременно исключить все копии сервиса — такую логику нужно испытать до выпуска.

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

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

  1. После настроенного числа последовательных неудач readiness контейнер становится неготовым. Это отражается на готовности Pod и его участии в обычном трафике подходящих Service; адрес может оставаться в EndpointSlice с изменённым условием.

    Граница применимости: Обычный Service без publishNotReadyAddresses; уже открытые соединения требуют отдельной проверки завершения.

  2. Неудачная readiness-проверка сама по себе не перезапускает контейнер. Проверка liveness предназначена для ситуации, когда нужно завершить неисправный экземпляр и применить политику перезапуска.

    Граница применимости: Различие действий readiness и liveness в Kubernetes.

  3. Проверка необязательной общей зависимости может одновременно сделать неготовыми все копии сервиса. Их процессы продолжат работать, но обычный Service перестанет выбирать их для трафика. Проверяйте, действительно ли без этой зависимости приложение не может отвечать.

    Граница применимости: Проектирование readiness для обычного Service; зависимость не нужна для всех обслуживаемых операций.

  4. Интервал проверки, таймаут и число последовательных неудач задают разные условия. Короткий таймаут под нагрузкой может принять медленный ответ за неготовность, даже если процесс не завис.

    Граница применимости: Настройки readiness-проверки Kubernetes.

  5. Если readiness-проверка не задана, Kubernetes не выполняет проверку приложения за вас. Переход Pod в готовность по остальным условиям не доказывает завершение прогрева или доступность нужной операции.

    Граница применимости: Отсутствие readiness probe; остальные условия готовности Pod сохраняют своё действие.

  6. Readiness продолжает выполняться и после неудачи. Когда проверка снова достигает порога успеха, контейнер может вернуться в готовность без перезапуска процесса.

    Граница применимости: Повторные проверки и пороги успеха readiness в Kubernetes; готовность всего Pod зависит также от остальных условий.

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

Не путать

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

Readiness меняет готовность принимать трафик, liveness приводит к завершению контейнера после порога неудач. Перегрузка не равна зависанию: сначала определите, какое действие действительно поможет.

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

Readiness нужна на всём протяжении работы, startup — для ограниченного начального ожидания. Успешный старт не означает, что экземпляр навсегда готов к запросам.

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

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

  1. Определите, какую операцию должен уметь выполнить экземпляр, чтобы получить трафик.
  2. Уберите из проверки зависимости, которые не нужны для этой операции.
  3. Подберите интервал, таймаут и пороги по измерениям под нагрузкой.
  4. Испытайте отказ общей зависимости сразу у всех копий приложения.
  5. Проверьте переход ready в EndpointSlice и настройки publishNotReadyAddresses.
  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 года, заголовок и версия документа сверены. Пороги последовательных неудач, интервалы, таймауты и расчёт бюджета запуска.

    Открыть первоисточник
  • Официальная документация

    EndpointSlices

    Kubernetes · документация Kubernetes v1.37, страница открыта 6 сентября 2026 года

    Открыт редактором 6 сентября 2026 года, заголовок и версия документа сверены. Адреса и условия ready/serving/terminating; несколько срезов одной службы.

    Открыть первоисточник
  • Официальная документация

    Service

    Kubernetes · Kubernetes current documentation

    Описывает сетевой доступ через Service к меняющемуся набору экземпляров приложения и связанные EndpointSlice.

    Открыть первоисточник
  • Официальная документация

    Pod Lifecycle

    Kubernetes · Kubernetes current documentation

    Описывает назначение узла, состояния Pod и контейнеров, перезапуски контейнеров и создание нового Pod с другим UID взамен прежнего.

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

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

Спасибо!

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