Kubernetes入口规则:如何一起使用通配符和特定子域

问题描述 投票:4回答:2

我希望Ingress将特定子域重定向到一个后端,将所有其他子域重定向到其他后端。基本上,我想定义一个类似如下的规则:

如果子域是foo.bar.com然后去s1,所有其他子域名转到s2

当我在Ingress规范中定义如下所示的规则时,我在部署时遇到此异常:

Error: UPGRADE FAILED: cannot re-use a name that is still in use

然而,当我将*.bar.com改为demo.bar.com时,它的确有效。

这是我的Ingress资源规范:

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: test
spec:
  rules:
  - host: foo.bar.com
    http:
      paths:
      - backend:
          serviceName: s1
          servicePort: 80
  - host: *.bar.com
    http:
      paths:
      - backend:
          serviceName: s2
          servicePort: 80

任何人都有想法是否有可能?

kubernetes traefik kubernetes-ingress traefik-ingress
2个回答
3
投票

我很确定这在查看问题41881时目前是不可能的,但我可能会在最近版本的Kubernetes中遗漏一些东西 - 我们说话的时候我们即将问到release 1.12


1
投票

这已经是因为支持入口规则中的外卡域而引发的公关。请参阅以下链接

https://github.com/containous/traefik/issues/3884

你能试试Traefik v1.7并看看是否启用了通配符支持。

© www.soinside.com 2019 - 2024. All rights reserved.