我在Kubenetes群集中运行了一堆Pod和相应的群集IP服务。我使用Ingress控制器将传入流量路由到这些工作负载。
现在,当我从工作负载中发出外部请求时,我希望这些请求从静态IP发出。
传入和传出流量是否都通过同一网络接口处理?
如何为来自Pod的传出请求设置静态IP
谢谢。
答案 0 :(得分:2)
如果您使用的是AWS或GKE,则从(自动扩展)节点池中获取静态出站的唯一方法是通过NAT网关。在GKE上,还需要具有专用节点(无公共ip)。
至少在GKE中,Kubernetes入口与出口分开对待,并且是不同的负载平衡器。
答案 1 :(得分:0)
一些研究向我展示了以下方法,并且有效:
创建一个带有特定标签的新节点池(让我们说ip=static
)
使用以下选择器部署工作负载
nodeSelector:
ip: static
通过VPC网络保留一个外部静态IP
将此IP分配给新节点池使用的VM
但是,正如@ user578582所提到的,在完成扩展后,在这种配置下,我将不得不使用NAT网关使所有出站流量都来自静态IP。