在社区小伙伴的共同努力下,Kube-OVN 1.8 于九月份正式发布。这个版本中我们对 Kube-OVN 的Underlay 网络能力进行了强化,对数据平面延迟进行了大幅优化,对 VPC 内的网络能力进行了进一步增强。在 10+ 项功能提升外,该版本还修复了 50+ 稳定性和安全方面的问题,全面提升了 Kube-OVN 的稳定性和安全性。感谢社区的小伙伴们在这段时间来的贡献和支持!
01
在 1.8 中我们对 Underlay 的实现进行了重构提供了新的 ProviderNetwork CRD,用于管理 OVN 内的网络和底层基础设施网络以及宿主机上网卡的映射关系,支持了更加灵活的 Underlay 网络设置,包括:
· 宿主机单网卡下的 Underlay
· 宿主机多网卡对应多个 Vlan
· 宿主机网卡名不一致
· 部分 Vlan 只存在于特定宿主机
· Underlay 下的组播
· Overlay 和 Underlay 混合部署
02
网络延迟大幅优化
在 1.8 中,我们通过对 OVN 内流表组织的调整,并新增了一组针对容器网络进行优化的内核模块,通过对一些网络链路的绕行以及特定 CPU 指令进行编译优化,大幅降低了小包处理时的 CPU 开销。通过我们的测试,经过优化后的版本,在小包场景下平均延迟降低了约 45%,容器网络开销相对主机网络开销可控制在 5% 之内,一些场景下由于容器网络内核路径更短,性能会略好于主机网络。
下图为在 1Byte 数据包压测下,优化前后版本以及主机网络性能对比。
我们还在另一组环境下测试了Kube-OVN 的 Overlay/Underlay 模式,以及 Calico 的 IPIP 和不封装情况下的性能以及同主机网络性能的对比,如下图所示:
更多的性能测试数据以及调优方法请参考:https://github.com/kubeovn/kube-ovn/blob/master/docs/performance-tuning.md
此外我们还开源了自己研发的一套网络性能测试工具,可以测试容器网络在不同包大小下的延迟、吞吐量、CPU 消耗,并生成对应的火焰图方便进一步的瓶颈分析和性能优化,欢迎大家使用:https://github.com/kubeovn/k8s-autoperf
03
针对 Kubernetes 下沉到数据中心需要统一纳管数据中心网络的场景,Kube-OVN 社区一直在不断完善 VPC 相关的功能。在这个版本里,通过一组新的 CRD,VPC 内支持 SecurityGroup 可以方便用户以数据中心网络的视角对 VPC 内的安全进行配置。
此外 VPC 内还新增了对 Service 的支持,未来我们将会把 L4 和 L7 的 SLB 能力也加入到 VPC 之中,敬请期待。
04
· Kubernetes 和 OpenStack 共享底层 OVN 基础涉水
· Pod 粒度流量镜像控制
· 多网卡自定义路由
· Tunnel IP 动态调整
· OVN 21.03 升级
我们未来会继续针对功能、性能和稳定性进行持续优化,欢迎更多的小伙伴加入试用。1.8 版本特性讲解视频:在Kube-OVN公众号后台回复「活动」,即可观看
下一篇:数字化装备制造新标杆!灵雀云携手腾讯云打造三一集团技术中台