Рейтинг:0

AKS Multiple Nginx Ingress с внутренним LB

флаг jp

Azure Kubernetes — AKS — версия K8s — 1.20.9.

Попытка настроить несколько входов nginx с помощью Internal LB.

входной контроллер с входным классом -

helm установить test1 ingress-nginx/ingress-nginx \
    --set controller.replicaCount=1 \
     --set controller.nodeSelector."beta\.kubernetes\.io/os"=linux \
     --set defaultBackend.nodeSelector."beta\.kubernetes\.io/os"=linux \
     --set controller.ingressClassResource.name=test1 \
     --set controller.service.annotations."service\.beta\.kubernetes\.io/azure-load-balancer-internal"=true

после установки сервисов LB и класса Ingress созданы.

оказание услуг -

test1-вход-nginx-контроллер LoadBalancer 10.0.52.125 10.240.0.4 80:32472/TCP, 443:30586/TCP 4h9m
test1-ingress-nginx-controller-admission ClusterIP 10.0.32.211 <нет> 443/TCP 4h9m

IngressClass -

НАИМЕНОВАНИЕ ПАРАМЕТРЫ КОНТРОЛЛЕРА ВОЗРАСТ
test1 k8s.io/test1 <нет> 155 м

Входной файл

apiVersion: расширения/v1beta1
вид: Вход
метаданные:
  имя: привет-мир-вход-мой-внешний
  аннотации:
    nginx.ingress.kubernetes.io/ssl-redirect: «ложь»
    nginx.ingress.kubernetes.io/rewrite-target:/
спецификация:
  ingressClassName: test1
  правила:
   - хост: test1.com
     http:
      пути:
      - бэкэнд:
          serviceName: акс-helloworld
          сервисПорт: 80
        путь: /приложение(.*)
      - бэкэнд:
          serviceName: вход-демо
          сервисПорт: 80
        путь: /hello-world-two(/|$)(.*)

Ингресс-2

apiVersion: расширения/v1beta1
вид: Вход
метаданные:
  имя: привет-мир-вход-мой-внешний
  аннотации:
    nginx.ingress.kubernetes.io/ssl-redirect: «ложь»
    nginx.ingress.kubernetes.io/rewrite-target:/
спецификация:
  ingressClassName: test2
  правила:
   - хост: test2.com
     http:
      пути:
      - бэкэнд:
          serviceName: привет мир
          сервисПорт: 80
        путь: /приложение(.*)
      - бэкэнд:
          имя_сервиса: демо
          сервисПорт: 80
        путь: /привет(/|$)(.*)

после создания ingress показывается только первый ip

НАЗВАНИЕ КЛАСС ХОСТИ АДРЕС ПОРТЫ ВОЗРАСТ
внешний вход test1 test4.com 10.0.240.6 80 67 м
привет-мир-вход-мой-внешний test2 test3.com 10.0.240.6 80 104

Трафик не обновляется на основе IngressClass. пожалуйста, помогите, почему один и тот же ip для всех входов? также как можно обслуживать трафик на основе класса входа?

Заранее спасибо.

ОБНОВИТЬ - Я могу управлять трафиком с множественным входом после обновления

--set controller.ingressClass=тест \
 --set controller.ingressClassResource.name=test --set controller.ingressClassResource.controllerValue="k8s.io/test-controller"

последняя команда штурвала

helm install test1 ingress-nginx/ingress-nginx --set controller.ingressClass=test1 --set controller.ingressClassResource.name=test1 --set controller.ingressClassResource.controllerValue="k8s.io/test1-controller" \ 
--set controller.service.annotations."service\.beta\.kubernetes\.io/azure-load-balancer-internal"=true

Все еще Ingress не показывает ip

НАЗВАНИЕ КЛАСС ХОСТИ АДРЕС ПОРТЫ ВОЗРАСТ
внешний вход test1 test3.com 80 19 м
привет-мир-вход-мой-внешний test2 test1.com 80 33м
c4f4t0r avatar
флаг nl
Вы установили второй входной контроллер с именем класса test2?
sanjayparmar avatar
флаг jp
да, установить второй входной класс test2
c4f4t0r avatar
флаг nl
Из вашей команды я не вижу установку второго входного контроллера с помощью helm
sanjayparmar avatar
флаг jp
я использовал команду ниже. используйте имя test 1 и test 2. Теперь проблема только в том, что Ingress не показывает ip `helm install test2 ingress-nginx/ingress-nginx --set controller.ingressClass=test1 --set controller.ingressClassResource.name=test2 --set controller.ingressClassResource.controllerValue="k8s.io/test2-controller" \ --set controller.service.annotations."service\.beta\.kubernetes\.io/azure-load-balancer-internal"=true`
c4f4t0r avatar
флаг nl
не могли бы вы проверить сервис второго входного контроллера? kubectl получить svc
sanjayparmar avatar
флаг jp
да проверил. Статус модулей и служб исправен. Единственная проблема заключается в том, что IP-адрес не назначается для входа (показывая первый входной IP-адрес для всех остальных входов)

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.