在Kube-OVN社区小伙伴的共同努力下,Kube-OVN v1.10.0于五月份正式发布。Kube-OVN v1.10.0版本中,我们一如既往地对Kube-OVN 的功能、性能、稳定性和易用性进行了大幅强化。包括 新增Windows 节点的支持,用户自定义子网级 ACL,EIP/SNAT/DNAT CRD 拆分,Submariner 集成,DPDK 支持,Kubevirt VM 静态 IP 等 10+ 项新功能上线。同时我们对控制平面性能进行了多项优化,大幅提升了大规模集群的网络创建和更新速度。

Kube-OVN v1.10.0又有哪些新的能力,快来了解一下吧!

 Windows 支持 

在 v1.10.0 之前版本的 Kube-OVN 受限于 OVS/OVN 对 Windows 的支持问题,只能在 Linux 节点上运行。在 1.10.0 中我们对 OVS/OVN 的 Windows 代码做了部分调整,使其能更好的支持 Windows 的运行。在 Windows Server 2019 并支持 Hyper-V 的环境下,可以使用 Kube-OVN Vxlan 的 Overlay 网络模式来实现 Windows 节点和 Linux 节点容器网络的统一管理。

当前版本支持 IPv4 的 Overlay 网络,未来我们将不断完善 Windows 容器网络,将双栈,Underlay 等高级功能带入 Windows 网络,欢迎大家使用。

 用户自定义子网ACL 

Kubernetes 内置的 Networkpolicy 规则在一些针对网络安全需要进行细粒度或分层控制的场景并不适用。此外 NetworkPolicy 不支持优先级设置,在一些复杂场景下规则设置的复杂度上升。为了实现更丰富的安全控制能力,在这个版本中我们在子网新增了 ACL 字段,用户可以按照自己的需求编写符合 OVN 流表规范的 ACL 规则。如下所示:

使用该规则,用户可以根据 L2~L4 的任意字段和布尔表达式进行流量匹配,并支持规则的优先级,可以不限于 NetworkPolicy 的限制,用极其灵活的方式进行规则设置。

 Kubevirt 功能强化 

在这个版本中我们持续对根据 Kubevirt 场景下对网络的需求,完善 Kube-OVN 对云原生虚拟化场景的优化。 

VM 固定地址 

在这个版本中我们对 Kubevirt 下 VM instance 的地址分配策略才用了和 StatefulSet 类似的策略,在 VM 第一次分配地址时随机分配,之后 VM 启停,更新过程中都会复用启动时分配的地址,达到 VM 生命周期内的地址固定,更适合虚拟化的使用习惯。

 DPDK 支持 

尽管上游 KubeVirt 还没有对 OVS-DPDK 类型网络的支持,但是在 Kube-OVN 社区内很多用户独立开发了 KubeVirt 对 OVS-DPDK 的支持,同时也开发了 Kube-OVN 内对 OVS-DPDK 的支持,这样即使是普通网卡也可以通过 OVS-DPDK 用户态的加速能力来增强 VM 内的网络吞吐能力。

DHCP 支持 

Kubevirt 内置的 DHCP 功能无法在 SR-IOV 或者 OVS-DPDK 模式下工作,在这个版本里我们通过在子网中增加 DHCP 相关配置,利用 OVN 自身的功能使用流表实现了 DHCP Server 的功能,方便虚拟化用户的使用

Submariner 集成 

之前的版本中 Kube-OVN 支持使用 ovn-ic 来做多集群的互联,从 1.10.0 开始又支持使用 Submariner 进行多集群互联。Submariner 可以在 Pod 网络互通的基础上提供 Service 和 DNS 的互通以及流量的加密,并可支持 Kube-OVN 和其他 CNI 的互通。对集群互联能力有高级需求的用户可以考虑尝试基于Submariner 的互联方案。

控制平面性能提升 

借助社区小伙伴提供的大规模测试环境,我们在 15K 真实 Pod 的环境下验证了 Kube-OVN 的大规模性能,并针对各个瓶颈点进行了性能优化。

● IPAM 优化,初始化 10K Pod 所花时间从 527s 降至 29s

● kube-ovn-controller port-group 检查开销复杂度从 O(n) 降为 O(1),n 为集群节点数量

● kube-ovn-cni QoS 检查开销复杂度从 O(n) 降为 O(1),n 为节点上 Pod 数量

● EIP 和 SNAT 功能可关闭,提升 1 倍创建速度

● 使用路由器策略取代静态路由,OVN 相关流表数量从每个 Pod 一条规则降为每个节点一条规则

● 升级 OVN 和 OVS 降低调用 OVN 延迟

其他功能 

● EIP/SNAT/DNAT CRD 拆分

● 无网络中断升级

● Namespace 绑定多个子网

● VPC 内的对等连接

● Webhook 功能强化

点击此处,即可体验新版Kube-OVN!

Kube-OVN v1.10.0:新增Windows节点支持,用户自定义子网ACL等10+硬核功能的更多相关文章

  1. Windows和Linux下apache-artemis-2.10.0安装配置

     window下安装配置 一.官网下载 http://activemq.apache.org/artemis/download.html 二.百度网盘下载 链接:https://pan.baidu.c ...

  2. Centos7安装Kubernetes k8s v1.16.0 国内环境

    一. 为什么是k8s v1.16.0? 最新版的v1.16.2试过了,一直无法安装完成,安装到kubeadm init那一步执行后,报了很多错,如:node xxx not found等.centos ...

  3. ArcObject10.1降级至10.0

    最开始接触ArcGIS版本是9.3,为了需要也安装了9.2进行开发:因为自己的电脑配置较低,所以跑不起10.0中文版:毕业工作后,行业内用10.1居多(虽然10.3已出):现在10.4都要出来了:由于 ...

  4. centos6.8安装cdh5.10.0(离线版)

    Centos6.8安装CDH5 相关包的下载地址: Cloudera Manager地址:http://archive.cloudera.com/cm5/cm/5/ CDH安装包地址:http://a ...

  5. cdh-5.10.0搭建安装

    1.修改主机名为master, slave1, slave2 vim /etc/sysconfig/network HOSTNAME = master HOSTNAME = slave1 HOSTNA ...

  6. wireshark 1.10.0 编译 及 协议解析部分的一些变化

    wireshark不久前升级到1.10.0稳定版,这个版本正如其版本号一样,相比1.8.x有较大变化. 我们先说说在windows下编译的问题,1.8.4/1.8.6版本的编译见我的文章:http:/ ...

  7. 在vs2010中编译log4cxx-0.10.0具体方法(从下载、编译、解决错误具体介绍)

    一. 简单介绍 log4cxx是Java社区著名的log4j的c++移植版.用于为C++程序提供日志功能,以便开发人员对目标程序进行调试和审计,log4cxx是apache软件基金会的开源项目,基于A ...

  8. CDH搭建大数据集群(5.10.0)

    纠结了好久,还是花钱了3个4核8G的阿里云主机,且行且珍惜,想必手动搭建过Hadoop集群的完全分布式.HBase的完全分布式的你(当然包括我,哈哈),一定会抱怨如此多的配置,而此时CDH正是解决我们 ...

  9. Hadoop-1.2.1伪分布下 hive-0.10.0内嵌模式安装

    Hadoop-1.2.1伪分布下 hive-0.10.0内嵌模式安装 1.下载hive-0.10.0 网址是:http://archive.apache.org/dist/hive/hive-0.10 ...

随机推荐

  1. 【Android开发】Android 颜色透明度换算

    透明度 透明度分为256阶(0-255),计算机上用16进制表示为(00-ff). 透明就是0阶,不透明就是255阶,如果50%透明就是127阶(256的一半当然是128,但因为是从0开始,所以实际上 ...

  2. mysql8.0.13本地安装忘记密码解决办法

    之前一直用图形化界面,加上考研期间也没动,竟然把我的数据库密码给忘了,无地自容....... 找了找教程,问题如下: MySQL从低版本向高版本迭代变化的过程,越来越严谨的安全性是其一大特点之一,在版 ...

  3. Java JDK 动态代理实现和代码分析

    JDK 动态代理 内容 一.动态代理解析 1. 代理模式 2. 为什么要使用动态代理 3. JDK 动态代理简单结构图 4. JDK 动态代理实现步骤 5. JDK 动态代理 API 5.1 java ...

  4. 新版vue作用域插槽的使用

    2.6开始,作用域插槽的使用有了不同的地方: 作用域插槽的个人理解就是让子组件的数据可以在父组件中使用:  也是一个数据传递的方式了: 不多说,上代码 子组件定义一个插槽,并且定义一个需要传递到父组件 ...

  5. Java-GUI编程之事件处理

    事件处理 前面介绍了如何放置各种组件,从而得到了丰富多彩的图形界面,但这些界面还不能响应用户的任何操作.比如单击前面所有窗口右上角的"X"按钮,但窗口依然不会关闭.因为在 AWT ...

  6. Hash-题解-方法

    有效的字母异位词 给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的字母异位词. 示例 1: 输入: s = "anagram", t = "nagar ...

  7. 面渣逆袭:RocketMQ二十三问

    基础 1.为什么要使用消息队列呢? 消息队列主要有三大用途,我们拿一个电商系统的下单举例: 解耦:引入消息队列之前,下单完成之后,需要订单服务去调用库存服务减库存,调用营销服务加营销数据--引入消息队 ...

  8. Mybatis-Plus查询整理

    1.Hibernate是全ORM(对象关系映射)框架,利用完整的javabean对象与数据库映射结构来自动生成sql. 2.Mybatis是半ORM框,仅有字段映射,需要手写sql语句和对象字段结合生 ...

  9. 初识tomcat和servlet

    web相关概念回顾 软件架构 C/S:客户端/服务器端 B/S:浏览器/服务器端 资源分类 静态资源:所有用户访问后,得到的结果都是一样的,称为静态资源.静态资源可以直接被浏览器解析 如: html, ...

  10. 洛谷 P2392 kkksc03考前临时抱佛脚, dp / 深搜

    题目链接 P2392 kkksc03考前临时抱佛脚 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 题目 dp代码 #include <iostream> #includ ...