HaProxy Ingress Controller - как происходит добавление модуля?

В кластере Kubernetes при использовании HaProxy в качестве контроллера входящего трафика. Как HaProxy добавит новый модуль, если старый модуль умер.

Может ли он убедиться, что модуль готов принимать трафик.

Сейчас я использую зонд готовности и зонд живучести. Я знаю, что приказ в Kubernetes использовать новый модуль будет следующим: первый тест живучести -> тест готовности -> 6/6 -> модуль готов.

Так будет ли он использовать тот же механизм Kubernetes с HaProxy Ingress Controller?

1 ответ

Короткий ответ: да, это так!

Из документации:

Самая сложная часть - это синхронизация статуса модулей, поскольку среда очень динамична и модули могут быть созданы или уничтожены в любое время. Контроллер передает эти изменения непосредственно в HAProxy через API HAProxy Data Plane, который при необходимости перезагружает HAProxy.

Вход HAProxy не заботится о работоспособности модуля, он отвечает за получение внешнего трафика и пересылку для правильных сервисов Kubernetes.

Kubelet использует живучесть и зонды, чтобы знать, когда перезапускать контейнер, это означает, что вы должны определить живучесть, готовность в определении пода.
Дополнительные сведения о зондах контейнера см. В документации по жизненному циклу модуля.

Кубелет использует зонды готовности, чтобы узнать, когда Контейнер готов начать принимать трафик. Под считается готовым, когда готовы все его контейнеры. Один из способов использования этого сигнала - контролировать, какие модули используются в качестве серверных модулей для Сервисов. Когда Pod не готов, он удаляется из балансировщиков нагрузки службы.

Другие вопросы по тегам