全部產品
Search
文件中心

Alibaba Cloud Service Mesh:Sidecar Acceleration using eBPF

更新時間:Jun 30, 2024

本文介紹Sidecar Acceleration using eBPF的組件資訊、使用限制、使用說明、FAQ和變更記錄。

組件介紹

Service MeshSidecar模式下業務注入Sidecar之後,業務請求路徑需要經過Outbound、Inbound Sidecar,請求Latency會少量增加。Sidecar Acceleration using eBPF組件基於eBPF的Sockops技術,可以實現同節點下Sidecar和Sidecar之間、同Pod下業務容器和Sidecar之間的TCP網路通訊加速。

使用限制

  • ASM執行個體版本需為1.10及以上。

  • ACK叢集節點核心的版本需為5.10及以上。建議使用Alibaba Cloud Linux 3。

    說明

    若ACK叢集下的節點使用不同類型的OS,則僅核心版本為5.10及以上的節點會生效。核心版本不滿足條件的節點(包括Virtual Node)不會生效,但無其他不良影響。

  • 僅支援ACK託管版和ACK專有版叢集。

使用說明

啟用Sidecar Acceleration using eBPF組件的步驟如下。

重要

Sidecar Acceleration using eBPF組件開啟後,ACK叢集中注入Sidecar的業務Pod下,業務Container和Sidecar之間的網路通訊在環回介面LO裝置上抓不到PSH包。同節點下Sidecar和Sidecar之間的通訊也抓不到PSH包。

  1. 建立ASM執行個體。具體操作,請參見建立ASM執行個體

  2. 添加ACK叢集到ASM執行個體。具體操作,請參見添加叢集到ASM執行個體

    建立ACK叢集時,建議選擇Alibaba Cloud Linux 3作為節點鏡像。

  3. 登入Container Service管理主控台,在目的地組群營運管理 > 組件管理頁面的網路頁簽下,開啟Sidecar Acceleration using eBPF組件。具體操作,請參見管理組件

    該組件開啟生效是ACK叢集範圍。如果ASM管理了多個ACK叢集,則需要分別在各個叢集開啟。

FAQ

如何判斷加速是否生效?

該組件基於eBPF sockops實現,若加速生效作用於TCP串連後,該串連上的TCP請求將不再經過TCP/IP協議棧。您可以通過使用tcpdump等抓包工具,觀察串連上是否存在PSH包來判斷加速是否生效。

加速效果和實際的業務情境以及部署環境相關,因此本文不提供該加速組件開啟前後的效能對比。

該加速組件是否會對未注入Sidecar的其他Pod之間的請求生效?

不會生效。加速組件僅作用於同節點下和Sidecar相關的請求,即同節點下APP與Sidecar之間、Sidecar與Sidecar之間、Sidecar與APP之間相關的TCP請求。因此對未注入Sidecar的各個業務Pod之間的請求不會生效。

在該加速組件開啟之前,對於商務服務已存在的TCP串連,加速是否對該串連生效?

不會生效。組件開啟之前已存在的TCP串連,在組件開啟之後,該TCP串連上的請求不會有加速效果。

變更記錄

2023年09月

版本號碼

變更時間

變更內容

變更影響

1.0.15

2023年09月20日

組件上線。

無影響。