首页 > 解决方案 > Kubernetes url 上的 nginx 入口路由到主机

问题描述

我的规则应该如何:如果想支持到服务的动态 url 映射

/a should map to service service-a
/b should map to service service-b
/cccc should map to service service-cccc

注意:服务可以动态添加

因此在 r 说 10 分钟后。我们现在有

/dddd should map to service service-dddd

标签: kuberneteskubernetes-ingressnginx-ingress

解决方案


基本上,您不断将新路径附加到 $.spec.rules[x].http.paths,其中 x 是您打算在其上添加路径的主机的索引。

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: my-ingress
  namespace: my-namespace
  annotations:
    kubernetes.io/ingress.class: "nginx"
    # and other annotations you need..
  #labels:
     # if you need labels
spec:
  rules:
  - host: "your.hostname"
    http:
      paths:
      - path: /a
        backend:
          serviceName: service-a
          servicePort: 443 # say your service runs on 443
      - path: /b
        backend:
          serviceName: service-b
          servicePort: 443 # say your service runs on 443
      - path: /cccc
        backend:
          serviceName: service-cccc
          servicePort: 443 # say your service runs on 443

推荐阅读