【发布时间】:2018-08-06 03:43:30
【问题描述】:
在 GCloud 中我们有一个 Kubernetes 集群有两个节点,是否可以设置所有节点来获取相同的外部 IP?现在我们得到了两个外部 IP。
提前谢谢你。
【问题讨论】:
标签: networking kubernetes google-cloud-platform gcloud google-kubernetes-engine
在 GCloud 中我们有一个 Kubernetes 集群有两个节点,是否可以设置所有节点来获取相同的外部 IP?现在我们得到了两个外部 IP。
提前谢谢你。
【问题讨论】:
标签: networking kubernetes google-cloud-platform gcloud google-kubernetes-engine
简短的回答是否定的,您不能将完全相同的外部 IP 分配给两个节点或两个实例,但您可以使用相同的 IP 来访问它们,例如通过 LoadBalancer。
长答案
根据您的场景和您要设置的基础架构,有多种方法可以通过相同的 IP 公开不同的资源。
我不知道您为什么要为节点分配相同的 IP,但由于每个节点都是 Google Compute Engine 实例,您可以设置一个Load Balancer(TCP、SSL、HTTP(s)、内部、 ecc)。通过这种方式,您可以访问节点,就好像它们不是 Kubernetes 集群的一部分一样,基本上您将它们视为 Compute Engine 实例,并且您将能够连接到它们正在侦听的任何端口(例如 HTTP 服务器或外部运行状况检查)。
请注意,您将无法以这种方式连接到 POD:服务和容器在单独的软件基础网络中运行,如果未正确设置它们将无法访问,例如使用 NodePort .
另一方面,如果您有兴趣让您的 POD 在两个不同的 kubernetes 节点上运行,可以通过一个唯一的入口点访问,您必须设置与 Kubernetes 相关的 ingress 和 load balancing 以公开您的 services。这些资源也基于 Google Cloud Platform 负载均衡器组件,但在创建时它们也会触发 Kubernetes 网络所需的更改。
【讨论】: