Liveness проверяет, нужен ли перезапуск, readiness — можно ли направлять трафик, startup — закончилась ли начальная загрузка. Эти проверки должны иметь разные критерии.
Как мониторить состояние здоровья приложения в Kubernetes с помощью правильного разделения эндпоинтов на liveness-, readiness- и startup-пробы?
Liveness проверяет, нужен ли перезапуск, readiness — можно ли направлять трафик, startup — закончилась ли начальная загрузка. Эти проверки должны иметь разные критерии.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Liveness проверяет, нужен ли перезапуск, readiness — можно ли направлять трафик, startup — закончилась ли начальная загрузка. Эти проверки должны иметь разные критерии.
Падение общей БД обычно не повод перезапускать все процессы через liveness: это может усилить инцидент. Readiness отражает способность конкретного экземпляра обслуживать запросы, а startup даёт время долгой инициализации до запуска других проб.
Эндпоинты делайте быстрыми и без тяжёлых побочных действий. Подберите timeout и failure threshold по измерениям. Корректные пробы дополняют graceful shutdown и мониторинг, но не заменяют проверку бизнес-функций.
Источник: kubernetes.io.