關於多重網路網路政策


本頁面說明如何使用 Pod 層級的防火牆規則,控管 Pod 和服務之間的網路流量。

應用程式的網路政策可協助您定義 Pod 之間的通訊流量規則。這項功能可控管 Pod 在應用程式內彼此通訊,以及與外部端點通訊的方式。在已啟用多網路的 Google Kubernetes Engine (GKE) Enterprise 版叢集中,您可以為 Pod 網路啟用網路政策。您可以對應使用者指定的 Pod 網路,在額外的 Pod 介面上強制執行網路政策。

為什麼要使用多重網路政策

在下列情況中,您可能需要使用多重網路網路政策:

  • 強化網路安全性:您想為特定 Pod 網路定義網路政策,藉此隔離及保護機密工作負載或資料。多重網路網路政策可限制曝光度,並縮小受攻擊面。

  • 精細的流量控制:您希望精確控制不同 Pod 網路中 Pod 和服務之間的流量,以滿足複雜的網路拓撲和安全需求。

  • 多租戶環境:您想為不同租戶或應用程式建立獨立網路,確保彼此的通訊不會互相干擾,同時維持對每個 Pod 網路內網路存取的控制權。

  • 最佳化資源使用率:您想在特定 Pod 網路中實作網路政策,根據應用程式需求有效分配資源並設定流量優先順序,進而提升效能和可靠性。

  • 容器化網路功能 (CNF) 的安全性:您想在同一個 Pod 中將管理流量與資料平面流量分開,防止潛在的安全漏洞和未經授權的存取行為。

多網路網路政策如何與 Pod 網路搭配運作

下圖說明如何使用註解,將網路政策套用至特定 Pod 網路,進而控管 GKE 叢集內 Pod 之間的流量。

多重網路網路政策的運作方式

上圖顯示多個工作站節點執行 Pod (容器化應用程式),以及這些節點如何透過網路基礎架構,在同一節點內或不同節點間進行通訊。此外,本教學課程也說明如何使用網路政策控管流量,以及如何使用虛擬私有雲和子網路區隔網路,進一步提升安全性和組織效率。

  1. 使用目標網路政策隔離流量:由於註解 networking.gke.io/network: blue-Pod-network,網路政策只會影響「藍色」Pod 網路上的流量。預設 Pod 網路上的流量仍不受限制。
  2. 使用 Pod 網路政策強制執行單向流量:在上圖中,網路政策允許 Pod1 將流量傳送至「藍色」Pod 網路上的 Pod2。Pod2 無法將流量傳回同一網路上的 Pod1。標示為「test-app-2」的 Pod 網路政策會做為單向管道。具體來說,這項政策只允許傳送至標示為「test-app-3」的 Pod 的輸出流量,禁止與「test-app-1」等其他 Pod 通訊。
  3. 預設允許輸出流量:如果沒有為 Pod (本例中的 Pod1) 定義輸出政策,系統預設會允許「藍色」網路介面上的所有輸出流量。
  4. 確保現有功能相容性:所有標準 GKE 網路政策選項 (例如標籤選取器和 IP 位址區塊) 都適用於多重網路政策。
  5. 使用註解控管網路政策範圍
    1. 如果您建立網路政策時未加入註解,GKE 會將多重網路網路政策套用至所選命名空間中 Pod 的所有網路介面,無論這些介面連線至哪個 Pod 網路。
    2. 如果您加入註解並指定有效的 Pod 網路名稱 (例如 networking.gke.io/network: blue-Pod-network),GKE 會將政策套用至連線至該特定 Pod 網路的 Pod。
    3. 如果註解參照的 Pod 網路實際上不存在於叢集中,GKE 就不會將網路政策套用至任何 Pod。這是因為沒有任何 Pod 連線至指定的非現有網路。
  6. 為具有多個網路介面的 Pod 維護跨網路通訊:如果您套用網路政策來限制 Pod 內特定 Pod 網路的流量,這不會影響連線至同一 Pod 的其他 Pod 網路流量。

優點

使用多重網路網路政策的優點如下:

  • 提升安全性:您可以套用精細的網路政策,降低未經授權存取和 GKE 叢集內橫向移動的相關風險。

  • 彈性和自訂性:您可以自訂網路政策,因應不同 Pod 網路的特定安全性和流量管理需求,以支援各種工作負載和應用程式。

  • 簡化網路管理:您可以避免建立過多的 Pod 網路,並使用網路政策精細控管通訊,簡化網路管理並降低複雜度。

  • 成本最佳化:避免建立大量 Pod 網路,有助於最佳化資源用量,並降低網路基礎架構相關成本。

  • 強化 CNF 保護機制:您可以隔離管理和資料層流量,並為每個部署作業套用特定網路政策,確保 CNF 部署作業的安全性和完整性。

後續步驟

在 Pod 層級控管 Pod 和服務之間的流量