我们有一项服务有两个公开的端口-一个用于服务器,第二个用于管理。 Kubernetes集群正在运行NGINX控制器。有什么方法可以在Ingress YAML文件中公开两个服务端口吗? 细节: 服务服务器端口:8081 服务管理端口:8082 我们在Ingress YAML文件中尝试了两个“后端”,但它仅适用于默认端口80(默认端口),而对其他任何端口均无效。 ingress.yml文件如下:
kind: Ingress
apiVersion: extensions/v1beta1
metadata:
name: bw-ingress
annotations:
kubernetes.io/ingress.class: "nginx"
spec:
rules:
- host: my.host.net
http:
paths:
- path: "/controller/"
backend:
serviceName: bw-svc1
servicePort: 80
- path: "/actuator/"
backend:
serviceName: bw-svc2
servicePort: 5612
答案 0 :(得分:1)
在您的配置示例中,两条路径的缩进级别都不相同。
除此之外,您的配置看起来正确,并会导致以下行为:
my.host.net/controller
进入群集的流量都将发送到服务bw-svc1:80
my.host.net/actuator
进入群集的流量都将发送到服务bw-svc2:5612
如果这不是您想要实现的目标,请重新表达您的问题吗?