2017-06-02 37 views
1

我的谷歌容器集群中有三个节点。Kubernetes更新Google云中节点的静态+保留外部IP地址

每次我通过在谷歌集装箱引擎的群集上的网络用户界面进行更新kubernetes。

Google container cluster update

我的外部IP的变化,我必须手动分配IP以前在谷歌云端控制台的所有三个实例。

这些是保留静态外部IP设置使用以下指南。

Reserving a static external IP

有没有人遇到同样的问题?开始认为这是一个错误。

也许你可以为所有使用的实例设置相同的静态外出IP,但是我找不到任何有关如何这样做的信息,只要它通过更新持续存在,这将是一个解决方案,否则,我有同样的问题。

这只是导致此问题的更新,不会重新启动。

+1

你能澄清你所说的'谷歌计算云cluster'手段是什么意思?你的意思是容器引擎集群?你也可以定义'执行kubernetes更新'的含义吗?你在更新什么?您是否使用与您的外部IP关联的Ingress或服务资源?你如何在你的应用程序中使用外部IP?需要更多详细信息... –

+0

对不起,有轻微的错误信息,更新了我的问题。 – JazzCat

回答

1

您不应该依赖每个单独节点的IP地址。实例可以来来去去(特别是当您使用Cluster Autoscaler时),并且它们的IP地址可以更改。

您应始终将您的应用程序暴露于ServiceIngress,并且使用这些资源创建的负载平衡器的IP地址在升级之间不会更改。此外,您可以将负载平衡器上的IP地址转换为静态(保留)IP地址。

我看到您正在为您的节点分配静态IP地址。我认为没有理由这样做。当您使用Service/Ingress资源公开您的服务时,您可以将静态外部IP与它们关联。

请参见本教程:https://cloud.google.com/container-engine/docs/tutorials/http-balancer#step_5_optional_configuring_a_static_ip_address

+0

我们使用多个需要列入白名单的ips的外部服务,这就是为什么我们需要静态ips。 – JazzCat

+0

许多人在他们的一些节点上使用静态IP来进入。 LoadBalancer每个月至少为18美元左右,而静态IP在分配给实例时是免费的。通过适当的工具,它非常适合许多用例。 (显然存在缺陷。) –

+0

我们需要通过我们的实例通过防火墙,并且遇到同样的问题。缩放不是一个问题,但升级和恢复能力将这种方法放在我要改进的事项清单上。 – mohawkTrail