advanced
Readiness / liveness probes
Readiness управляет допуском трафика; liveness восстанавливает зависшие или безвозвратно сломанные процессы.
Readiness probes управляют допуском трафика. Liveness probes решают, нужен ли restart контейнера в Kubernetes. Это разные задачи — не дублируйте endpoint бездумно.
readinessProbe:
httpGet:
path: /health/ready
port: 3000
periodSeconds: 5
failureThreshold: 3
livenessProbe:
httpGet:
path: /health/live
port: 3000
initialDelaySeconds: 30
periodSeconds: 10
При graceful shutdown readiness должен падать первым, чтобы LB перестал слать трафик, пока drain in-flight работы.
На интервью: медленный старт, падение БД, deadlock, warm cache, graceful shutdown и настройка `initialDelaySeconds`.
Типовые ошибки: агрессивный liveness рестартит медленные, но здоровые сервисы; readiness без учёта зависимостей ведёт на сломанные инстансы.
Компромисс — быстрое обнаружение сбоя против шторма рестартов при частичных авариях.
Чеклист:
- Readiness — gate для трафика.
- Liveness — только для зависших процессов.
- Задержки и пороги под старт приложения.
- Readiness false до termination.