【问题标题】:How to specify node IP for a running gke cluster如何为正在运行的 gke 集群指定节点 IP
【发布时间】:2020-10-15 19:12:56
【问题描述】:

我有一个正在运行(生产)的 GKE 集群,它保留在默认 VPC(我们为 10.158.0.0/20)上。在集群内部,为了避免某些 VPN 上的 IP 冲突,我们选择将 192.168.0.0/20 和 192.168.16.0/20 用于内部 pod 和服务。

这工作得很好,但现在我需要制作一个特定的 POD(具有 192 IP)来访问 VPN 上的系统(其最终 IP 位于 172.16 地址)。我知道我可以找到与创建的节点关联的 IP 并将其添加到 VPN,但是当此自动缩放到多个节点时,将有一个新的不同 IP,因此我必须再次更新 VPN再一次,我想避免这种情况。

有什么方法可以做到这一点,而无需在新的不同子网上重新创建整个集群?像一些网关或我可以将 pod 路由到然后将网关路由到所需的 VPN 隧道的东西?或者也许将 192 网络路由到 VPN 隧道?那也行。

谢谢

【问题讨论】:

    标签: google-cloud-platform google-kubernetes-engine google-vpc google-cloud-vpn


    【解决方案1】:

    根据信息,我猜您的集群是私有的,因为您使用的是 VPN,如果是这样,您必须通过您的隧道为 pod 和服务(192.168.0.0/20 和 192.168.16.0/20)公布 CIDR以及主授权网络。

    【讨论】:

    • 这肯定行得通,但我们的客户不允许在 VPN 上使用这么大的范围。我正在考虑创建一台机器来对请求进行 NAT 并将这台机器添加到 VPN 上,但是,为了创建我需要在 GKE 集群上添加网络标签的路由,我仍然找不到不重新创建的方法集群。
    • 如果您正在考虑使用 NAT,也许using an IP masquerade agent 可能适合您,从而避免重新创建集群。 GKE 集群使用 IP 伪装,因此集群外部的目标仅接收来自节点 IP 地址而不是 Pod IP 地址的数据包。只接收来自节点 IP 地址的数据包,因此您只需要公布 IP 节点范围(IP 节点范围是您的集群正在使用的网络或子网)。
    • 很好,我看看能不能试试这个!
    【解决方案2】:

    好的,因此,受this 博客文章的启发,创建一台机器作为 NAT,与路由等一起工作。 我也尝试过 IP Masquerading,效果也很好,但由于想法是根据需要获取更多节点,客户端不希望这样,所以我们不得不坚持使用 NAT。

    感谢大家的帮助!

    【讨论】:

      猜你喜欢
      • 2017-05-10
      • 1970-01-01
      • 2017-04-16
      • 2017-01-08
      • 2020-03-19
      • 1970-01-01
      • 2019-08-10
      • 1970-01-01
      • 2019-11-22
      相关资源
      最近更新 更多