Readiness и liveness: разные вопросы к приложению

Проверки готовности, жизнеспособности и запуска решают разные задачи.

Иллюстрация к теме, а не фотография описанного события. Victorgrigas · CC BY-SA 3.0. Размер изменён; при показе возможно кадрирование.

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

Если проверка готовности зависит от внешнего сервиса, его отказ может убрать приложение из маршрутизации. Но использовать тот же сигнал для перезапуска стоит осмысленно: перезапуск не обязательно исправляет внешнюю зависимость. Хорошая проверка отвечает на конкретный вопрос и имеет пороги, согласованные с реальными задержками приложения.

Источники

  1. Официальная документация — Readiness и liveness: разные вопросы к приложениюkubernetes.io