【问题标题】:ingress with both rules and default backend in Google Container Engine在 Google Container Engine 中具有规则和默认后端的入口
【发布时间】:2016-07-26 22:37:55
【问题描述】:

我在 Google Container Engine 平台上运行有一个入口,我希望我的几乎所有域都有一个默认后端服务(有很多,但有一个域的另一个特定服务) . 根据我对ingress user guide 的理解(在其中扫描“默认后端:”),下面的配置应该可以正常工作。

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

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

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

【问题讨论】:

    标签: google-compute-engine kubernetes google-kubernetes-engine


    【解决方案1】:

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

    【讨论】:

    • 啊!我的服务仍然是 ClusterIP。我不得不替换它,然后从入口中删除规则并将其放回(并稍等一下),以便入口再次拾取后端。
    猜你喜欢
    • 2017-04-07
    • 2016-04-02
    • 2018-09-24
    • 2021-06-06
    • 2016-08-23
    • 2023-04-10
    • 2017-10-03
    • 2017-04-07
    • 1970-01-01
    相关资源
    最近更新 更多