Nginx-Ingress controller не работает после обновления Kubernetes до 1.24+ в Azure AKS

Nginx-Ingress controller не работает после обновления Kubernetes до 1.25 в Azure AKS

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

Последнее обновление до Kubernetes 1.24+ прошло не совсем гладко - поломался Nginx-ingress контроллер, и все приложения перестали работать.

Симптомы такие, что при обращении к приложению я получаю тайм-аут, а в логах контроллера я видел примерно вот такое:

Service 'XXX' does not have any active Endpoint.

Решение

Проблема заключалась в том, что Azure AKS как-то некоректно обновляет свой балансировщик (Kubernetes 1.24 начал использовать HTTP/S хелс-чеки вместо TCP). Надо еще раз передеплоить контроллер с дополнительной аннотацией:

service.beta.kubernetes.io/azure-load-balancer-health-probe-request-path: /healthz

Судя по всему, редеплой измененной конфигурации заставляет AKS перепроверить настройку своего балансировщика. Вот как было до:

Nginx-Ingress controller не работает после обновления Kubernetes до 1.25 в Azure AKS

А вот как стало после (обратите внимание на колонку Path):

Nginx-Ingress controller не работает после обновления Kubernetes до 1.25 в Azure AKS

azure (ru), kubernetes (ru), aks (ru)

  • Просмотров: 447
Добавить комментарий

Related Articles