同一集群中的不同入口被绑定到不同的地址
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,定义一个具有多个主机路径的入口,每个服务一个
我正在尝试使用 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,定义一个具有多个主机路径的入口,每个服务一个