我在谷歌容器引擎平台上运行有一个入口,我想为几乎所有的域提供默认的后端服务(有很多,但有一个域的另一个特定服务根据我对ingress user guide的理解(扫描"默认后端:"在那里),下面的配置应该可以正常工作。
然而,它并没有创建第二个后端。在入口处运行kubectl describe ingress
,在Google控制台网站中查看LB时,只有第一个"默认"后端服务已列出。将默认值更改为规则1可以解决问题,但这意味着我必须明确列出我想要支持的所有域。
所以,我假设我在下面的配置中有一个错误。如果是这样,它是什么?
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: boringsites
spec:
backend:
serviceName: boringsites
servicePort: 80
tls:
- secretName: boringsites-tls
rules:
- host: subdomain.example.com
http:
paths:
- backend:
serviceName: other-svc
servicePort: 80
答案 0 :(得分:0)
我刚刚在kubernetes 1.3上创建了https://gist.github.com/bprashanth/9f4533b19fd864b723ba0720a3648fa3#file-default-basic-yaml-L94,它按预期工作。也许你可以向后调试?你在哪里运行kube以及你使用的是什么版本?在1.2中有一个已知和固定的竞赛可能会遇到,特别是如果您更新了入口。另请注意,您需要type = nodeport的服务,或者gce上的入口控制器将忽略您插入到资源中的服务。