Health-check сервисов в K8s
ЗАКРОМА.Хранение предоставляет три системных эндпоинта для проверки статуса сервиса.
/healthz
Проверяет только факт работы процесса.
- Всегда возвращает 200 OK
- Не учитывается в метриках
- Не записывается в аудит
/readyz
Эндпоинт возвращает общую готовность сервиса и его зависимостей.
Основные зависимости:
core: завершение миграциb БД + проверка статуса БД PostgreSQLworker: завершение миграций БД + проверка статуса БД PostgreSQL + доступность сервисаcorecomposer: инициализация сервисаcomposer+ ожидание доступности сервисаcorecdn: Инициализация сервисаcdn+ проверка статуса сервисаcore+ проверка доступности брокеров Kafkagateway: Завершение миграции БД + проверка статуса БД PostgreSQL + доступность сервисаcomposerseclog/notification: завершение миграции БД + проверка статуса БД PostgreSQL + проверка доступности брокеров Kafka
При нарушении одного из условий, сервис будет “отдавать” статус 503(Service Unavailable)
/readynode
Проверяет готовность всей ноды.
Условия:
composerдолжен получать ready от сервисаcoreи хотя бы одногоworkergatewayдолжен получать ready** от сервисаcomposer` и БД
При нарушении одного из условий, сервис будет “отдавать” статус 503(Service Unavailable)
Описание параметров readinessProbe в Kubernetes
По умолчанию ЗАКРОМА проверяют состояние доступности сервиса со следющими параметрами:
1readinessProbe: periodSeconds: 10 failureThreshold: 7
Исключения
Обращения к /healthz, /readyz, /readynode не пишутся в аудит лог.