【问题标题】:NAT Gateway IP for k8s cluster not reflected in podsk8s 集群的 NAT 网关 IP 未反映在 pod 中
【发布时间】:2019-01-11 08:21:46
【问题描述】:

我尝试按照给定教程中的说明创建 NAT 网关: https://cloud.google.com/solutions/using-a-nat-gateway-with-kubernetes-engine 应用 terraform 后,虽然创建了 NAT 网关并分配了一个 IP,但来自 pod 的任何传出流量仍然作为节点的 IP 而不是 NAT 网关的 IP。找不到任何相同的故障排除指南。任何指导将不胜感激。

【问题讨论】:

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


    【解决方案1】:

    首先,您需要确保 GKE 集群是私有的,因为现在它只能使用 Kubernetes “private” clusters。如果 VM 实例具有外部 IP,则路由将通过它们而不是 Cloud NAT。

    【讨论】:

    • 我看不到 NAT 网关仅适用于私有集群的任何参考。您能指出任何相关的参考文档吗?
    • 是的,你是对的,它没有引用任何文档,但是我已经进行了很多测试,Cloud NAT 不能与非私有 kubernetes 集群一起使用的原因是现在 pod 的 IP 被 SNAT'd 到节点的私有 IP 以进行互联网访问,如果这不是私有 kubernetes 集群,节点将分配一个外部 IP。因此,在这种情况下,您将看到带有节点外部 IP 的 Internet 绑定数据包,而 not 带有云 NAT IP。
    • link 的第一句指的是 Cloud NAT 允许 GCP 虚拟机实例和 GKE 集群连接到互联网如果它们没有外部公共 IP 地址 .不清楚 GKE 私有集群,但提到了外部 IP 地址。
    • 我注意到文档已经更新,其中提到:Regular (non-private) GKE clusters assign each node an external IP address, so such clusters cannot use Cloud NAT 从节点的主接口发送数据包。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-30
    • 1970-01-01
    • 2016-09-26
    • 2021-11-27
    • 2018-03-19
    相关资源
    最近更新 更多