如何使用NGINX kubernetes控制器获取可用于单个服务的两个入口端口

时间:2019-02-05 14:14:24

标签: kubernetes kubernetes-ingress nginx-ingress

我们有一项服务有两个公开的端口-一个用于服务器,第二个用于管理。 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

1 个答案:

答案 0 :(得分:1)

在您的配置示例中,两条路径的缩进级别都不相同。

除此之外,您的配置看起来正确,并会导致以下行为:

  1. 所有通过my.host.net/controller进入群集的流量都将发送到服务bw-svc1:80
  2. 所有通过my.host.net/actuator进入群集的流量都将发送到服务bw-svc2:5612

如果这不是您想要实现的目标,请重新表达您的问题吗?