關於 Pod 的多網路支援功能


本頁說明 Pod 的多網路支援功能,包括用途、相關概念、術語和優點。

總覽

Google Cloud 支援虛擬機器 (VM) 執行個體層級的多個網路介面。您最多可透過多個網路介面將 VM 連線至八個網路,包括預設網路和七個額外網路。

Google Kubernetes Engine (GKE) 網路會將多網路功能擴展至節點中運作的 Pod。Pod 支援多網路功能之後,您就能在 GKE 叢集的節點和 Pod 中啟用多個介面。Pod 支援多網路功能後,節點集區就不再受限於單一介面,節點也不會只能連線至單一 VPC 網路。

Network Function Optimizer (NFO) 是 GKE 適用的網路服務,可提供多網路支援、持續性 IP 位址,以及高效能的 Kubernetes 原生資料層。NFO 可在 GKE 上啟用容器化網路功能。多重聯播網是 NFO 的基本支柱之一。

如要為 Pod 和節點啟用多網路支援功能,請參閱為 Pod 設定多網路支援功能

術語與概念

本頁面會使用下列概念:

主要虛擬私有雲:主要 VPC 是預先設定的 VPC,內含一組預設設定和資源。GKE 叢集會在這個虛擬私有雲中建立。如果刪除預先設定的 VPC,系統會在主要 VPC 中建立 GKE 叢集。

子網路:在 Google Cloud中,子網路是在虛擬私有雲中建立無類別跨網域路由 (CIDR) 和網路遮罩的方法。子網路具有單一主要 IP 位址範圍 (指派給節點),且可有多個次要範圍 (屬於 Pod 和 Service)。

節點網路:節點網路是指虛擬私有雲和子網路配對的專屬組合。在這個節點網路中,節點集區所屬的節點會從主要 IP 位址範圍分配 IP 位址。

次要範圍:次要範圍是屬於子網路的 CIDR 和網路遮罩。 Google Cloud GKE 會將此網路做為第 3 層 Pod 網路。Pod 可以連線至多個 Pod 網路。

Pod 網路:做為 Pod 連線點的網路物件。連線類型可以是 Layer 3Device。您可以在 netdevice 或 Data Plane Development Kit (DPDK) 模式中設定 Device 類型網路。netdevice

Layer 3 網路對應於子網路的次要範圍。Device 網路對應至虛擬私有雲上的子網路。GKE 多重網路中的 Pod 網路資料模型如下:

  • Layer 3 網路」:VPC -> 子網路名稱 -> 次要範圍名稱

  • 「Network」(網路):VPC -> 子網路名稱Device

預設 Pod 網路: Google Cloud 在建立叢集時建立預設 Pod 網路。預設 Pod 網路會使用主要虛擬私有雲做為節點網路。根據預設,所有叢集節點和 Pod 都可使用預設的 Pod 網路。

具有多個介面的 Pod:Pod 上的多個介面無法連線至同一個 Pod 網路。

下圖顯示採用 Layer 3 網路的一般 GKE 叢集架構:

多網路叢集

針對「裝置」類型網路 (可在 NetDevice 或 DPDK 模式中設定),VM vNIC 是以資源的形式管理,並傳遞至 Pod。DevicenetdeviceDPDK在此情況下,Pod 網路會直接對應至節點網路。「Device」類型的網路不需要次要範圍。

Pod 和節點網路

用途

Pod 的多網路支援功能可解決下列使用情境:

  • 部署容器化網路功能:如果您在容器中執行網路功能,這些容器會有個別的資料和管理層。Pod 的多重網路可隔離不同使用者層的網路、特定介面的高效能或低延遲,或是網路層級的多重租戶。這是為了符合法規、QoS 和安全需求。
  • 連線至相同機構和專案中的虛擬私有雲:您想在虛擬私有雲中建立 GKE 叢集,並連線至其他虛擬私有雲中的服務。您可以透過多重 NIC 節點選項直接連線。這可能是因為中樞和輪輻模型,其中集中式服務 (記錄、驗證) 在中樞虛擬私有雲中運作,而輪輻需要私人連線才能存取。您可以透過 Pod 的多網路支援功能,將 GKE 叢集中執行的 Pod 直接連線至中樞 VPC。
  • 使用 VFIO 執行 DPDK 應用程式:您想執行 DPDK 應用程式,這類應用程式需要透過 VFIO 驅動程式存取節點上的 NIC。您可以完全略過核心、Kubernetes 和 GKE Dataplane V2,達到最佳封包速率。
  • 啟用直接存取 vNIC,略過 Kubernetes 和 GKE Dataplane V2: 您在容器中執行網路功能,需要直接存取節點上的網路介面卡 (NIC)。舉例來說,高效能運算 (HPC) 應用程式想略過 Kubernetes 和 GKE Dataplane V2,以達到最低延遲。部分應用程式也希望存取 NIC 的 PCIe 拓撲資訊,以便與 GPU 等其他裝置共置。

優點

Pod 的多網路支援功能可帶來下列優點:

  • 流量隔離:Pod 支援多網路功能後,您就能在 GKE 叢集中隔離流量。您可以建立具有多個網路介面的 Pod,根據功能 (例如管理和資料層) 區分流量,這些 Pod 會在執行特定雲端原生函式 (CNF) 的 Pod 中。
  • 雙重歸屬:雙重歸屬可讓 Pod 擁有多個介面,並將流量路由至不同的虛擬私有雲,讓 Pod 與主要和次要虛擬私有雲建立連線。如果某個 VPC 發生問題,應用程式可以回復到次要 VPC。
  • 網路區隔:Pod 可根據工作負載需求連線至內部或外部網路。您可以根據工作負載的具體需求,選擇要將哪些 Pod 或 Pod 群組連線至各個網路。舉例來說,您可以將內部網路用於東西向通訊,外部網路則用於存取網際網路。您可以根據工作負載的特定需求,調整網路連線。
  • 透過 DPDK 達到最佳效能:GKE 的 Pod 多網路支援功能可讓 DPDK 應用程式在 GKE Pod 中執行,提供最佳封包處理效能。
  • Pod 中直接提供主機 NICnetdevice 模式 NIC 支援多網路,可將 VM NIC 直接傳遞至 Pod,略過 Kubernetes 和 GKE Dataplane V2。這樣一來,裝置間的協作延遲時間就能縮到最短。
  • 效能:如要提升應用程式效能,您可以將應用程式連線至最符合應用程式需求的網路。

後續步驟