Google 容器引擎中的规则和默认后端入口

ingress with both rules and default backend in Google Container Engine

我 运行 在 Google 容器引擎平台上有一个入口,我想为我几乎所有的域提供默认后端服务(有很多,但是有另一个针对一个域的特定服务。根据我对 ingress user guide 的理解(在其中扫描 "Default Backends:"),下面的配置应该可以正常工作。

但是,它永远不会创建第二个后端。 运行 kubectl describe ingress 在入口处以及在 Google 控制台站点中查看 LB 时,仅列出第一个 "default" 后端服务。将默认的更改为规则一可以解决问题,但这意味着我必须明确列出我想要支持的所有域。

所以,我假设我在下面的配置中有一个错误。如果有,那是什么?

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

我刚刚在 kubernetes 1.3 上创建了 https://gist.github.com/bprashanth/9f4533b19fd864b723ba0720a3648fa3#file-default-basic-yaml-L94,它按预期工作。也许你可以向后调试?您 运行 kube 在哪里,您使用的是什么版本? 1.2 中有一个已知且固定的竞赛,您可能会 运行 进入,特别是如果您更新了入口。另请注意,您需要 type=nodeport 的服务,否则 gce 上的入口控制器将忽略您插入 reasource 的服务。