本頁面說明 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 位址範圍清單 (採用 CIDR 格式),來源 IP 位址 SNAT 會針對這些範圍停用。
- Pod CIDR:Pod CIDR 範圍是專用的 IP 位址區塊,專門用於為叢集內的 Pod 指派不重複的 IP 位址。叢集中執行的每個 Pod 都會從這個範圍取得自己的 IP 位址,以進行網路通訊。
相關主題
詳情請參閱「IP 偽裝代理程式」和「在標準叢集中設定 IP 偽裝代理程式」。
建議
檢查指派給叢集的 Pod CIDR 值,並編輯 ip-masq-agent
ConfigMap,將所有 Pod CIDR 範圍納入 nonMasqueradeCIDRs
欄位。加入 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 位址範圍清單 (採用 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 位址偽裝影響。