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

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

Попытка настроить множественный вход nginx с помощью внутреннего LB.

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

      helm install 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-ingress-nginx-controller             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    <none>          443/TCP                      4h9m

ИнгрессКласс

      NAME    CONTROLLER             PARAMETERS   AGE
test1   k8s.io/test1           <none>       155m

Входной файл

      apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: hello-world-ingress-my-external
  annotations:
    nginx.ingress.kubernetes.io/ssl-redirect: "false"
    nginx.ingress.kubernetes.io/rewrite-target: /
spec:
  ingressClassName: test1
  rules:
   - host: test1.com
     http:
      paths:
      - backend:
          serviceName: aks-helloworld
          servicePort: 80
        path: /app(.*)
      - backend:
          serviceName: ingress-demo
          servicePort: 80
        path: /hello-world-two(/|$)(.*)

Ингресс-2

      apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: hello-world-ingress-my-external
  annotations:
    nginx.ingress.kubernetes.io/ssl-redirect: "false"
    nginx.ingress.kubernetes.io/rewrite-target: /
spec:
  ingressClassName: test2
  rules:
   - host: test2.com
     http:
      paths:
      - backend:
          serviceName: helloworld
          servicePort: 80
        path: /app(.*)
      - backend:
          serviceName: demo
          servicePort: 80
        path: /hello(/|$)(.*)

после создания входа отображается только первый IP

      NAME                              CLASS   HOSTS       ADDRESS   PORTS   AGE
external-ingress                  test1   test4.com  10.0.240.6        80      67m
hello-world-ingress-my-external   test2   test3.com  10.0.240.6        80      104

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

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

ОБНОВЛЕНИЕ . После обновления я могу управлять множественным входным трафиком.

      --set controller.ingressClass=test \
 --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

      NAME                              CLASS     HOSTS       ADDRESS   PORTS   AGE
external-ingress                  test1 test3.com             80      19m
hello-world-ingress-my-external   test2 test1.com             80      33m

0 ответов

Другие вопросы по тегам