我希望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
任何人都有想法是否有可能?
我很确定这在查看问题41881时目前是不可能的,但我可能会在最近版本的Kubernetes中遗漏一些东西 - 我们说话的时候我们即将问到release 1.12。
这已经是因为支持入口规则中的外卡域而引发的公关。请参阅以下链接
https://github.com/containous/traefik/issues/3884
你能试试Traefik v1.7并看看是否启用了通配符支持。