Вопрос на собеседовании · DevOps-инженер
Зачем нужны readiness- и liveness-пробы и чем они отличаются?
Короткий ответ, ключевые тезисы и ошибки, которых стоит избежать на интервью.
Readiness probe отвечает на вопрос, готов ли pod сейчас принимать трафик. При её ошибке pod остаётся запущенным, но исключается из endpoints сервиса. Liveness probe проверяет, способен ли контейнер восстановиться без перезапуска; повторная ошибка приводит к его рестарту.
Для медленно запускающихся приложений используют startup probe: пока она не прошла, liveness и readiness не мешают старту. Проверки должны быть дешёвыми, иметь осмысленные таймауты и отражать разные цели, а не просто дублировать один тяжёлый endpoint.
01 · Структура ответа
Что важно сказать интервьюеру
Начните с определения, затем объясните механизм и закончите примером из практики. Для полного ответа раскройте эти тезисы:
02 · Пример
Как объяснить на практике
Если приложение временно потеряло соединение с обязательной БД, readiness может убрать pod из балансировки. Liveness не должна автоматически падать при каждом кратком сбое БД, иначе все реплики могут одновременно уйти в цикл рестартов.
Не заучивайте формулировку дословно. Свяжите принцип с задачей из собственного проекта — интервьюер почти наверняка попросит уточнить детали реализации и компромиссы.
03 · Ошибки
Чего избегать в ответе
04 · Углубление
Что могут спросить следом
- Когда нужна startup probe?
- Что происходит с трафиком при ошибке readiness?
- Какие зависимости включать в health-check?
Практика ответа
Ответьте вслух, а не про себя
Откроем тренировку сразу на этом вопросе. Выберите грейд, сформулируйте ответ и сравните его с опорой.
Mira