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

标签 networking kubernetes google-cloud-platform

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

每次我通过 Google Container Engine 集群上的 web-ui 执行 kubernetes 更新时。

Google container cluster update

我的外部 IP 发生了变化,我必须在 Google Cloud Console 中的所有三个实例上手动分配以前的 IP。

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

Reserving a static external IP

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

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

只有更新会导致这种情况,而不是重新启动。

最佳答案

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

  • 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

    关于networking - Kubernetes 更新更改了 Google Cloud 中节点的静态+保留的外部 IP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44336331/

    相关文章:

    azure - Aks 现货实例优先级[

    kubernetes - 如何通过kubeadm更改kubelet配置

    Android NDK 网络问题 : TCP Connection fails

    Java Socket/Serversocket WAN 连接

    c# - .net/C# 中的网络

    kubernetes - 有没有一种安全的方法可以在同一个 Kubernetes pod 中的另一个容器中触发命令?

    macos - 即使 python2 在终端中有效,gcloud 命令也会显示 `pyenv: python2: command not found`

    kubernetes - Ingress无法在GKE和GCE上获得地址

    google-cloud-platform - 在 Julia 应用程序中使用谷歌云存储

    networking - 获取运行docker引擎的主机的IP地址