Я установил 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 часов ожидания все работает нормально.