Альтернатива Консульской службе TTL проверки здоровья в Куберне - PullRequest
0 голосов
/ 24 апреля 2020

Консул имеет проверку работоспособности TTL, статус которой должен периодически обновляться через интерфейс HTTP. От akka. net microservices мы выполняли запрос GET к зарегистрированным конечным точкам Консульской службы, чтобы сбросить таймер TTL и остаться на панели мониторинга Консульской службы.

Есть ли у Kubernetes что-то подобное? Не тест живучести / готовности, который выполняет запросы к pod_ip:port, а ожидание запроса от работающего приложения. Например, мы хотим отслеживать не только приложение AKKA, работающее на каком-либо порту, но и следить за тем, чтобы каждый актер в системе акторов работал.

Спасибо!

1 Ответ

1 голос
/ 25 апреля 2020

Kubernetes хочет проверить приложение (с помощью тестов живучести и готовности), в то время как приложение хочет отправить свои тактовые импульсы TTL, чтобы сигнализировать о жизнеспособности, скажем, агенту консула.

Один из способов согласовать проверку здоровья стратегии могут быть специальным сервером проверки работоспособности коляски , работающим внутри модуля приложения. Такой сервер-коляска будет располагаться между приложением и кубелетом и будет обрабатывать тактовые импульсы приложения, чтобы обновить его внутреннее состояние, отмечая, если приложение все еще живо. Пока это так, он отвечал бы с 200 OK на HTTP-зонды Kubernetes . В противном случае он отправит Kubernetes код за пределами диапазона 200-300, чтобы указать, что приложение не работает.

Сам агент Consul может служить частью такого сервера проверки работоспособности коляски. Его API проверки работоспособности HTTP возвращает статус TTL-активности приложения как JSON объект. Все, что нужно сделать, - это перевести статус в соответствующий код возврата HTTP. Но использование агента Консул совершенно необязательно: коляска может, конечно, обрабатывать биения сердца TTL.

...