《【百度陳鵬】百度云容器網絡性能優化之路.pdf》由會員分享,可在線閱讀,更多相關《【百度陳鵬】百度云容器網絡性能優化之路.pdf(28頁珍藏版)》請在三個皮匠報告上搜索。
1、1 12 2百度云容器網絡性能優化之路陳鵬 百度智能云資深工程師3 3大綱1.背景容器網絡基本原理&百度云容器網絡架構2.容器網絡性能優化之路Underlay 方案:VPC 路由、VPC 彈性網卡eBPF 加速:增強 Service 網絡和網絡策略極致性能:獨占 ENI 模式AI 時代:RDMA 網卡加速方案3.總結&展望4 4容器網絡基本原理&百度云容器網絡架構5 5網絡的基本原理網絡分層模型容器網絡主要負責 L2/L36 6虛擬網卡技術-VETHVETH 是一種虛擬網卡對,可以將兩個網絡命名空間連接起來,從而實現兩個網絡命名空間之間的通信7 7虛擬網卡技術-MACVLANMACVLAN 是
2、一種基于 MAC 地址的虛擬網卡技術,可以將一個物理網卡虛擬出多個 MAC 地址,從而實現多個虛擬網卡之間的通信8 8虛擬網卡技術-IPVLANIPVLAN 是一種基于 IP 地址的虛擬網卡技術,可以將一個物理網卡虛擬出多個 IP 地址,從而實現多個虛擬網卡之間的。IPVLAN 支持 L2 和 L3 模式IPVLAN L2 模式類似于網橋模式下的 MACVLAN,父接口看起來像網橋或交換機IPVLAN L3 模式下,父接口的作用類似于路由器,數據包在端點之間路由,從而提供更好的可擴展性L2L39 9單機容器間如何通信(以Docker為例)容器本質就是使用 cgroup 進行資源控制,再使用 n
3、amespace 進行訪問控制那么使用這些虛擬化技術之后,該怎么使容器進行通信呢?以 Docker 為例,Docker 支持四種網絡模式1010Docker Bridge 模式Docker 的 bridge 網絡底層基于 Linux 內核中的 bridge 和 VETH 技術創建的容器在沒有使用-network 參數指定要加入的 Docker 網絡時,都是加入單機橋接網絡1111集群節點間的容器該如何通信?1212容器網絡跨節點通信 Overlay 網絡和 Underlay 網絡 Overlay 示意圖VXLAN 封裝示意圖1313基于 VXLAN 的容器網絡實現-flannel1414百度云
4、容器網絡性能優化之路1515容器網絡 Underlay 方案“VPC-路由”基于 VPC 直接路由能力,避免 Overlay 封裝1616容器網絡 Undelay 方案之“VPC-ENI”基于 VPC 彈性網卡,避免 Overlay 封裝1717數據面性能都損耗在哪里?1818Cilium+eBPF 提升性能基于開源的 Cilium 高性能網絡,與百度云基礎設施緊密結合,實現更短的數據路徑,提供高性能低延遲的容器網絡1919eBPF 增強(共享 ENI 模式)”2020相比 IPVS 模式在 Service 規模較大時,Service 網絡的 QPS 和 延時有接近一倍的提升2121eBPF
5、增強(獨占 ENI 模式)”2222相比共享 ENI 模式Pod 網絡性能有大幅提升2323容器網絡之“underlay RDMA”2424容器網絡之“eRDMA(ERI)”2525相比 TCP 協議RDMA 平響、長尾下降約 80%,吞吐提升 50+%2626總結&展望2727總結&展望容器網絡的性能優化思路:bypass kernel,盡可能的縮短數據路徑怎么做?單機eBPF獨占 ENI跨節點盡可能使用 underlay 網絡而非 overlay 網絡高性能場景采用高速 RDMA 網絡如何更進一步?軟硬一體,offload 到硬件:FPGA、DPU2828謝謝 謝謝 觀觀 看看thanks