同一集群中的不同入口被绑定到不同的地址

Different ingresses in same cluster being bound to different addresses

我正在尝试使用 Google 的 Deployment Manager 和 Kubernetes Engine 从头开始​​构建 kubernetes 环境。到目前为止,集群已配置为托管两个应用程序。每个应用程序都由独占服务提供服务,而独占服务又从独占入口接收流量。两个入口都是使用相同的 Deployment Manager jinja 模板创建的:

- name: {{ NAME_PREFIX }}-ingress
  type: {{ CLUSTER_TYPE_BETA }}:{{ INGRESS_COLLECTION }}
  metadata:
    dependsOn:
    - {{ properties['cluster-type-v1beta1-extensions'] }}
  properties:
    apiVersion: extensions/v1beta1
    kind: Ingress
    namespace: {{ properties['namespace'] | default('default') }}
    metadata:
      name: {{ NAME_PREFIX }}
      labels:
        app: {{ env['name'] }}
        deployment: {{ env['deployment'] }}
    spec:
      rules:
      - host: {{ properties['host'] }}
        http:
          paths:
          - backend:
              serviceName: {{ NAME_PREFIX }}-svc
              servicePort: {{ properties['node-port'] }}

环境部署工作正常。但是,我希望两个入口都绑定到同一个外部地址,但这并没有发生。我如何设置模板以强制执行此限制?更一般地说,为每个环境的基于主机的规则生成一个入口是否被认为是一种 kubernetes 不良做法?

每个入口都将创建自己的 HTTP(s) 负载平衡器。如果你想要一个单一的IP,定义一个具有多个主机路径的入口,每个服务一个