我的google容器群集中有三个节点。
每次我通过Google容器引擎中的群集上的web-ui执行kubernetes更新。
我的外部IP更改,我必须在Google Cloud Console中的所有三个实例上手动分配以前的IP。
这些是使用以下指南设置的保留静态外部IP。
Reserving a static external IP
有没有人遇到同样的问题?开始认为这是一个错误。
也许您可以为所有要使用的实例设置相同的静态出站外部IP,但我无法找到有关如何执行此操作的任何信息,只要它通过更新持续存在,这将是一个解决方案,否则我们&#39我们遇到了同样的问题。
它只是导致此问题的更新,而不是重新启动。
答案 0 :(得分:1)
您不应该依赖每个节点的IP地址。实例可以来去(特别是当您使用Cluster Autoscaler时),并且它们的IP地址可能会发生变化。
您应始终使用Service或Ingress公开您的应用程序,并且使用这些资源创建的负载平衡器的IP地址在升级之间不会更改。此外,您可以将负载均衡器上的IP地址转换为静态(保留)IP地址。
我看到您正在为节点分配静态IP地址。我认为没有任何理由这样做。使用Service / Ingress资源公开服务时,可以将静态外部IP与它们关联。
答案 1 :(得分:1)
我和你有同样的问题。我们找到了一些解决方案。
我们的解决方案 我们遵循了documentation for assign IP addresses on GCE。使用了命令行。 使用这种方法,到目前为止,我们没有任何问题。我还不知道这样做的风险。如果有人有主意,那会很好。
我们基本上就跑了:
gcloud compute instances delete-access-config [INSTANCE_NAME] --access-config-name [CONFIG_NAME]
gcloud compute instances add-access-config [INSTANCE_NAME] --access-config-name "external-nat-static" --address [IP_ADDRESS]
如果有人对此解决方案有任何反馈。请给我们。 @Ahmet Alp Balkan-Google