開發與維運

Cilium 首次集成國內雲服務,阿里雲 ENI 被納入新版本特性

頭圖1111.png

作者:清弦
阿里雲技術專家,主要負責 ACK 容器網絡設計與研發,阿里雲開源 CNI 項目 Terway 主要維護者,Cilium Alibaba IPAM 負責人

背景


近期 Cilium 社區發佈了 Cilium 1.10 正式版本,在這個版本中正式支持阿里雲 ENI 模式,阿里雲也是國內首家支持 Cilium 的雲廠商。

1.png

Cilium 是一個基於 eBPF 的高性能容器網絡項目,提供網絡、可觀測性、安全三方面的解決方案。

2.png

Cilium 本身支持 Overlay 網絡模式部署在各種雲平臺或者自建的集群上,但是這種非雲原生的網絡模式會帶來不小的性能損耗。阿里巴巴雲原生容器服務團隊向 Cilium 社區貢獻了阿里雲 ENI 模式,使得在阿里雲上可以以雲原生方式運行 Cilium 。

雲原生容器服務團隊貢獻 PR
https://github.com/cilium/cilium/pull/15160
https://github.com/cilium/cilium/pull/15512

架構


AlibabaCloud Operator 是集群內的網絡資源控制器,承擔對網絡資源(ENI、ENIIP)統一管理、分配工作。

3.png

Cilium agent 通過 list-watch 機制、CNI 請求對 Operator 分配的地址資源進行配置、管理。

這種架構將所有阿里雲 OpenAPI 調用集中到 Operator 中,可以有效的進行 API 請求管理,避免大規模集群下 API 流控問題。

4.png

基於 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 即可啟用。

5.png

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 間通訊

6.png

上圖數字越大性能越好

通過測試,可以看到基於 IPvlan 的 Pod 網絡延遲較低,在 TCP_CRR 的測試中性能指標和獨佔 ENI 模式相當。

wrk + nginx 性能對比

測試場景:採用 wrk 壓測 nginx 的 Service 的方式,採用 100 字節的小頁面模擬常見的集群中微服務通信。

7.png

上圖數字越小性能越好

8.png

上圖數字越大性能越好

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_

Leave a Reply

Your email address will not be published. Required fields are marked *