Обновление Kubernetes v1.24.3 сломало входной nginx

После обновления нашего кластера AKS Kubernetes с версии 1.23.8 до версии 1.24.3 наш вход перестал работать должным образом. В событиях не зарегистрировано ошибок, а модуль ingress-nginx не сообщает об ошибках на консоли. Внутри кластера все выглядит нормально , но все порты для общедоступного IP-адреса закрыты извне.

Даже скручивание веб-приложений, работающих в кластере, изнутри кластера работает нормально. Такое впечатление, что просто открытие портов снаружи сломано. Ingress-nginx развертывается через выпуск Helm (HR v4.2.5).

У меня такое ощущение, что это должна быть какая-то конфигурация входа или контроллера, которую необходимо изменить.

ОБНОВЛЕНИЕ: мы выполнили новую установку простого кластера AKS и сделалиhelm install quickstart ingress-nginx/ingress-nginxв 1.23.8 (которая работает), 1.24.0 (которая не работает) и в 1.24.3 (которая тоже не работает).

Есть идеи или указатели?

1 ответ

Мы нашли проблему.

Для кластеров версии 1.24.0 и более поздних версий для проверки работоспособности балансировщика нагрузки заданы значения HTTP и HTTPS вместо TCP. Когда мы изменили проверки работоспособности на использование TCP, все снова заработало.

Создана проблема для AKS:https://github.com/Azure/AKS/issues/3210.

Правильным решением было добавить в службу nginx следующую аннотацию (см. ссылку на проблему AKS выше):

      values:
controller:
  service: 
    annotations:
      service.beta.kubernetes.io/azure-load-balancer-health-probe-request-path: /healthz
Другие вопросы по тегам