本頁面說明如何使用 Pod 層級的防火牆規則,控管 Pod 和 Service 之間的網路流量。
應用程式網路政策可協助您定義 Pod 之間的通訊流量規則。控管 Pod 在應用程式內如何與其他 Pod 通訊,以及如何與外部端點通訊。在已啟用多網路功能的 GKE 叢集中,您可以為 Pod 網路啟用網路政策。您可以對對應至使用者指定 Pod 網路的其他 Pod 介面強制執行網路政策。
使用多網路政策的原因
在下列情況下,您可能需要使用多網路政策:
強化網路安全:您想為特定 Pod 網路定義網路政策,隔離並保護機密工作負載或資料。多網路政策可限制暴露程度,並縮小攻擊面。
精細的流量控管:您希望精確控管不同 Pod 網路上的 Pod 和 Service 之間的流量,以因應複雜的網路拓撲和安全性需求。
多租戶環境:您想為不同租戶或應用程式建立隔離的網路,確保彼此的通訊不會互相干擾,同時控管每個 Pod 網路內的網路存取權。
最佳化資源使用率:您想在特定 Pod 網路上實施網路政策,根據應用程式需求有效分配資源並排定流量優先順序,進而提升效能和可靠性。
容器化網路功能 (CNF) 的安全性:您想在同一個 Pod 內區隔管理流量和資料層流量,防止潛在的安全漏洞和未經授權的存取。
多網路政策如何與 Pod 網路搭配運作
下圖說明如何使用註解,將網路政策套用至特定 Pod 網路,控管 GKE 叢集內 Pod 之間的流量。

上圖顯示多個 worker 節點執行 Pod (容器化應用程式),以及這些節點如何使用網路基礎架構,在同一個節點內或跨不同節點通訊。此外,本課程也會說明如何使用網路政策控管流量,以及如何使用虛擬私有雲和子網路區隔網路,提升安全性和組織效率。
- 使用指定網路政策隔離流量:由於註解
networking.gke.io/network: blue-Pod-network,網路政策只會影響「藍色」Pod 網路上的流量。預設 Pod 網路上的流量仍不受限制。 - 使用 Pod 網路政策強制執行單向流量:在上圖中,網路政策允許 Pod1 透過「藍色」Pod 網路將流量傳送至 Pod2。Pod2 無法將流量傳回相同網路上的 Pod1。標示為「test-app-2」的 Pod 網路政策會做為單向管道。具體來說,這項政策只允許傳出流量流向標示為「test-app-3」的 Pod,防止與「test-app-1」等其他 Pod 通訊。
- 預設允許傳出流量:如果未針對 Pod (本例中的 Pod1) 定義輸出政策,則「藍色」網路介面預設會允許所有傳出流量。
- 確保現有功能相容性:所有標準 GKE 網路政策選項 (例如標籤選取器和 IP 位址區塊) 都可與多網路政策搭配使用。
- 使用註解控管網路政策範圍:
- 如果您建立的網路政策沒有註解,GKE 會將多網路政策套用至所選命名空間中 Pod 的所有網路介面,無論這些 Pod 連接至哪些 Pod 網路。
- 如果您加入註解並指定有效的 Pod 網路名稱 (例如
networking.gke.io/network: blue-Pod-network),GKE 會將政策套用至連結該特定 Pod 網路的 Pod。 - 如果註解參照的 Pod 網路實際上不存在於叢集中,GKE 就不會將網路政策套用至任何 Pod。這是因為沒有 Pod 連線至指定的非現有網路。
- 為具有多個網路介面的 Pod 維持跨網路通訊:如果您套用網路政策,限制 Pod 內特定 Pod 網路的流量,不會影響連至相同 Pod 的其他 Pod 網路流量。
優點
使用多網路政策的好處如下:
提升安全性:在精細層級套用網路政策,可降低 GKE 叢集內未經授權存取和橫向移動的相關風險。
彈性與自訂:您可以根據不同 Pod 網路的特定安全性和流量管理需求,自訂網路政策,以因應各種工作負載和應用程式。
簡化網路管理:您可以避免建立過多 Pod 網路,並透過網路政策精細控管通訊,簡化網路管理並降低複雜度。
成本最佳化:不必建立多個 Pod 網路,因此可最佳化資源使用率,並降低網路基礎架構相關成本。
強化 CNF 保護:您可以隔離管理和資料層流量,並對每個部署項目套用特定網路政策,確保 CNF 部署項目的安全性和完整性。