我在gcloud上有多个不同的pod(容器)(9),使用kubenetes,每个kubenetes都有自己的静态IP地址。我在他们都使用的集群中也有多个节点池(9)。如果我从任何pod(容器)发出cURL请求,则目标URL的日志中记录的IP地址始终是群集中第一个节点池的IP地址。
我的问题是这是否一直发生?如果删除此节点池,则会丢失IP地址。有没有办法让这个cURL请求地址静态?
我需要这个,因为这些容器需要cURL一个IP限制的外部服务,我需要在每次更改时发出更改此IP地址的请求。
答案 0 :(得分:1)
由于您拥有大量节点,我认为唯一可行的方法是将单个节点配置为出站流量的NAT网关。因此,来自所有节点的出站流量将首先进入NAT网关,然后NAT网关将连接到您的外部服务。然后,您可以为此网关VM实例分配静态IP。显然,这也为外部流量引入了单点故障。
此page包含有关设置NAT网关的详细步骤。您也可以参考this discussion。
第二种选择是仅为需要外部访问的pod提供专用池/节点。然后,您可以单独为这些节点提供专用IP。