我有两个分别由两个NodePort服务公开的部署。
我正在尝试使用Ingress控制器使用以下配置文件将这些服务的两条路径散开:
---
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: pay-mta-ingress
annotations:
nginx.ingress.kubernetes.io/rewrite-target: /$1
spec:
rules:
- http:
paths:
- path: /*
backend:
serviceName: service1
servicePort: 8080
- path: /payments/*
backend:
serviceName: service2
servicePort: 9090
这在Minikube上正常工作,但在Google Kubernetes Engine上无效。我只能使用GKE上的根(/*
)路径访问后端资源。
我已经测试了每个服务和部署-所有这些都运行正常。如果我将service1
切换为service2
,则可以在根路径上访问它。
当我尝试访问/service2/*
时,我得到:Cannot GET /payments/
。
我是否缺少GKE的任何实施细节?