騰訊雲容器服務 TKE 推出新一代零損耗容器網路

隨著容器技術的發展成熟,越來越多的組件遷移到容器,在技術遷移過程中,資料庫,遊戲,AI 這些組件對容器網路性能(時延,吞吐,穩定性)提出了更高的要求。為了得到更優的時延和吞吐表現,各大雲廠商都在致力於縮短節點內容器的網路訪問鏈路,讓數據包能儘可能快地轉發到容器網卡。

騰訊雲容器服務 TKE 藉助智慧網卡推出下一代容器網路方案,該方案實現了一個 Pod 獨佔一張彈性網卡,不再經過節點網路協議棧(default namespace),極大縮短了容器訪問鏈路,縮短了訪問時延,並使 PPS 可以達到整機上限。該方案實現了短鏈接場景下 QPS 相比之前容器網路方案(策略路由方案,網橋方案)提升 50%-70%;長鏈接場景下 QPS 提升 40%-60%。

由於不再經過節點網路協議棧,傳統基於 iptables 和 IPVS 的 ClusterIP service 訪問方案不能直接適用於該方案。為了實現該方案下 Pod 可以直接訪問 ClusterIP service,TKE 推出 share-NS IPVS 方案,使得在容器網路命名空間下也可以訪問到節點網路協議棧的 IPVS 規則,同時配合 CLB 直通 Pod,實現了完整意義上的彈性網卡直通。

該方案實現了針對 ClusterIP service 短鏈接場景下 QPS 相比 iptables 方案提升 40%-60%,IPVS 方案提升 70%-90%;長鏈接場景下 QPS 相比 iptables 方案提升 30%-50%,IPVS 方案提升 50%-70%。

新一代容器網路方案推出背景

在介紹新一代容器網路方案前,先和大家介紹一下 TKE 現有網路方案,和現有網路方案面臨的挑戰,以及客戶新訴求。

現有網路方案介紹

騰訊雲容器服務 TKE 目前提供了兩種容器網路模式可供用戶選擇使用。

GlobalRouter 模式:基於 vpc 實現的全局路由模式, 目前是 TKE 默認網路方案。該模式依託於 vpc 底層路由能力,不需要在節點上配置 vxlan 等 overlay 設備,就可以實現容器網路 和 vpc 網路的互訪,並且相比於 calico/flannel 等網路方案,因為沒有額外的解封包,性能也會更好。

VPC-CNI 模式: TKE 基於 CNI 和 VPC 彈性網卡實現的容器網路能力,適用於 Pod 固定 IP,CLB 直通 Pod,Pod 直綁 EIP 等場景。該網路模式下,容器與節點分布在同一網路平面,容器 IP 為 IPAMD 組件所分配的彈性網卡 IP。

GlobalRouter 和 VPC-CNI 模式目前已服務 TKE 上萬企業用戶, 兩種網路模式也存在一定使用限制見:如何選擇TKE網路模式,隨著客戶使用場景的豐富, TKE 的客戶對容器網路又提出了更高的要求。

客戶對 TKE 網路方案的新需求

除了在為騰訊外部 TKE 客戶提供容器網路能力之外,騰訊雲容器服務 TKE 作為騰訊內部業務雲原生的底座,在支援騰訊內部自研業務上雲如 QQ、騰訊會議、遊戲、CDB、大數據等業務的過程中也收到以下的需求點:

  • 在 VPC-CNI 模式的基礎上進一步降低資源損耗,降低網路時延,提高網路吞吐(關鍵點)
  • 支援 Pod 級別的安全隔離
  • 支援 CLB 直通Pod,不再經過 NodePort 轉發,提升轉發性能並擁有統一的負載均衡視圖

基於以上場景,TKE 團隊聯合底層騰訊雲 VPC 團隊、虛擬化團隊推出了新一代的獨立網卡的 VPC-CNI 方案。

TKE新一代網路方案介紹

TKE 新一代網路方案在原有 VPC-CNI 模式單網卡多 IP 模式的基礎上, 進階為容器直接獨享使用彈性網卡,無縫對接騰訊雲私有網路產品的全部功能,同時在性能做了極大的提升(詳情見下文性能介紹)。

壓測數據說明

  • 為了得到不同網路方案下的 QPS,這裡控制變數,讓不同網路方案的 nginx Pod 運行在同一個節點,使用 wrk 分別壓測不同 Pod,並讓服務端節點的 cpu 接近100%。

  • 為了得到不同 Service 方案下的 QPS,這裡控制變數,讓 kube-proxy 和 wrk Pod 運行在同一節點,壓測相同後端,並讓客戶端節點的 cpu 接近100%。

功能簡介

新一代 VPC-CNI 模式的網路方案中,能夠在原有的網路能力中額外增加

  1. 支援 Pod 綁定 EIP/NAT,不再依賴節點的外網訪問能力,無須做 SNAT,可以滿足直播、遊戲、影片會議等高並發,高頻寬外網訪問場景
  2. 支援 Pod 綁定安全組,實現 Pod 級別的安全隔離
  3. 支援基於 Pod 名稱的固定 IP,Pod 重新調度後仍能保證 IP 不變
  4. 支援 CLB 直通 Pod,不再經過 NodePort 轉發,提升轉發性能並擁有統一的負載均衡視圖
  5. 即將支援黑石 2.0物理伺服器(推薦使用, 默認使用智慧網卡,網路性能更高)
  6. 即將支援基於 Pod 名稱的固定 EIP,滿足 Pod 固定外網出口

使用方法

申請新一代容器網路方案內測開通後,創建 TKE 集群時容器網路模式選擇 VPC-CNI/Pod 獨立網卡模式即可:
​

實現原理簡介

新一代方案在原有 VPC-CNI 模式的基礎上擴展,依託於彈性網卡,將綁定到節點的彈性網卡通過 CNI 配置到容器網路命名空間,實現容器直接獨享使用彈性網卡。

您可以關注騰訊雲原生公眾號,後續將會推送 TKE 新一代網路方案實現的技術細節。

當前內測階段使用限制

  1. 僅支援部分 S5 的機型使用該網路模式。
  2. 節點上運行的 Pod 數量限制為節點核數的5倍。
  3. 僅支援新集群,存量 TKE 集群暫不支援變更網路方案。

TKE新一代網路方案內測邀請

我們誠摯邀請您參與騰訊雲下一容器獨立網卡網路方案產品能力的內測, 您可以通過以下鏈接提交內測申請://cloud.tencent.com/apply/p/85p1zs6x777

【騰訊雲原生】雲說新品、雲研新術、雲遊新活、雲賞資訊,掃碼關注同名公眾號,及時獲取更多乾貨!!