本页介绍了 Google Kubernetes Engine (GKE) IP 伪装配置的网络分析器数据分析。如需了解所有数据分析类型,请参阅数据分析组和类型。
网络分析器会检测 ip-masq-agent
配置,并将其与集群的 Pod CIDR 范围进行比较。
ConfigMap 缺少部分 Pod CIDR 范围
在 GKE 集群上部署的 ip-masq-agent
配置的 ConfigMap 似乎缺少 pod CIDR 范围。这与以下警告消息相对应:集群的 ip-masq-agent
配置映射的 nonMasqueradeCIDRs
未完全涵盖 Pod CIDR 范围。
这意味着,Pod 之间的基础架构集群流量会使用源节点的 IP 地址进行源网络地址转换 (SNAT),这可能会导致在有防火墙或网络政策的情况下出现连接问题。
此数据分析包括以下信息:
ip-masq-agent
ConfigMap:ip-masq-agent
组件的 ConfigMap。- nonMasqueradeCIDRs:此字段用于指定已停用来源 IP 地址 SNAT 的目标 IP 地址范围列表(采用 CIDR 格式)。
- Pod CIDR:Pod CIDR 范围是专门用于为集群中的 Pod 分配唯一 IP 地址的 IP 地址块。集群中运行的每个 Pod 都会从此范围内收到自己的 IP 地址,从而实现网络通信。
相关主题
如需了解详情,请参阅 IP 伪装代理和在标准集群中配置 IP 伪装代理。
建议
检查分配给集群的 Pod CIDR 的值,然后修改 ip-masq-agent
ConfigMap,以在 nonMasqueradeCIDRs
字段中添加所有 Pod CIDR 范围。添加 Pod CIDR 范围有助于确保集群内的流量不受 IP 伪装的影响。
ConfigMap 缺少部分 Pod CIDR 范围,并且默认 SNAT 已停用
由于 --disable-default-snat=true
标志,您的 GKE 集群中停用了默认 SNAT,并且自行部署的 ip-masq-agent
配置会代替它管理 IP 伪装规则。您为 ip-masq-agent ConfigMap 的自定义配置可能未正确包含 Pod CIDR 范围。这与以下警告消息相对应:集群的 ip-masq-agent
配置映射的 nonMasqueradeCIDRs
未完全涵盖 Pod CIDR 范围,并且 disable-default-snat 标志设为 true。
因此,Pod 流量可能无法根据您的预期政策正确伪装。
此数据分析包括以下信息:
ip-masq-agent
ConfigMap:ip-masq-agent
组件的 ConfigMap。- nonMasqueradeCIDRs:此字段用于指定已停用来源 IP 地址 SNAT 的目标 IP 地址范围列表(采用 CIDR 格式)。
- Pod CIDR:Pod CIDR 范围是专门用于为集群中的 Pod 分配唯一 IP 地址的 IP 地址块。集群中运行的每个 Pod 都会从此范围内收到自己的 IP 地址,从而实现网络通信。
- 自定义配置:
ip-masq-agent
ConfigMap 的自定义配置会覆盖默认的 nonMasqueradeCIDRs 列表。您的自定义配置会完全替换代理提供的默认范围。 - disable-default-snat 标志:
--disable-default-snat
标志会更改默认 GKE SNAT 行为,以便保留发送到所有目标的数据包的来源 Pod IP 地址。
相关主题
如需了解详情,请参阅 IP 伪装代理和在标准集群中配置 IP 伪装代理。
建议
检查分配给集群的 Pod CIDR 和自定义配置的值。修改 ip-masq-agent
ConfigMap,以在 nonMasqueradeCIDRs
字段中添加所有 Pod CIDR 范围。添加 Pod CIDR 范围有助于确保集群内的流量不受 IP 伪装的影响。