GKE IP 伪装配置分析洞见

本页面介绍了 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 ConfigMapip-masq-agent 组件的 ConfigMap
  • nonMasqueradeCIDRs:用于指定目标 IP 地址范围列表(采用 CIDR 格式)的字段,针对这些范围停用了来源 IP 地址 SNAT。
  • Pod CIDR:Pod CIDR 范围是一个专用 IP 地址块,专门用于为集群中的 Pod 分配唯一的 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 ConfigMapip-masq-agent 组件的 ConfigMap
  • nonMasqueradeCIDRs:用于指定目标 IP 地址范围列表(采用 CIDR 格式)的字段,针对这些范围停用了来源 IP 地址 SNAT。
  • Pod CIDR:Pod CIDR 范围是一个专用 IP 地址块,专门用于为集群中的 Pod 分配唯一的 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 伪装的影响。