隨著容器技術的發(fā)展成熟,越來越多的組件遷移到容器,在技術遷移過程中,數(shù)據(jù)庫,游戲,AI這些組件對容器網絡性能(時延,吞吐,穩(wěn)定性)提出了更高的要求。為了得到更優(yōu)的時延和吞吐表現(xiàn),各大云廠商都在致力于縮短節(jié)點內容器的網絡訪問鏈路,讓數(shù)據(jù)包能盡可能快地轉發(fā)到容器網卡。
騰訊云容器服務TKE借助智能網卡推出新一代容器網絡方案,實現(xiàn)了一個Pod獨占一張彈性網卡,不再經過節(jié)點網絡協(xié)議棧(default namespace),極大縮短容器訪問鏈路和訪問時延,并使PPS可以達到整機上限?;谛乱淮萜骶W絡方案,短鏈接場景下,QPS相比之前容器網絡方案(策略路由方案,網橋方案)提升50%-70%;長鏈接場景下QPS提升40%-60%。
由于不再經過節(jié)點網絡協(xié)議棧,傳統(tǒng)基于iptables和IPVS的ClusterIP service訪問方案不能直接適用于新方案。為了同時能實現(xiàn)Pod可以直接訪問ClusterIP service,TKE推出share-NS IPVS方案,使得在容器網絡命名空間下,也可以訪問到節(jié)點網絡協(xié)議棧的IPVS規(guī)則;同時,配合CLB直通Pod,最終實現(xiàn)了完整意義上的彈性網卡直通。
新一代容器網絡方案實現(xiàn)了針對ClusterIP service短鏈接場景下,QPS相比iptables方案提升40%-60%,IPVS方案提升70%-90%;長鏈接場景下,QPS相比iptables方案提升30%-50%,IPVS方案提升50%-70%。
新一代容器網絡方案推出背景
在介紹新一代容器網絡方案前,先和大家介紹一下TKE現(xiàn)有網絡方案,和現(xiàn)有網絡方案面臨的挑戰(zhàn),以及客戶新訴求。
現(xiàn)有網絡方案介紹
騰訊云容器服務TKE目前提供了兩種容器網絡模式供用戶選擇使用。
GlobalRouter模式:基于vpc實現(xiàn)的全局路由模式,目前是TKE默認網絡方案。該模式依托于vpc底層路由能力,不需要在節(jié)點上配置vxlan等overlay設備,就可實現(xiàn)容器網絡和vpc網絡的互訪,并且相比于calico/flannel等網絡方案,沒有額外的解封包,性能也會更好。
VPC-CNI模式:TKE基于CNI和VPC彈性網卡實現(xiàn)的容器網絡能力,適用于Pod固定IP,CLB直通Pod,Pod直綁EIP等場景。該網絡模式下,容器與節(jié)點分布在同一網絡平面,容器IP為IPAMD組件所分配的彈性網卡IP。
GlobalRouter和VPC-CNI模式目前已服務TKE上萬企業(yè)用戶,兩種網絡模式也存在一定使用限制?!揪唧w可查看官方文檔如何選擇TKE網絡模式:https://cloud.tencent.com/document/product/457/41636】
隨著客戶使用場景的豐富,TKE的客戶對容器網絡又提出了更高的要求。
客戶對TKE網絡方案的新需求
除了在為騰訊外部客戶提供容器網絡能力外,騰訊云容器服務TKE作為騰訊內部業(yè)務云原生的底座,在支持騰訊內部自研業(yè)務上云如QQ、騰訊會議、游戲、CDB、大數(shù)據(jù)等業(yè)務的過程中也收到以下的需求點:
·在VPC-CNI模式的基礎上進一步降低資源損耗,降低網絡時延,提高網絡吞吐(關鍵點)
·支持Pod級別的安全隔離
·支持CLB直通Pod,不再經過NodePort轉發(fā),提升轉發(fā)性能并擁有統(tǒng)一的負載均衡視圖
基于以上場景,TKE團隊聯(lián)合底層騰訊云VPC團隊、虛擬化團隊推出了新一代的獨立網卡的VPC-CNI方案。
TKE新一代網絡方案介紹
TKE新一代網絡方案在原有VPC-CNI模式單網卡多IP模式的基礎上,進階為容器直接獨享使用彈性網卡,無縫對接騰訊云私有網絡產品的全部功能,同時在性能做了極大的提升。
壓測數(shù)據(jù)說明
為了得到不同網絡方案下的QPS,這里控制變量,讓不同網絡方案的nginx Pod運行在同一個節(jié)點,使用wrk分別壓測不同Pod,并讓服務端節(jié)點的cpu接近100%。
為了得到不同Service方案下的QPS,這里控制變量,讓kube-proxy和wrk Pod運行在同一節(jié)點,壓測相同后端,并讓客戶端節(jié)點的cpu接近100%。
功能簡介
新一代VPC-CNI模式的網絡方案中,能夠在原有的網絡能力中額外增加
1.支持Pod綁定EIP/NAT,不再依賴節(jié)點的外網訪問能力,無須做SNAT,可以滿足直播、游戲、視頻會議等高并發(fā),高帶寬外網訪問場景
2.支持Pod綁定安全組,實現(xiàn)Pod級別的安全隔離
3.支持基于Pod名稱的固定IP,Pod重新調度后仍能保證IP不變
4.支持CLB直通Pod,不再經過NodePort轉發(fā),提升轉發(fā)性能并擁有統(tǒng)一的負載均衡視圖
5.即將支持黑石2.0物理服務器(推薦使用,默認使用智能網卡,網絡性能更高)
6.即將支持基于Pod名稱的固定EIP,滿足Pod固定外網出口
使用方法
申請新一代容器網絡方案內測開通后,創(chuàng)建TKE集群時容器網絡模式選擇VPC-CNI/Pod獨立網卡模式即可:
實現(xiàn)原理簡介
新一代方案在原有VPC-CNI模式的基礎上擴展,依托于彈性網卡,將綁定到節(jié)點的彈性網卡通過CNI配置到容器網絡命名空間,實現(xiàn)容器直接獨享使用彈性網卡。
當前內測階段使用限制
1.僅支持部分S5的機型使用該網絡模式。
2.節(jié)點上運行的Pod數(shù)量限制為節(jié)點核數(shù)的5倍。
3.僅支持新集群,存量TKE集群暫不支持變更網絡方案。