
发布
一个批处理作业集群(如 GKE 节点池)需同时发起数万条出站连接访问外部 API,但频繁遭遇 SNAT port exhaustion
错误。当前 Cloud NAT 配置使用默认端口分配策略,导致单个实例可用端口不足。技术难点包括:如何计算所需 minPortsPerVm
以满足峰值连接数(如 60,000 连接需至少 15,000 端口/VM);为高负载节点池配置专用 Cloud NAT 网关并绑定足够大的 natIpAllocateOption
(静态 IP 池);启用 enableEndpointIndependentMapping
提升 NAT 映射效率;通过 gcloud compute routers get-nat-mapping-info
监控端口使用率;以及结合 TCP Time Wait
优化内核参数。应如何设计高密度出站连接的 NAT 架构?