Зонды готовности и быстродействия для приложений с зависимостями (DB, Celery, RabbitMQ)

Представьте, что есть приложение Django. Зависимости приложения: DB, Celery (workers, beat), RabbitMQ (как брокер для Celery). Если с liveness probe все более-менее понятно (если liveness probe не прошел, то перезапускается pod), то с readiness probe полного понимания нет. Пишут, что readiness probes определяет готовность контейнера к приему трафика. В связи с этим возникают следующие вопросы:

  1. Для описанной выше конфигурации приложения (с зависимостями), как будет выглядеть зонд готовности? Будет ли это конечная точка, которая проверяет доступность к базе данных, RabbitMQ, здоровье рабочих Celery?
  2. Если тест готовности будет сложным (проверка доступности базы данных, RabbitMQ, Celery workers), то что будет делать Kubernetes, если, например, RabbitMQ станет недоступным? Поскольку все контейнеры работают с одним и тем же RabbitMQ, нет смысла переключать трафик на другой pod.
  3. .
Вернуться на верх