暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Kube-OVN1.9.0新版本发布|VPC的网络能力增强,支持优先级QoS;支持集成 Cilium 策略等

CNCF 2022-01-18
778



1月12日,Kube-OVN 1.9.0 版本正式发布,感谢社区小伙伴们在这段时间来的贡献和支持!


新版本持续对 VPC 的网络能力进行了增强,并且支持基于优先级的 QoS;支持集成 Cilium 策略,监控和 Service 优化;支持 Webhook 校验子网和固定 IP。并且增加了组播性能,非 Service 性能,内存使用等方面优化。全面提升了 Kube-OVN 的稳定性和安全性。欢迎大家安装使用!


Kube-OVN 1.9.0 发布视频回顾:


VPC能力进一步增强


  • 用户自定义 VPC 下策略路由的支持

  • 用户自定义 VPC 下四层负载均衡器的支持

  • 用户自定义 VPC 下 Vlan 网络的支持

  • 支持使用 nodeselector 调度 vpc-nat-gateway pod

  • 支持默认 VPC 使用 vpc-nat-gateway


支持 Qos 优先级



在新版本中支持通过 HTB 类型的 QoS 来支持流量的优先级,可以保证优先服务重要业务的流量,这种基于优先级的 QoS 对在线离线混合部署的场景和电信的使用场景会有更好的支持。


支持集成 Cilium 策略,监控和 Service 优化



我们一直希望能够将 ebpf 的一些能力来引入到客户端里面, Kube-OVN 比较擅长上层编排,像 vpc,子网,underlay,还有 QoS,路由这些功能,控制层面的功能比较丰富。经过调研,Cilium 通过 ebpf 来做 policy,service 的实现,它在 datapath 层面上做的监控、安全方面比较好。
 
所以我们把这两者的优势结合起来,Kube-OVN 来做控制层面上高级网络概念的抽象,复用 Cilium 通过 ebpf 的安全和监控的能力,两者结合起来组成一个集成方案,这样可以同时享受 Kube-OVN 带来的编排能力和 Cilium 的底层能力。

支持 Webhook 校验子网和固定 IP



新版本重新添加了subnet 校验和固定 IP 的校验,这样可以保证在创建 subnet 或给Pod 加固定 IP 的时候,如果出现冲突或非法格式,会第一时间返回错误请求。相当于在资源创建之初就进行拦截和报错,不会影响对于后期 Pod 的创建,修改起来也比较容易。并且我们计划后期把所有资源都加上校验,这样可能会极大的提升大家的使用体验。

支持 STT tunnel




经过我们调研 OVS,它的内核模块其实是有一个 STT 的类型,隧道模式就是它伪造了一个 TCP 的结构,可以理解为模拟了 TCP 的 header 来进行封包,好处就是外层 TCP 的 header 和内层的 TCP 的 header 都进行有效 offload,就可以把 CPU 的资源节省下来。
 
如果是在虚拟化的环境或 CPU 比较差的情况下,比较推荐大家用 STT 这种隧道的封装模式,对于 TCP 的吞吐量会有比较明显的提升。
 
然后我们针对了几种不同的场景对流表进行了针对性的优化。

组播流量优化



新版本把 OVN 的流表进行优化,比如识别出原地址或目的地址是一个组播的话,那么把中间这些不必要的流表处理掉,就可以保证组播的流量是通过最短的路径到达目的地,从目的地回来的时候,也是保证最短的路径能收到,这样组播的整体性就会有比较大的提升。

 

这块的优化已经合到 OVN 了,即使不使用 Kube-OVN,大家也可以在 OVN 的新版中体验到。

非 Service 流量优化



还有一个类似的优化是我们对非 service 流量的优化,相当于针对 k8s 做了定制优化。如果知道 K8s 里面 service 的 IP 范围的话,就可以根据目的地址进行判断,如果目的地址是一个非 service 地址段,那么就绕过 lb 的处理,不需要经过其他操作直接送出去就好了。
 
但是回来的方向由于没有办法判断究竟是从一个 service 回来的,还是直接回来的流量,所以回程这段路径上的 lb 的操作目前还去除不掉。但只去除这样一段操作,已经会有大概 17%~18% 的延迟的优化。

其他功能改善


  • Pod 支持 VIP
  • Pod 内多网卡可以同属一个子网
  • Underlay 网络支持接入逻辑网关
  • 其他 CNI 可作为主网络
  • Networkpolicy 支持附属网卡
  • VM 端口的热迁移 
  • 使用jemalloc 优化内存分配
  • 开启数据库内存压缩


what's the next?


  • Windows 操作系统支持
  • 一个 Namespace 可以绑定多个子网
  • 快速上手的内核编译优化方案
  • 更多的逻辑流表优化
  • 500~1000节点规模支持


问答讨论

:Qos 的优先是通过 tc 实现的吗?
:对,其实 Qos 最终是通过 Linux 的 tc 来实现的,但是因为 OVS 有对应的一些接口,所以提了这个。其实不止实现了优先级,我们还实现类似于混沌测试的那种错误注入,还有延迟注入。

:ebpf 没有对 IPv6 的支持,如果用 Cilium Service ip 怎么支持 IPv6?
:在我们的方案里如果 Cilium 不支持 IPv6 的 svc 可以退回到使用 OVN 的 lb 或者kube-proxy 来实现 svc

:和 Cilium 集成的时候,Cilium 管理的网卡是在 br-provider 上还是物理网口上?
:Cilium 其实不直接管理,我们只使用了 Cilium一部分功能,在我们的集成方案里面它只是做策略和监控的插入,我们还是用 veth 监听流量然后做一些处理。

点击阅读原文链接立即体验 Kube-OVN 1.9.0!


咨询Kube-OVN企业版

Kube-OVN提供面向企业场景的容器网络解决方案。

填写表单,了解跨云网络管理、IaaS(包括OpenStack、VM等)与K8s统一网络技术栈、容器托管新一代数据中心SDN、微服务架构下高性能网络、5G及边缘集群落地等应用场景。

社区联系方式

官网:

https://www.kube-ovn.io

GitHub: 

https://github.com/kubeovn/kube-ovn

Slack:

https://kube-ovn-slackin.herokuapp.com

微信交流群:


文章转载自KubeOVN点击这里阅读原文了解更多


    CNCF概况(幻灯片)

    扫描二维码联系我们!




    CNCF (Cloud Native Computing Foundation)成立于2015年12月,隶属于Linux  Foundation,是非营利性组织。 

    CNCF云原生计算基金会)致力于培育和维护一个厂商中立的开源生态系统,来推广云原生技术。我们通过将最前沿的模式民主化,让这些创新为大众所用。请长按以下二维码进行关注。

    文章转载自CNCF,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

    评论