У меня возникли некоторые проблемы при установке Ingress Controller в моем локальном кластере (созданном с помощью Kubespray, с запущенным MetalLB для создания LoadBalancer.).
Я пытался использовать nginx, traefik и kong, но все получилите же результаты.
Я устанавливаю свою таблицу управления nginx, используя следующие значения.yaml:
controller:
kind: DaemonSet
nodeSelector:
node-role.kubernetes.io/master: ""
image:
tag: 0.23.0
rbac:
create: true
С помощью команды:
helm install --name nginx stable/nginx-ingress --values values.yaml --namespace ingress-nginx
Когда я развертываюВо входном контроллере в кластере создается служба (например, nginx-ingress-controller для nginx).Эта служба имеет тип LoadBalancer и получает внешний IP-адрес.
Когда этот внешний IP-адрес назначен, узел, связанный с этим внешним IP-адресом, теряется (состояние «Не готов»).Однако, когда я проверяю этот узел, он все еще работает, он просто отрезан от других узлов, он не может даже пропинговать их (маршрут не найден).Когда я удаляю службу (а не остальную часть таблицы управления nginx), все работает, и Ingress работает.Я также попытался установить nginx / traefik / kong без LoadBalancer, используя NodePorts или внешние IP-адреса службы, но я получаю тот же результат.
Кто-нибудь признает это поведение?Почему вход по-прежнему работает, даже когда я удаляю службу nginx-ingress-controller?