QPS最高提升91% 騰訊云TKE基于Cilium eBPF提升k8s Service性能,騰訊云tke 容器實戰(zhàn)-ESG跨境

QPS最高提升91% 騰訊云TKE基于Cilium eBPF提升k8s Service性能,騰訊云tke 容器實戰(zhàn)

來源網(wǎng)絡
來源網(wǎng)絡
2022-07-05
點贊icon 0
查看icon 1784

QPS最高提升91% 騰訊云TKE基于Cilium eBPF提升k8s Service性能,騰訊云tke 容器實戰(zhàn)QPS高達91% 騰訊云TKE基于纖毛eBPF提升k8s服務性能前言Kubernetes已經(jīng)成為集裝箱管理領域事實上的標準,網(wǎng)絡系統(tǒng)是Kubernetes的核心部分。隨著越來越多的業(yè)務部署在Kuberne......

QPS最高提升91% 騰訊云TKE基于Cilium eBPF提升k8s Service性能,騰訊云tke 容器實戰(zhàn)




QPS高達91% 騰訊云TKE基于纖毛eBPF提升k8s服務性能

前言

Kubernetes已經(jīng)成為集裝箱管理領域事實上的標準,網(wǎng)絡系統(tǒng)是Kubernetes的核心部分。隨著越來越多的業(yè)務部署在Kubernetes,對集裝箱網(wǎng)絡提出了一些新的要求。

1.如何提高網(wǎng)絡的可觀測性,無服務器產(chǎn)品的需求尤為突出。

2.如何最大限度地減少容器對網(wǎng)絡性能的損失

上述需求沖擊引入了傳統(tǒng)的防火墻和負載平衡器技術,如iptables和IPVS。這也促使我們考慮容器網(wǎng)絡訪問鏈路是否可以獨立于節(jié)點,從而縮短容器訪問鏈路,提高網(wǎng)絡性能。

EBPF是一項革命性的技術,它可以安全地在內(nèi)核的許多鉤子點執(zhí)行程序。該技術可編程性強,無需維護內(nèi)核模塊,可維護性好。這項技術為滿足上述要求提供了可能性。ciu[1]是基于eBPF技術的容器網(wǎng)絡開源項目,提供網(wǎng)絡互操作、服務負載均衡、安全性和可觀測性等解決方案。

因此,騰訊云容器服務TKE基于Cilium和eBPF實現(xiàn)了獨立網(wǎng)卡模式下的高性能ClusterIP服務方案。TKE致力于提供更高性能、更安全和更易于使用的集裝箱網(wǎng)絡。因此,TKE將持續(xù)關注纖毛等前沿的集裝箱網(wǎng)絡技術解決方案,未來將推出更多更完善的纖毛產(chǎn)品化能力。

獨立網(wǎng)卡服務方案

TKE去年推出了新一代的容器網(wǎng)絡方案,實現(xiàn)了一個Pod獨占一個彈性網(wǎng)卡,無需經(jīng)過節(jié)點網(wǎng)絡協(xié)議棧(默認命名空間)。但是目前針對ClusterIP的kubeproxy解決方案都依賴于在節(jié)點側(cè)的網(wǎng)絡協(xié)議棧中設置相應的iptables規(guī)則,所以這種解決方案不再適用于獨立網(wǎng)卡解決方案。

解決方案之一是Cilium,它提供基于eBPF的地址翻譯能力,從而支持ClusterIP服務。但其原生解決方案只支持veth pair和ipvlan l3的數(shù)據(jù)平面,完全不支持Pod不通過節(jié)點網(wǎng)絡協(xié)議棧的數(shù)據(jù)平面,因此無法原生解決獨立網(wǎng)卡ClusterIP的接入問題。

TKE由此改造了Cilium,使其支持除了原生支持的veth和ipvlan l3之外的第三種數(shù)據(jù)平面方案,如圖所示(假設pod接入服務IP為172.16.0.2)。在數(shù)據(jù)平面上,原本掛載在節(jié)點側(cè)veth上的bpf程序掛載在pod中的獨立網(wǎng)卡(也是彈性網(wǎng)卡)上。它使得Pod的網(wǎng)絡報文在發(fā)出的時候做DNAT(目的地址轉(zhuǎn)換),返回的報文在網(wǎng)卡收到的時候做反向DNAT,從而支持ClusterIP訪問。該數(shù)據(jù)平面方案可以用作通用方案,以適應Ipvlan l2、SRIOV和其他數(shù)據(jù)平面場景。

在控制端,Cilium與TKE的VPCCNI模式(包括共享網(wǎng)卡模式和獨立網(wǎng)卡模式)深度融合,用戶無需對業(yè)務代碼邏輯做任何修改,即可使用Cilium的功能特性。

性能比較

本文使用wrk工具對Cilium的產(chǎn)品化解決方案進行性能測試,測試確??蛻舳薖od和服務器Pod分布在不同的節(jié)點。

測試環(huán)境:TKE集群,4個CVM節(jié)點,配置為服務器5.2個大8,客戶端5.2個小2

測試結(jié)果表明,基于纖毛的ClusterIP接入方案性能最佳。在短連接場景下,其QPS比共享網(wǎng)卡的iptables和ipvs方案分別提高了48%和74%,比全局路由的iptables和ipvs方案分別提高了62%和91%。在長連接場景下,其QPS比共享網(wǎng)卡的iptables和ipvs方案分別提高了33%和57%,比全局路由的iptables和ipvs方案分別提高了49%和66%。iptables的性能優(yōu)于ipvs是因為測試環(huán)境中沒有足夠的服務,而ipvs的優(yōu)勢在于大量服務的場景。

產(chǎn)品化過程中的相關問題

TKE團隊在實現(xiàn)Cilium產(chǎn)品化解決方案的過程中也發(fā)現(xiàn)了Cilium項目中的一些問題,相應的解決方案和Cilium支持新數(shù)據(jù)平面計劃將于近日以pr的形式提交給Cilium社區(qū)。

ClusterIP自訪問在獨立網(wǎng)卡方案下被阻止

事實上,上述解決方案并不能完全解決ClusterIP訪問的問題,有一種特殊的場景會阻止訪問。這種場景就是Pod訪問的ClusterIP,它的后端包括它自己。在這種場景下,獨立網(wǎng)卡的Pod發(fā)快遞的網(wǎng)絡消息會直接到達IaaS層,不符合預期。

由于獨立網(wǎng)卡Pod中實際上只有兩個網(wǎng)絡設備:loopback device (lo)和elastic網(wǎng)卡,一個簡單的思路就是在發(fā)快遞消息之前,通過bpfredirect調(diào)用直接將自接入流量重定向到loopback device?;诖?,TKE團隊修改了纖毛的相關bpf代碼并提供了解決方案。經(jīng)過測試,該方案可以解決獨立網(wǎng)卡方案下的ClusterIP自訪問問題。

缺少加載bpf程序的纖毛的名稱

Cilium項目的調(diào)試中存在問題。它的bpf程序開發(fā)的比較早,很多老的工具集,比如tc,都是用在底層加載bpf代碼。

老tc基于老內(nèi)核版本(lt;4.15)設計上,它在加載bpf程序時忽略了bpf程序的名稱,導致所有由Cilium加載的bpf程序都是無名的。這會影響對代碼的理解、跟蹤和調(diào)試。

為此,TKE團隊結(jié)合更新的內(nèi)核修改了tc工具,這樣當它加載bpf程序時,它將正確地傳入名字。通過這個名字,我們可以發(fā)現(xiàn)實際運行的是哪個bpf函數(shù),從而提高Cilium的調(diào)試。

用法

申請Cilium支持開啟ClusterIP產(chǎn)品化內(nèi)測后,創(chuàng)建TKE集群時,在高級設置中開啟ClusterIP增強:

總結(jié)和展望

介紹了TKE團隊實現(xiàn)的基于Cilium和eBPF的獨立網(wǎng)卡模式下的高性能ClusterIP服務方案,與目前基于iptables和ipv的傳統(tǒng)網(wǎng)絡方案相比,性能大幅提升(33%91%)。

顯然,Cilium提供的功能不止于此。基于eBPF這一革命性技術,它還提供了安全性、可觀察性、QoS等能力。,而提供更高性能、更安全和更易用的集裝箱網(wǎng)絡是TKE的服務目標。因此,后續(xù)TKE將積極參與纖毛社區(qū),與社區(qū)共同推出更強更好的容器網(wǎng)絡能力。

參考數(shù)據(jù)

[1]纖毛工程官網(wǎng):[https://cilium.io/]

[2] eBPF介紹和參考指南:[https://docs.cilium.io/en/v1.10/bpf/]

[3] Kubernetes服務:【https://Kubernetes . io/docs/concepts/servicesnetworking/Service/】

[4]騰訊云容器服務TKE推出新一代零損耗容器網(wǎng)絡。


文章推薦
Pinterest 2021年趨勢預測報告,pinterest 預測
Pinterest推廣如何獲得更多流量和客戶1,pinterest運營技巧
HUAWEI Ads簡介,huawei ads是什么
paypal自動續(xù)費關閉簡單教程,paypal有效期限填哪里


特別聲明:以上文章內(nèi)容僅代表作者本人觀點,不代表ESG跨境電商觀點或立場。如有關于作品內(nèi)容、版權或其它問題請于作品發(fā)表后的30日內(nèi)與ESG跨境電商聯(lián)系。

搜索 放大鏡
韓國平臺交流群
加入
韓國平臺交流群
掃碼進群
歐洲多平臺交流群
加入
歐洲多平臺交流群
掃碼進群
美國賣家交流群
加入
美國賣家交流群
掃碼進群
ESG跨境專屬福利分享群
加入
ESG跨境專屬福利分享群
掃碼進群
拉美電商交流群
加入
拉美電商交流群
掃碼進群
亞馬遜跨境增長交流群
加入
亞馬遜跨境增長交流群
掃碼進群
亞馬遜跨境增長交流群
加入
亞馬遜跨境增長交流群
掃碼進群
拉美電商交流群
加入
拉美電商交流群
掃碼進群
ESG獨家招商-PHH GROUP賣家交流群
加入
ESG獨家招商-PHH GROUP賣家交流群
掃碼進群
《TikTok官方運營干貨合集》
《TikTok綜合運營手冊》
《TikTok短視頻運營手冊》
《TikTok直播運營手冊》
《TikTok全球趨勢報告》
《韓國節(jié)日營銷指南》
《開店大全-全球合集》
《開店大全-主流平臺篇》
《開店大全-東南亞篇》
《CD平臺自注冊指南》
通過ESG入駐平臺,您將解鎖
綠色通道,更高的入駐成功率
專業(yè)1v1客戶經(jīng)理服務
運營實操指導
運營提效資源福利
平臺官方專屬優(yōu)惠
聯(lián)系顧問

平臺顧問

平臺顧問 平臺顧問

微信掃一掃
馬上聯(lián)系在線顧問

icon icon

小程序

微信小程序

ESG跨境小程序
手機入駐更便捷

icon icon

返回頂部