文档中心>容器服务>常见问题>隐患处理>ip-masq-agent NonMasqueradeCIDRs 配置缺失集群容器网段

ip-masq-agent NonMasqueradeCIDRs 配置缺失集群容器网段

最近更新时间:2025-08-26 15:41:32

我的收藏

问题背景

在2025年7月至8月新建的基于 Global Router 网络模式的集群中,ip-masq-agent 的配置可能会缺失集群容器网段,在某些场景下可能存在如下风险:
1. 如果有集群内 Pod 高并发互访,导致大量 SNAT,部分连接可能因 conntrack 插入失败导致连接超时。
2. 如果存在一种特殊的集群内的双向连接用法可能会出现连接被拒绝的情况:假设有 A 和 B 两个 Pod,A 到 B 建立了连接,然后 B 使用 A 的源地址作为目标再次发起新连接,此时由于从 B 看到的 A 的源地址是 SNAT 后的地址,并非 A 真实监听的地址,主动向其发起连接会被拒绝。
3. 如果集群中配置了某种网络策略(如 NetworkPolicy),只允许某些 Pod 访问(如指定命名空间、指定 label 的 Pod),由于目标 Pod 所在节点看到的源 IP 是 SNAT 后的节点 IP,无法关联到真实源 Pod,导致安全策略失效。
4. 如果有“获取真实 Pod 源 IP” 的需求可能会出现业务异常(获取到的源 IP 可能是 SNAT 后的节点 IP)。

处理建议

修改 kube-system 命名空间下名为 ip-masq-agent-config 的 configmap,将集群容器网段加入 NonMasqueradeCIDRs 配置中。

常见问题

如何查看当前集群的网段是多少?

TKE 集群列表 中,单击集群 ID,进入集群的基本信息页面。在基础信息页签中,查看节点和网络信息中的容器网络,CIDR 列表即集群容器网段。


如何修改 ip-masq-agent-config?

下面分别给出 kubectl 和 TKE 控制台两种修改方式,可任选其一。

通过 kubectl

1. 确保 kubeconfig 正确配置,执行以下命令修改 ip-masq-agent-config 的 configmap:
kubectl -n kube-system edit configmap ip-masq-agent-config
2. 将缺失的集群容器网段追加到 NonMasqueradeCIDRs 数组并保存。如下图所示:


通过 TKE 控制台

1. TKE 集群列表 中,单击集群 ID,进入集群详情页。
2. 选择左侧导航中的配置管理,在 ConfigMap 页签中选择 kube-system 命名空间。
3. ip-masq-agent-config 所在行右侧单击编辑 yaml
4. 将缺失的集群容器网段追加到 NonMasqueradeCIDRs 数组。如下图所示:

5. 单击完成