本頁面說明 Google Kubernetes Engine (GKE) IP 假冒設定的 Network Analyzer 洞察資料。如要瞭解所有洞察資料類型,請參閱「洞察資料群組和類型」。
網路分析器會偵測 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:這個欄位會以 CIDR 格式指定目標 IP 位址範圍清單,並為這些範圍停用來源 IP 位址 SNAT。
- Pod CIDR:Pod CIDR 範圍是專屬的 IP 位址區塊,專門用於將不重複的 IP 位址指派給叢集中的 Pod。在叢集中執行的每個 Pod 都會從這個範圍接收專屬的 IP 位址,以便進行網路通訊。
相關主題
詳情請參閱「IP 偽裝代理程式」和「在標準叢集中設定 IP 偽裝代理程式」。
建議
檢查指派給叢集的 Pod CIDR 值,並編輯 ip-masq-agent
ConfigMap,在 nonMasqueradeCIDRs
欄位中加入所有 Pod CIDR 範圍。加入 Pod CIDR 範圍有助於確保叢集內的流量不會受到 IP 偽裝的影響。
ConfigMap 缺少部分 Pod CIDR 範圍,且已停用預設 SNAT
由於 --disable-default-snat=true
標記,預設 SNAT 已在 GKE 叢集中停用,而自行部署的 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:這個欄位會以 CIDR 格式指定目標 IP 位址範圍清單,並為這些範圍停用來源 IP 位址 SNAT。
- Pod CIDR:Pod CIDR 範圍是專用 IP 位址區塊,專門用於將不重複的 IP 位址指派給叢集中的 Pod。在叢集中執行的每個 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 偽裝的影響。