微軟推出Azure CNI Overlay,在AKS上提供與主機網路相當的網路效能,支援叢集線性擴展,解決傳統CNI所導致的規模擴展限制。
微軟在其Kubernetes服務AKS正式推出Azure CNI Overlay,這是一項能夠突破現有AKS網路工作負載規模和效能的服務,其所提供的網路效能可與主機網路相當,並且使叢集能夠線性擴展。
AKS用戶在創建叢集時,可以選用各種網路套件,諸如kubenet、Azure CNI VNET與BYOCNI等。kubenet網路套件以Azure路由表和橋接套件為基礎,進行跨節點通訊,因此在雙堆疊叢集最多不能超過400個節點。
而Azure CNI VNET與BYOCNI等這些以CNI(Container Networking Interface)為基礎的網路套件,雖然能夠創建原生虛擬網路連接,使容器與虛擬網路中的其他資源相連接,但是CNI存在一些限制,由於每個節點的容器都需要唯一的虛擬網路IP地址,因此大型叢集可能會迅速消耗IP地址,而這限制了叢集的規模和擴展能力,甚至可能發生延遲和不穩定等問題
因此要解決這些,並且支援多節點和Pod,且不受效能、規模和IP耗盡限制的AKS使用案例,微軟開發了新的Azure CNI Overlay解決方案。微軟在CNI之上創建了一個抽象層,簡化和最佳化網路配置,Azure CNI Overlay會從用戶所定義的抽象層地址空間分配IP地址,而不使用虛擬網路中的IP地址。
如此,Azure CNI Overlay帶來了許多優勢,由於其以私有地址空間的路由,作為原生虛擬網路的功能,因此雖然在使用Overlay網路時,容器之間的通訊發生在虛擬的Overlay網路中,但是實際上仍仰賴底層虛擬網路VNET的路由功能來傳輸資料封包,因此叢集節點也就不需要執行額外操作,因而降低網路管理的複雜性,容器間的通訊可以獲得原生虛擬網路的安全性和穩定性,以高效能的網路進行通訊。
由於Azure CNI Overlay的底層,仍由VNET維護Pod CIDR區塊到節點的映射,因此當Pod流量離開節點時,VNET平臺還是能夠掌握流量去向,使得Pod Overlay網路能夠實現和原生VNET流量相同的效能,並且支援高達數百萬個Pod和數千個節點。
微軟將Azure CNI Overlay和VXLAN Overlay相比,Azure CNI Overlay明顯擁有更好的效能,官方提到,因為封裝CNI所產生的成本,是叢集效能下降的重要原因,特別是隨著叢集規模成長,這樣的情況會更加明顯,而Azure CNI Overlay可消除封裝資源消耗,在各種規模的叢集提供一致的效能表現。
文章來源:iThome