本文介紹Sidecar Acceleration using eBPF的組件信息、使用限制、使用說明、FAQ和變更記錄。
組件介紹
服務網格Sidecar模式下業務注入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作為節點鏡像。
登錄容器服務管理控制臺,在目標集群 頁面的網絡頁簽下,開啟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日 | 組件上線。 | 無影響。 |