如何使用sourceIP在公共GKE集群pod中使用云NAT

问题描述 投票:2回答:2

根据云端NAT的GCP文档,

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

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

google-cloud-platform nat google-kubernetes-engine
2个回答
0
投票

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


0
投票

穆罕默德的答案大多是准确的,它是GCP支持的方法。虽然有一个补充来解决引用的文本。

GKE uses ip masquerade and SNAT在节点之间或集群外部路由流量时。只要pod正在路由到Masq范围内的流量,就会发生SNAT,并且pod使用节点的外部(或内部)IP地址。您需要通过扩展非masq范围来包括所有IP(0.0.0.0/0)来禁用SNAT。您可以使用ip-masq-agent执行此操作,如果不存在,则可以安装。

© www.soinside.com 2019 - 2024. All rights reserved.