本文介紹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包。
建立ASM執行個體。具體操作,請參見建立ASM執行個體。
添加ACK叢集到ASM執行個體。具體操作,請參見添加叢集到ASM執行個體。
建立ACK叢集時,建議選擇Alibaba Cloud Linux 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日 | 組件上線。 | 無影響。 |