Terway是阿里云開源的基于專有網絡VPC的容器網絡接口CNI(Container Network Interface)插件,支持基于Kubernetes標準的網絡策略來定義容器間的訪問策略。
閱讀前提示
為了讓您能更好地了解Terway的工作模式,建議您在使用Terway網絡插件前閱讀本文檔。
閱讀本文前,推薦您參見網絡概述、Terway與Flannel的對比文檔了解容器網絡插件的基本概念并完成容器網絡插件選型。
創建集群前需要對集群中的網段進行規劃,具體操作請參見Kubernetes集群網絡規劃。
費用說明
使用Terway插件并不收費,但在每個節點上都會部署Terway所使用的Pod,這些Pod會占用少量節點資源。關于ACK的云產品資源計費信息,請參見云產品資源計費。
節點Pod限額計算方法
使用Terway網絡插件時,單節點支持的最大數量基于節點使用的ECS規格支持的ENI數量。Terway對單節點的Pod限額有最低限制,單節點支持的Pod限額需要滿足限制才能正常加入集群。詳細信息請參見下表:
Terway模式 | 單節點Pod限額 | 示例值 | 單節點支持固定IP、獨立虛擬交換機、獨立安全組功能的Pod數量 |
共享ENI模式 | (ECS規格支持的ENI數量-1)×單個ENI支持的私有IP數。 (EniQuantity-1)×EniPrivateIpAddressQuantity 說明 單節點的Pod限額必須>11才能加入集群。 | 以通用型實例規格族g7的ecs.g7.4xlarge規格為例。該規格實例支持8個ENI,單個ENI支持30個私有IP。單節點Pod限額為(8-1)×30=210個Pod。 重要 使用節點ENI的Pod限額是由節點規格決定的固定值。修改 | 0 |
共享ENI模式+Trunk ENI | 單節點Trunk Pod限額: ECS規格支持的總網卡數-ECS規格支持的彈性網卡數。 EniTotalQuantity-EniQuantity | ||
獨占ENI模式 | EniQuantity-1 說明 單節點的Pod限額必須>6才能加入集群。 | 以通用型實例規格族g7的ecs.g7.4xlarge規格為例。該規格實例支持8個ENI。單節點Pod限額為(8-1)=7個Pod。 | EniQuantity-1 |
在Terway v1.11.0及之后的版本中,Terway支持為節點池選擇獨占ENI模式或共享ENI模式,在單個集群中可同時存在兩種節點池,更多信息請參見Terway發布記錄。
查看節點支持的最大容器網絡Pod數量
在創建集群時安裝Terway網絡插件
您需要在創建集群時安裝Terway網絡插件,已創建的集群不支持修改網絡插件類型。
登錄容器服務管理控制臺,在左側導航欄選擇集群。
在集群列表頁面,單擊創建集群。
為Terway網絡插件配置集群網絡的關鍵參數。關于創建集群的其他參數,請參見創建ACK托管集群。
配置項
說明
IPv6雙棧
勾選開啟后,會為集群開啟雙棧,同時支持IPv4與IPv6地址。
專有網絡
集群所使用的VPC。
網絡插件
選擇Terway。
DataPath V2
勾選后,會使用DataPathv2加速模式。選擇加速模式后,Terway會采取不同于共享ENI常規模式的流量轉發鏈路,實現更快的網絡通信。此模式的具體特性,請參見網絡加速。
說明開啟后,Terway policy容器預計會在每個Worker節點上多占用0.5核512MB的資源,此消耗會隨著集群規模增大而增大。在Terway默認配置中,policy容器的CPU上限為1核,內存無限制。
NetworkPolicy 支持
勾選后,則會支持Kubernetes原生的
NetworkPolicy
。說明從Terway v1.9.2開始,新建集群NetworkPolicy由eBPF的實現提供,數據面會開啟DataPathv2功能。
通過控制臺管理
NetworkPolicy
的功能正在公測中,如果您希望使用,請在配額平臺提交申請。
Trunk ENI 支持
勾選后,會啟用Trunk ENI模式,可以為每個Pod配置固定IP、獨立的虛擬交換機、安全組。
說明ACK托管集群無需申請即可選擇Trunk ENI選項。如果您希望在ACK專有集群中開啟Trunk ENI,請先在配額平臺提交申請。
從Kubernetes 1.31開始,新建的ACK托管集群會自動啟用Trunk ENI功能,無需手動進行選擇。
虛擬交換機
集群中節點所使用的虛擬交換機網段。建議選擇來自3個及以上不同可用區的交換機,以達到更高集群可用性等級。
Pod 虛擬交換機
Pod所使用的虛擬交換機網段,可以與節點虛擬交換機網段重合。
Service CIDR
Service所使用的網段,不能與節點及Pod的網段重合。
IPv6 Service CIDR
IP在啟用IPv6雙棧后可配置。
Terway工作模式參考信息
您可參照下方的詳細介紹,了解Terway多種模式具體的對比以及工作原理。
共享ENI模式與獨占ENI模式
為Pod分配IP地址時,Terway有兩種模式:共享ENI模式和獨占ENI模式。
在Terway v1.11.0及之后的版本中,Terway在單個集群中支持為單個節點池選擇共享ENI或獨占ENI模式,在創建集群時不再支持勾選。
節點上的主彈性網卡被分配給節點OS,其余彈性網卡會被Terway托管用于配置Pod網絡,因此請勿手動配置這些彈性網卡。如果您需要自行管理部分彈性網卡,請參見為彈性網卡(ENI)配置白名單。
對比項 | 共享ENI模式 | 獨占ENI模式 | |
Pod IP地址管理 | ENI分配方式 | 多個Pod共享一個ENI。 | 每個Pod在其節點上獨占一個ENI。 |
Pod部署密度 | Pod部署密度較高。單個節點可支持數百個Pod。 | Pod部署密度較低。常用規格的節點只支持個位數的Pod。 | |
網絡架構 | |||
數據鏈路 | Pod訪問其他Pod,或作為Service后端被訪問時,流量都會經過節點的網絡協議棧。 | Pod訪問Service時,流量仍舊會經過節點操作系統的協議棧。但當Pod訪問其他Pod,或作為Service后端被訪問時,會直接使用掛載的ENI繞過節點網絡協議棧,以此獲得更高的性能。 | |
適用場景 | 常規的Kubernetes使用場景。 | 這種模式中網絡性能更接近于傳統虛擬機,適合對網絡性能有較高要求的場景,比如需要高網絡吞吐量或低延遲的應用。 | |
網絡加速 | 支持DadaPathv2網絡加速,具體信息請參見網絡加速。 | 不支持網絡加速,但Pod獨占ENI資源,已經提供了極佳的網絡性能。 | |
NetworkPolicy支持 | 支持Kubernetes原生的 | 不支持 | |
訪問控制 | 開啟Trunk ENI配置后,支持為Pod配置固定IP、獨立的安全組和虛擬交換機,具體信息請參見為Pod配置固定IP、獨立虛擬交換機與安全組。 | 默認支持為Pod配置固定IP、獨立的安全組和虛擬交換機。 |
網絡加速
使用Terway共享ENI模式時,可以選擇開啟網絡加速模式。選擇開啟加速模式后,Terway會采取不同于常規共享ENI模式的流量轉發路徑,以達成更高的性能。Terway目前支持DataPathv2加速模式,請參考下方的說明了解DataPathv2的特點。
DataPathv2是更早的IPvlan+eBPF加速模式的升級版。在Terway V1.8.0及更晚的版本中,創建集群并安裝Terway插件時只支持選擇DataPathv2加速。
DataPathv2加速模式與IPvlan+eBPF加速模式僅適用于共享ENI節點池,不影響獨占ENI節點池。
DataPathv2特點 | 說明 |
適用Terway版本 | Terway V1.8.0及后續版本中創建的集群。 |
網絡架構 | |
加速數據鏈路 |
|
性能優化 |
|
使用方法 | 在創建集群時,為網絡插件選擇Terway后,勾選DataPath V2選項。 |
注意事項 |
|
在更早創建的集群中,您可能選擇了IPvlan+eBPF加速模式,您可以參照下方的說明了解其特點。
IPvlan+eBPF特點 | 說明 |
適用Terway版本 | Terway V1.7.0及更早版本中創建的集群。 |
網絡架構 | |
加速數據鏈路 |
|
使用方法 | 在創建集群時,為網絡插件選擇Terway后,勾選Pod IPvlan選項。 |
訪問控制
Terway共享ENI模式通過對NetworkPolicy
的支持和Trunk ENI選項,允許對集群內的網絡流量進行更精細化的管理。Terway獨占ENI模式同樣支持一部分流量控制能力。
NetworkPolicy支持
Terway獨占ENI節點池不支持
NetworkPolicy
。Terway共享ENI節點池支持Kubernetes原生的
NetworkPolicy
功能,它通過用戶定義的規則來控制Pod之間的網絡流量。在創建集群時,如果為網絡插件選擇Terway后,勾選NetworkPolicy 支持選項,即可使集群支持
NetworkPolicy
。詳細信息,請參見在ACK集群使用網絡策略。說明通過控制臺管理
NetworkPolicy
的功能正在公測中,如果您希望使用,請在配額平臺提交申請。
為Pod配置固定IP、獨立虛擬交換機與安全組
Terway獨占ENI節點池默認支持為每個Pod配置固定IP、獨立的虛擬交換機及安全組,能提供精細化流量管理、流量隔離、網絡策略配置和IP管理能力。
Trunk ENI是Terway共享ENI節點池的一種選項。開啟Trunk ENI后,可以為每個Pod配置固定IP、獨立的虛擬交換機、安全組。
在創建集群時,網絡插件選擇Terway后,勾選Trunk ENI 支持選項。詳細信息,請參見為Pod配置固定IP及獨立虛擬交換機、安全組。
說明ACK托管集群無需申請即可選擇Trunk ENI選項。如果您希望在ACK專有集群中開啟Trunk ENI,請先在配額平臺提交申請。
從Kubernetes 1.31開始,新建的ACK托管集群會自動啟用Trunk ENI功能,無需手動進行選擇。
開啟Trunk ENI模式后,會安裝terway-eniip與terway-controlplane組件。