У меня есть вход, определенный как:
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: foo-ingress
annotations:
kubernetes.io/ingress.global-static-ip-name: zaz-address
kubernetes.io/ingress.allow-http: "false"
ingress.gcp.kubernetes.io/pre-shared-cert: foo-bar-com
spec:
rules:
- host: foo.bar.com
http:
paths:
- path: /zaz/*
backend:
serviceName: zaz-service
servicePort: 8080
Тогда услуга zap-service
является nodeport
, определяемой как:
apiVersion: v1
kind: Service
metadata:
name: zaz-service
namespace: default
spec:
clusterIP: 10.27.255.88
externalTrafficPolicy: Cluster
ports:
- nodePort: 32455
port: 8080
protocol: TCP
targetPort: 8080
selector:
app: zap
sessionAffinity: None
type: NodePort
nodeport
успешно выбираетдве стручки позади этого, служащие моему обслуживанию.В списке GKE
я вижу, что у nodeport
есть IP-адрес, который выглядит внутренним.
Когда я проверяю в том же интерфейсе ingress
, он также выглядит нормально, но обслуживает ноль пакетов..
Когда я описываю ingress
с другой стороны, я вижу:
Rules:
Host Path Backends
---- ---- --------
foo.bar.com
/zaz/* zaz-service:8080 (<none>)
То, что ingress
не может разрешить службу IP
.Что я здесь не так делаю?Я не могу получить доступ к сервису через внешнее доменное имя, я получаю сообщение об ошибке 404
.
Как мне сделать так, чтобы входное имя преобразовало доменное имя zaz-service
в правильное IP
, чтобы оно могло перенаправлять трафикесть