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