Обновление 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