Kubernetes Ingress用于不同命名空间中的同一主机

时间:2017-07-27 13:57:28

标签: kubernetes kubernetes-helm

我有两个服务,teacoffee,每个服务都在自己的命名空间中,我希望domain.com转到tea服务和{{1}转到domain.com/coffee

由于每个都在命名空间中,我不得不制作两个入口,但是当我尝试应用它们时,我收到错误coffee

我的两个入口如下:

茶:

MAPPING   Path '/coffee' already defined in another Ingress rule

和咖啡:

kind: Ingress
apiVersion: extensions/v1beta1
spec:
  tls:
  - hosts:
    - domain.com
    secretName: tea-tls
  rules:
  - host: domain.com
    http:
      paths:
      - path: /
        backend:
          serviceName: tea
          servicePort: 80

2 个答案:

答案 0 :(得分:0)

我想问题不是喝茶和咖啡,而是在咖啡入口处定义coffee路径两次。根据{{​​3}},我认为您只需要/coffee路径,并且可以删除/coffee/*路径。

答案 1 :(得分:-4)

根据https://github.com/kubernetes/kubernetes/issues/17088,旅行者入口控制器可以做到这一点。示例(摘自链接):

apiVersion: voyager.appscode.com/v1beta1
kind: Ingress
metadata:
  name: test-ingress
  namespace: foo
spec:
  rules:
  - host: foo.bar.com
    http:
      paths:
      - backend:
          serviceName: s1.bar # serviceName.Namespace
          servicePort: '80'