在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. 隐藏IE10默认在input框输入内容后显示“X”按钮

    ::-ms-clear{display: none;} ::-ms-reveal{display: none;}

  2. 微信小程序版博客——开发汇总总结(附源码)

    花了点时间陆陆续续,拼拼凑凑将我的小程序版博客搭建完了,这里做个简单的分享和总结. 整体效果 对于博客来说功能页面不是很多,且有些限制于后端服务(基于ghost博客提供的服务),相关样式可以参考截图或 ...

  3. 设计模式之:抽象工厂模式AbstractFactoryPattern的实现

    相比于工厂模式,抽象工厂模式的每个工厂可以创建产品系列,而不是一个产品: 抽象工厂用到的技术:接口.多态.配置文件.反射: 抽象工厂模式的设计原则: 实现客户端创建产品和使用产品的分离,客户端无须了解 ...

  4. 【Android开发】Webview 和 JS 交互问题

    一,安卓原生调用JS代码 1,js代码: function handlePasteDataFromApp(pasteStr) { showInfo('pasteData: aaaaa' + JSON. ...

  5. Mybatis 多表实现多对多查询、添加操作

    Mybatis 多表实现多对多查询.添加操作 学习内容: 1. 多对多之添加操作 1.1.需求 1.2.数据库表(多对多数据库设计需要设计中间表) 1.3.类设计 1.4.Mapper 接口和 Map ...

  6. vue行内动态添加样式或者动态添加类名

    还是记录一下吧(๑•ᴗ•๑) <li :style="{backgroundImage:`url(${item.pic})`}" @click="chooseVip ...

  7. webpack打包学习

    从上图我们可以看出,webpack 可以将多种静态资源 js.css.sass文件等转换成一个静态文件,以此可以减少页面的请求,从而提高浏览器响应速度 1.安装开发依赖包 npm install we ...

  8. TNS-12533: TNS:illegal ADDRESS parameters(修复)

    修复 TNS-12533: TNS:illegal ADDRESS parameters oracle@prd:/home/oracle$sqlplus sys/abc@fp as sysdba SQ ...

  9. MongoDB 支持地理空间数据存储

    MongoDB 支持地理空间数据存储 官方文档 https://docs.mongodb.com/manual/geospatial-queries/ MongoDB 支持对于地理空间数据的查询操作. ...

  10. 基于easyx的小时钟

    #include <graphics.h> #include <math.h> #include <conio.h> #define PI 3.141592654 ...