Kubernetes更新了Google Cloud中节点的静态+保留外部IP

时间:2017-06-02 19:42:03

标签: networking kubernetes google-cloud-platform

我的google容器群集中有三个节点。

每次我通过Google容器引擎中的群集上的web-ui执行kubernetes更新。

Google container cluster update

我的外部IP更改,我必须在Google Cloud Console中的所有三个实例上手动分配以前的IP。

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

Reserving a static external IP

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

也许您可以为所有要使用的实例设置相同的静态出站外部IP,但我无法找到有关如何执行此操作的任何信息,只要它通过更新持续存在,这将是一个解决方案,否则我们&#39我们遇到了同样的问题。

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

2 个答案:

答案 0 :(得分: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

答案 1 :(得分:1)

我和你有同样的问题。我们找到了一些解决方案。

  • KubeIP-但这需要集群1.10或更高版本。我们的是1.8
  • NAT-在GCP文档中,他们讨论了这种方法。对我来说太复杂了。

我们的解决方案 我们遵循了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