前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Kube-OVN1.9.0新版本发布|支持集成 Cilium 策略,支持优先级QoS,VPC的网络能力增强等

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

作者头像
灵雀云
发布2022-03-03 10:37:32
8700
发布2022-03-03 10:37:32
举报

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

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

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提供面向企业场景的容器网络解决方案。

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

Kube-OVN 社区官网:

https://www.kube-ovn.io

GitHub:

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

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2022-01-17,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 云原生技术社区 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
私有网络
私有网络(Virtual Private Cloud,VPC)是基于腾讯云构建的专属云上网络空间,为您在腾讯云上的资源提供网络服务,不同私有网络间完全逻辑隔离。作为您在云上的专属网络空间,您可以通过软件定义网络的方式管理您的私有网络 VPC,实现 IP 地址、子网、路由表、网络 ACL 、流日志等功能的配置管理。私有网络还支持多种方式连接 Internet,如弹性 IP 、NAT 网关等。同时,您也可以通过 VPN 连接或专线接入连通腾讯云与您本地的数据中心,灵活构建混合云。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档