#kubernetes-ingress #nginx-ingress #azure-aks
#kubernetes-ingress #nginx-ingress #azure-aks
Вопрос:
В AKS у нас есть требование установить два контроллера nginx внутри одного пространства имен Kubernetes. На самом деле, нам нужно назначить каждому контроллеру выделенный IP и DNS-адрес. Вызывает ли это какой-либо конфликт между контроллерами? Есть ли какие-либо рекомендации относительно наличия нескольких контроллеров nginx в пространстве имен?
Ответ №1:
На ваш вопрос можно ответить с помощью официальной документации.
При запуске контроллера NGINX Ingress у вас есть следующие параметры в отношении того, какие ресурсы конфигурации он обрабатывает:
- Входной контроллер для всего кластера (по умолчанию). Входной контроллер обрабатывает ресурсы конфигурации, созданные в любом пространстве имен кластера. Поскольку NGINX — это высокопроизводительный балансировщик нагрузки, способный обслуживать множество приложений одновременно, этот параметр используется по умолчанию в наших установочных манифестах и рулевой таблице.
- Входной контроллер с одним пространством имен. Вы можете настроить входной контроллер для обработки ресурсов конфигурации только из определенного пространства имен, которое управляется с помощью аргумента
-watch-namespace
командной строки. Это может быть полезно, если вы хотите использовать разные входные контроллеры NGINX для разных приложений, как с точки зрения изоляции, так и / или работы.- Входной контроллер для определенного входного класса. Этот параметр работает в сочетании с любым из вышеперечисленных параметров. Вы можете дополнительно настроить, какие ресурсы конфигурации обрабатываются контроллером входа, настроив класс контроллера входа и используя этот класс в своих ресурсах конфигурации. См. Раздел Настройка класса Ingress .
Вы можете развернуть любое количество входных контроллеров в кластере. Когда вы создаете вход, вы должны аннотировать каждый вход соответствующим ingress.class
, чтобы указать, какой контроллер входа следует использовать, если в вашем кластере существует более одного.
Основная идея заключается в том, что несколько входных контроллеров могут сосуществовать и отключать ingress.class
аннотацию.
Комментарии:
1. @EhsanMirsaeedi Кому-нибудь из вас удалось заставить это работать?
2. @EhsanMirsaeedi, пожалуйста, сообщите нам о своем подходе. Заранее спасибо!