Azure CNI 網路概觀

已完成

Kubernetes 支援各種外掛程式,可讓您新增新功能,並取代或增強現有的叢集行為。 容器網路介面 (CNI) 是一種規格,可讓開發人員建立外掛程式來設定容器網路。 Kubernetes 會套用 CNI 規格,在叢集上使用 CNI 外掛程式。

Azure CNI 外掛程式

Azure CNI 外掛程式可讓容器與 Azure 虛擬網路 (VNet) 之間進行共同作業。 在 Kubernetes 叢集中使用 Azure CNI,可為 Pod 指派 Azure 虛擬網路中的 IP 位址。 接著,該 Pod 就可以和其他裝置一樣在該虛擬網路上進行通訊。 它可以使用 VPN 或 ExpressRoute 連線到其他 Pod、對等互連網路或內部部署網路,或使用私人連結連線到其他 Azure 服務。

除了傳統的 Azure CNI 外掛程式之外,Azure Kubernetes Service (AKS) 還支援下列 CNI 外掛程式:

外掛程式 描述 使用時機
Azure CNI 重疊 叢集節點會部署到 Azure 虛擬網路子網路。 Pod 會從私人 CIDR (無類別網域間路由選擇) 以邏輯方式指派 IP 位址,與裝載節點的虛擬網路不同。 叢集中的 Pod 和節點流量會使用重疊網路。 NAT 會使用節點的 IP 位址連線到叢集外部的資源。 • 您想要調整為大量的 Pod,但是您虛擬網路中的 IP 位址空間有限。
• 大部分的 Pod 通訊是在叢集內。
• 您不需要虛擬節點之類的進階 AKS 功能。
由 Cilium 提供的 Azure CNI 結合 Azure CNI 控制平面與 Cilium 資料平面。 Cilium 會強制執行網路原則來允許或拒絕 Pod 之間的流量,因此您不需要使用不同的網路原則引擎。 您可以在指派 Pod IP 的兩種不同方法之間做選擇:透過重疊網路或虛擬網路。 • 您需要大型叢集的支援。
• 您想要更快的服務路由、更有效率的網路原則強制執行,以及更好的叢集流量可檢視性。
• 您想要使用具有高效能網路和安全性的傳統 Azure CNI 和 Azure CNI 重疊外掛程式的功能。
適用於 IP 和增強子網路支援動態配置的 Azure CNI 使用傳統 Azure CNI 外掛程式的功能,並在其基礎上擴充,從與裝載 AKS 叢集的子網路區隔的子網路配置 Pod IP。 IP 會從 Pod 子網路動態配置給叢集 Pod。 節點和 Pod 子網路可以獨立調整,並在相同虛擬網路中的多個節點集區或叢集之間共用 Pod 子網路。 由於 Pod 有個別的子網路,因此您可以為其設定不同於節點原則的其他虛擬網路原則。 • 您想要彈性地獨立調整節點和 Pod 子網路。
• 您需要大型叢集的支援,又不會犧牲效能。
• 您想要為 Pod 設定個別的虛擬網路原則。
自備 (BYO) CNI (部分機器翻譯) AKS 叢集會部署,而不需要預先安裝 CNI 外掛程式。 您可以從該處安裝慣用 Azure 支援的非 Microsoft CNI 外掛程式。 Azure Kubernetes Service (AKS) 中應用程式的網路概念 (部分機器翻譯) 請記住,Microsoft 支援無法對使用 BYO CNI 部署之叢集中的 CNI 相關問題提供協助。 • 您想要在 AKS 中使用您在內部部署 Kubernetes 環境中所使用的相同 CNI 外掛程式。
• 您想要使用支援的非 Microsoft 外掛程式中可用的進階功能。