Container Service Kubernetes 版支援兩種容器網路外掛程式:Terway與Flannel。這兩種容器網路外掛程式擁有不同的底層實現與特性,適用於不同的應用情境。容器網路外掛程式需要在建立叢集時進行安裝,且叢集建立後不支援更改,請您在建立叢集前完成容器網路外掛程式選型。
對比項 | Terway | Flannel |
外掛程式來源 | 阿里雲自研的網路外掛程式,專為ACK最佳化,擁有多種工作模式。 | Kubernetes社區提供的的Flannel CNI外掛程式。 |
適用情境 | 使用大規模叢集,希望避免IP地址浪費,需要較高網路效能,或對容器網路有自訂控制需求的情境。 | 使用小規模叢集,僅需要簡單的容器網路體驗,不需要使用網路原則(Network Policy),也無需對容器網路進行自訂控制的情境。 |
Pod網段 |
|
|
單節點Pod限額 | Pod使用節點ENI,單節點Pod限額由節點的規格決定。詳細計算方法請參見節點Pod限額計算方法。 | Pod限額由分配給節點的Pod網段大小決定,與節點規格無關。每個節點預設支援256個Pod。 |
叢集規模 | 預設支援5000個節點,申請配額後最大支援15000個節點。 | 使用Flannel時,每一個節點對應一條VPC路由表項。受限於VPC路由表大小,單VPC預設支援200個節點,申請配額後最大支援1000個節點。 |
網路效能 |
| Pod使用所在節點的網路通訊協定棧對外訪問,存在NAT轉換損耗。 |
IPv4/IPv6雙棧 | 支援雙棧。 | 不支援雙棧。 |
Network Policy支援 | 支援Kubernetes原生網路原則Network Policy,可以定義複雜的容器間存取控制。 | 不支援Network Policy。 |
固定Pod IP | 支援為Pod配置固定IP。 | 不支援為Pod配置固定IP。 |
網路安全 | 支援為Pod配置獨立的虛擬交換器與安全性群組。 | 不支援為Pod配置獨立的虛擬交換器與安全性群組。 |
會話保持 | 負載平衡後端直接對接Pod,依託會話保持能力,可以實現在後端Pod發生變化時服務無中斷。 | 負載平衡後端使用NodePort串連Pod,在Pod發生變化時,流量會中斷, 可能導致業務上的重試。 |
多叢集互訪 | 多個叢集的Pod之間只要設定安全性群組開放連接埠就可以互相通訊。 | 無法支援。 |
Pod源IP保留 | Pod訪問VPC內其他端點,所使用的源IP都是Pod IP,便於審計。 | Pod訪問VPC內其他端點,所使用的源IP是節點IP,Pod IP無法保留。 |
後續步驟
在建立叢集後,為Pod、Service、節點分配的網段無法修改。網段的大小決定這三種資源的數量上限,可能會對您的業務部署產生影響。規劃不同的網段可以實現資源在網路邏輯上的隔離,以便於您實現存取控制、定製化路由等操作。因此推薦您在建立叢集前完成網段規劃,具體操作請參見Kubernetes叢集網路規劃。
完成網段規劃後:
如果您計劃使用Terway,請參見使用Terway網路外掛程式在建立叢集時安裝Terway。
如果您計劃使用Flannel,請參見使用Flannel網路外掛程式在建立叢集時安裝Flannel。