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.