如何使用SourceIP在公共GKE群集容器中使用云NAT

时间:2019-02-05 12:31:26

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

根据Cloud NAT上的GCP文档,

  

常规(非私有)GKE群集为每个节点分配一个外部IP地址,因此此类群集无法使用Cloud NAT从节点的主接口发送数据包。如果Pod发送的源IP地址设置为Pod IP,则它们仍可以使用Cloud NAT

问题:在将数据包发送到某些外部服务时,如何配置Pod将源IP设置为Pod IP?

2 个答案:

答案 0 :(得分:0)

Cloud NAT用于允许仅具有内部IP地址的GCE实例或GKE群集访问Internet上的公共资源。如果要使用Cloud NAT,则需要遵循guidelines from the public docs,也可以遵循build your own NAT gateway using a GCE Instance,这不需要使用私有集群。

答案 1 :(得分:0)

穆罕默德的答案大部分是准确的,这是GCP支持的方法。虽然有一个附加内容可以解决引用的文字。

this issue,当在节点之间或集群外部路由通信时。只要Pod路由到Masq范围内的流量,就会发生SNAT,并且Pod使用节点的外部(或内部)IP地址。您需要通过扩展非质量范围以包括所有IP(0.0.0.0/0)来禁用SNAT。您可以使用GKE uses ip masquerade and SNAT进行安装,如果没有安装,则可以安装。