可以将Cloud NAT与公共GKE群集一起使用吗?

时间:2020-02-17 12:12:17

标签: google-kubernetes-engine nat

我有一个带有2个节点的公共GKE集群,并且有2个公共外部IP。我只需要一个出口IP。

我想为此使用Cloud NAT。似乎有可能。

分配给VM网络接口的别名IP范围:即使 网络接口已分配了外部IP地址,您可以 配置云NAT网关以为其来源的数据包提供NAT 来自接口的别名IP范围。外部IP地址 在接口上永远不会对别名IP地址执行一对一的NAT。

我创建了Cloud NAT,但无法正常工作。我使用以下命令获取IP,并且它总是返回节点的IP之一。

kubectl run -i --tty get-ip-address --image=dwdraju/alpine-curl-jq --restart=Never

curl checkip.amazonaws.com

我的群集启用了VPC本机。

enter image description here

2 个答案:

答案 0 :(得分:0)

请使用私人Kubernetes Cluster选项。这些节点将只有内部IP地址。

如果遵循此guide,则可以使用私有集群来实现所需的配置。

答案 1 :(得分:0)

Cloud NAT不适用于公共群集。但是,这仅意味着您的节点将没有公共IP。通过使用服务类型LoadBalancer或入口资源,私有集群仍可以使用公共端点。

对于您的终结点REST API终结点,请使用具有静态IP的入口或负载平衡器,以确保可以从集群外部访问该终结点并且该终结点(IP或URL)是稳定的。