Cilium 首次集成国内云服务,阿里云 ENI 被纳入新版本特性
作者:清弦
阿里云技術專家,主要負責 ACK 容器網絡設計與研發,阿里云開源 CNI 項目 Terway 主要維護者,Cilium Alibaba IPAM 負責人
?
背景
?
近期 Cilium 社區發布了 Cilium 1.10 正式版本,在這個版本中正式支持阿里云 ENI 模式,阿里云也是國內首家支持 Cilium 的云廠商。
Cilium 是一個基于 eBPF 的高性能容器網絡項目,提供網絡、可觀測性、安全三方面的解決方案。
Cilium 本身支持 Overlay 網絡模式部署在各種云平臺或者自建的集群上,但是這種非云原生的網絡模式會帶來不小的性能損耗。阿里巴巴云原生容器服務團隊向 Cilium 社區貢獻了阿里云 ENI 模式,使得在阿里云上可以以云原生方式運行 Cilium 。
?
云原生容器服務團隊貢獻 PR
https://github.com/cilium/cilium/pull/15160
https://github.com/cilium/cilium/pull/15512
?
架構
?
AlibabaCloud Operator 是集群內的網絡資源控制器,承擔對網絡資源(ENI、ENIIP)統一管理、分配工作。
?
Cilium agent 通過 list-watch 機制、CNI 請求對 Operator 分配的地址資源進行配置、管理。
?
這種架構將所有阿里云 OpenAPI 調用集中到 Operator 中,可以有效的進行 API 請求管理,避免大規模集群下 API 流控問題。
?
基于 Cilium 1.10 + 阿里云 ENI 的高性能云原生網絡
?
Cilium 使用了 EBPF 內核技術對傳統數據鏈路進行了優化,繞過了Conntrack 模塊,對容器場景下網絡性能有了非常大的提高。在阿里云上使用 Cilium 1.10 + 阿里云 ENI 模式有多種按照方式,請閱讀 Cilium 社區的安裝文檔[1]。
?
為了使云上用戶享受到更加出色的網絡性能,阿里云自研的開源 CNI 插件 Terway [2] 與 Cilium 實現了更好的結合。Terway 支持使用阿里云的彈性網卡來實現的容器網絡。使得容器網絡和虛擬機網絡在同一個網絡平面,在不同主機之間容器網絡通信時不會有封包等損失,不依賴于分布式路由也能讓集群規模不受限于路由條目限制。目前,Terway IPvlan 模式已經深度集成 Cilium 。
使用 Terway IPvlan
使用 Terway 模式非常簡單,在阿里云容器服務控制臺,創建集群中選擇網絡插件 Terway ,并勾選 IPvlan 即可啟用。
?
IPvlan + eBPF 性能對比:
?
測試環境:
- 2 節點 ecs . g5ne . 4xlarge 機型
- 對比測試
Terway 獨占 ENI ( ipvs )
Terway 共享 ENI IPvlan ( ebpf )
Terway 共享 ENI veth ( ipvs )
Flanne l vxlan ( ipvs )
Netperf 性能對比 TCP_CRR
測試場景:使用 netperf 測試 Pod 間通訊
?
上圖數字越大性能越好
?
通過測試,可以看到基于 IPvlan 的 Pod 網絡延遲較低,在 TCP_CRR 的測試中性能指標和獨占 ENI 模式相當。
?
wrk + nginx 性能對比
測試場景:采用 wrk 壓測 nginx 的 Service 的方式,采用 100 字節的小頁面模擬常見的集群中微服務通信。
?
上圖數字越小性能越好
上圖數字越大性能越好
Terway IPvlan 模式在 wrk- nginx 的短連接測試中相對于傳統的 Terway veth 策略路由方式:
- ClusterIP 吞吐增加 277% , 延遲降低 50%。
總結
?
隨著 Kubernetes 已經成為容器調度的事實標準,企業上云的首選。容器網絡做為應用的底層基礎資源,得到越來越多的關注。
?
在阿里云上我們默認提供高性能的 Terway 網絡插件 [3] 幫助用戶充分使用云原生的網絡資源。Cilium 作為社區新興的容器網絡方案,在可觀測性、安全性上有許多出色的特性,本次增加的阿里云ENI模式,可以幫助 Cilium 的用戶充分使用阿里云上的網絡資源。我們也將繼續與社區同行,推動高性能的云原生網絡實現規模化落地。
?
安裝文檔:https://docs.cilium.io/en/v1.10/gettingstarted/alibabacloud-eni/#k8s-alibabacloud-eni
Terway: https://www.alibabacloud.com/help/zh/doc-detail/97467.htm
Terway 網絡插件:_ https://help.aliyun.com/document_detail/86500.html_
總結
以上是生活随笔為你收集整理的Cilium 首次集成国内云服务,阿里云 ENI 被纳入新版本特性的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: OpenKruise :SidecarS
- 下一篇: 进击的云原生,为开发者提供更多可能性