Назад | Перейти на главную страницу

GCE NGINX Ingress не использует контроллер

Я установил nginx ingress с помощью helm в Google Cloud Kubernetes. Служба, контроллер и серверная часть по умолчанию запущены и работают, и я могу выполнить запрос GET для конечной точки / healthz. Однако, когда я пытаюсь настроить свой Ingress, он показывает другой IP-адрес балансировщика нагрузки, чем контроллер. В моем случае контроллер показывает 35.246.249.9 (порт 80 и 443), а Ingress показывает 35.246.171.243. Когда я пытаюсь подключиться ко второму IP-адресу, в соединении отказывают.

Это мой ямл Ingress:

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: ingress-nginx-integration
  namespace: integration
  annotations:
    kubernetes.io/ingress.class: "nginx"
    kubernetes.io/ingress.global-static-ip-name: website-com
    nginx.ingress.kubernetes.io/rewrite-target: /
    nginx.ingress.kubernetes.io/ssl-redirect: "false"
spec:
  rules:
  - host: website.com
    http:
      paths:
      - backend:
          serviceName: website
          servicePort: 4000

Описание Ingress:

Name:             ingress-nginx-integration
Namespace:        integration
Address:          35.246.171.243
Default backend:  default-http-backend:80 (10.20.2.8:8080)
Rules:
  Host                         Path  Backends
  ----                         ----  --------
  website.com    
                                  website:4000 (<none>)
Annotations:
  kubernetes.io/ingress.global-static-ip-name:       website-com
  nginx.ingress.kubernetes.io/rewrite-target:        /
  nginx.ingress.kubernetes.io/ssl-redirect:          false
  kubectl.kubernetes.io/last-applied-configuration:  ....
  kubernetes.io/ingress.class:  nginx
Events:
  Type    Reason  Age                  From                      Message
  ----    ------  ----                 ----                      -------
  Normal  UPDATE  18m (x9 over 58m)    nginx-ingress-controller  Ingress integration/ingress-nginx-integration
  Normal  DELETE  6m34s                nginx-ingress-controller  Ingress integration/ingress-nginx-integration
  Normal  CREATE  2m16s (x2 over 59m)  nginx-ingress-controller  Ingress integration/ingress-nginx-integration

Описание контроллера:

Name:                     nginx-ingress-controller
Namespace:                integration
Labels:                   app=nginx-ingress
                          chart=nginx-ingress-1.1.5
                          component=controller
                          heritage=Tiller
                          release=nginx-ingress
Annotations:              <none>
Selector:                 app=nginx-ingress,component=controller,release=nginx-ingress
Type:                     LoadBalancer
IP:                       10.23.243.186
LoadBalancer Ingress:     35.246.249.9
Port:                     http  80/TCP
TargetPort:               http/TCP
NodePort:                 http  30996/TCP
Endpoints:                10.20.2.62:80
Port:                     https  443/TCP
TargetPort:               https/TCP
NodePort:                 https  32752/TCP
Endpoints:                10.20.2.62:443
Session Affinity:         None
External Traffic Policy:  Cluster
Events:                   <none>

И Ingress, и контроллер выполняются внутри пространства имен интеграции. Я следовал этому руководству по большей части: https://cloud.google.com/community/tutorials/nginx-ingress-gke Раньше все работало, когда я использовал контроллер входа gce по умолчанию, но мне нужны перенаправления http -> https.

Почему он показывает другой IP-адрес балансировщика нагрузки, верно? И если да, то почему отказывает в подключении?

Дайте мне знать, если вам понадобится дополнительная информация.

Хорошо, моя настройка верна. Похоже, что пройдет немало времени, прежде чем все уладится само собой. После 12 часов ожидания все работает нормально.