导读:随着云原生进入越来越多的畛域,用户对容器网络的需要也一直增长,对容器网络的性能和性能的要求都在一直的晋升。基于软件的容器网络因为无奈在提供丰盛的性能同时保障优良的性能,不得不在性能和性能之间进行取舍。有没有一种计划可能在提供丰盛的性能状况下仍然能提供杰出的性能呢?
本文将介绍 Kube-OVN + 智能网卡的联合计划, 通过软件与硬件的联合,在放弃容器网络丰盛性能根底上,吞吐量 up300%,让用户取得优于宿主机的性能体验。 正所谓,“性能”和“性能”两手都要抓,两手都要硬!
云原生网络应用场景越来越简单
随着云原生一直在各个场景落地,需要的多样性和复杂度都在一直回升,新的需要也在一直的涌现。基于宽广社区用户的实在应用案例下,咱们在各场景、各行业中总结进去以下需要:
1、传统利用上云有对固定 IP 和 IP 治理方面的需要
2、数据中心基础设施治理须要有异构设施治理、网络虚拟化、多租户 VPC 的需要
3、跨云多集群有着互联互通的需要
4、边缘场景有着高性能轻量化的需要
5、金融畛域有着流量镜像、审计、平安加密的需要
6、运营商有着多网交融、流量编排的需要
……
等等
网络性能瓶颈成企业大规模云原生落地妨碍
Overlay 类型网络因为其对底层依赖少,性能灵便失去了越来越多的应用,然而额定的性能通常会带来额定的性能开销,导致 Overlay 网络的整体资源耗费会有显著的回升。
通过咱们的 Profile 各个性能会带来如下开销:
1、安全策略,NAT 规定会应用到 netfilter, conntrack 性能,单个数据包会带来额定 20% CPU 开销
2、流量镜像会带来 5% CPU 开销
3、Overlay 封装解封装会带来 5% CPU 开销
4、因为 Overlay 的 UDP 封装导致网卡 TCP 相干 offload 生效,TCP 大包吞吐量可能会呈现数量级的降落
5、veth 额定的网络复制带来 3% CPU 开销
6、网络加密会带来提早和 CPU 使用率的大幅晋升
咱们简略通过 qperf 来测试在不同包大小状况下的 UDP 传输吞吐量,可见随着包大小的减少,容器网络吞吐量相比宿主机网络呈现显著降落,在数据包为 16KB 的状况下,容器网络带宽仅为宿主机网络的 40%。
注:该性能测试数据在 Kube-OVN 默认模式下未经优化测试而得
在大规模的部署中,这些额定的性能开销通常会带来数据中心贵重 CPU 资源的节约。
在网关这种南北流量集中的要害节点,因为纯软件计划性能的瓶颈,会导致要害链路提早大幅回升,QPS 降落,这种业务感知显著的性能问题。因而,也会让整个业务团队对网络模块信念有余,导致企业大规模云原生化的一个妨碍。
高性能网络计划性能欠缺无奈满足需要
那么是否抉择高性能网络计划就能够解决问题了呢?
Macvlan/SR-IOV 等网络计划,通过绕过主机网络内核栈直通容器等伎俩提供了高性能的容器网络,然而这类计划通常存在着灵活性和功能性的欠缺:
1、这类技术通常应用了 Underlay 的计划,容器网络和底层网络间接买通,须要底层网络进行配合,通常会波及到跨部门的合作治理,故障责任辨别变得艰难 2、因为该类计划绕过了主机网络栈,只提供了根本的网络连通能力,高级性能的开发变得艰难或不可行
3、网络的灵便度降落,无奈依据需要疾速的变动
那么是否存在着一种能同时满足功能丰富灵便而又高性能的云原生网络计划呢?
“性能、性能”两败俱伤的抉择:Kube-OVN+ 智能网卡
面对一直变动的用户需要,最后为微服务利用平台设计的云原生网络插件 Kube-OVN,须要一直变动调整,裁减本人的能力和实力。
一方面咱们心愿 Overlay 网络带来的灵活性和丰盛的性能,另一方面咱们又不心愿网络成为性能瓶颈,耗费贵重的 CPU 资源。具备 OVS 卸载能力的智能网卡和提供丰盛网络性能的 Kube-OVN 就成为了一个能很好均衡性能和性能的解决方案。
Kube-OVN 通过将 OVN 和 Kubernetes 联合,将传统 SDN 的网络能力引入 Kubernetes 中,为 Kubernetes 提供灵便功能丰富的容器网络,极大地强化了容器网络的能力。
智能网卡提供的 OVS Offload 能力可能将 Overlay 网络中简单的 CPU 计算密集型工作卸载到网卡上进行,极大升高网络对 CPU 的耗费,此外因为网络的解决离数据包更近,提早和吞吐量都能失去大幅改善。
在智能网卡的抉择上,芯启源 Agilio 系列网卡,NVIDIA Mellanox CX5 CX6 Bluefield 系列网卡等支流网卡,均可适配。
相干操作手册:
Kube-OVN+ 芯启源 Agilio 系列网卡计划
Kube-OVN+NVIDIA Mellanox CX5 CX6 Bluefield 系列网卡
通过优化后,咱们再次通过 qperf 来测试在不同包大小状况下的 UDP 传输吞吐量,可见随着包大小的减少,容器网络吞吐量绝对宿主机网络并没有呈现降落。因为应用 Offload 后,容器网络的门路相比宿主机更短,甚至呈现了容器网络性能因为宿主机网络的状况。在 16KB 包大小的状况下,容器网络吞吐量是宿主机网络的 1.2 倍,是原始未经优化容器网络吞吐量的 3 倍。
总结
通过 Kube-OVN 和智能网卡的联合,咱们能够在提供丰盛容器网络的根底上放弃了良好的性能,在硬件的加持下,容器网络的性能在一些场景下体现还会优于宿主机网络。
优化后的云原生网络解决方案,能够很好的适应, 企业数据中心基础设施治理;跨云多集群有着互联互通;边缘高性能轻量化等场景,以及在金融行业流量镜像、审计、平安加密;运营商多网交融、流量编排等简单需要。 这套计划已无缝融入灵雀云云原生生态体系中,以及灵雀云 ACP 产品中,为金融、制作、运营商等中国 IT 收入最大的头部企业,提供提供高标准、高性能的云原生网络产品和服务。
与此同时,这套云原生网络计划,也为将来的云原生网络方案设计思路提供了新的启发。“软硬件联合”,咱们能够在同性能和性能两个方向,同时达到更高的程度。
对于【云原生小课堂】
【云原生小课堂】是由灵雀云、Kube-OVN 社区、云原生技术社区联结开设的公益性技术分享类专题,将以丰盛详实的精品内容和灵活多样的出现模式,继续为您分享云原生前沿技术,带您理解更多云原生实际干货。
在数字化转型的背景下,云原生曾经成为企业翻新倒退的外围驱动力。作为国内最早将 Kubernetes 产品化的厂商之一,灵雀云从出世便携带“云原生基因”,致力于通过革命性的技术帮忙企业实现数字化转型,咱们期待着云原生给这个世界带来更多扭转。
关注咱们,学习更多云原生常识,一起让扭转产生。