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

在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 v1.10.0:新增Windows节点支持,用户自定义子网ACL等10+硬核功能的更多相关文章
- Windows和Linux下apache-artemis-2.10.0安装配置
window下安装配置 一.官网下载 http://activemq.apache.org/artemis/download.html 二.百度网盘下载 链接:https://pan.baidu.c ...
- Centos7安装Kubernetes k8s v1.16.0 国内环境
一. 为什么是k8s v1.16.0? 最新版的v1.16.2试过了,一直无法安装完成,安装到kubeadm init那一步执行后,报了很多错,如:node xxx not found等.centos ...
- ArcObject10.1降级至10.0
最开始接触ArcGIS版本是9.3,为了需要也安装了9.2进行开发:因为自己的电脑配置较低,所以跑不起10.0中文版:毕业工作后,行业内用10.1居多(虽然10.3已出):现在10.4都要出来了:由于 ...
- centos6.8安装cdh5.10.0(离线版)
Centos6.8安装CDH5 相关包的下载地址: Cloudera Manager地址:http://archive.cloudera.com/cm5/cm/5/ CDH安装包地址:http://a ...
- cdh-5.10.0搭建安装
1.修改主机名为master, slave1, slave2 vim /etc/sysconfig/network HOSTNAME = master HOSTNAME = slave1 HOSTNA ...
- wireshark 1.10.0 编译 及 协议解析部分的一些变化
wireshark不久前升级到1.10.0稳定版,这个版本正如其版本号一样,相比1.8.x有较大变化. 我们先说说在windows下编译的问题,1.8.4/1.8.6版本的编译见我的文章:http:/ ...
- 在vs2010中编译log4cxx-0.10.0具体方法(从下载、编译、解决错误具体介绍)
一. 简单介绍 log4cxx是Java社区著名的log4j的c++移植版.用于为C++程序提供日志功能,以便开发人员对目标程序进行调试和审计,log4cxx是apache软件基金会的开源项目,基于A ...
- CDH搭建大数据集群(5.10.0)
纠结了好久,还是花钱了3个4核8G的阿里云主机,且行且珍惜,想必手动搭建过Hadoop集群的完全分布式.HBase的完全分布式的你(当然包括我,哈哈),一定会抱怨如此多的配置,而此时CDH正是解决我们 ...
- 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 ...
随机推荐
- 接口combine
需求描述 进行复杂项目开发时,服务端(数据接口实现端)会把接口拆分的比较细粒度,以方便在更多地方复用.而拆分后的接口在前端进行组合请求时,通常会出现一个区块要请求5.6个接口甚至更多接口请求才能拿到想 ...
- 正则系列——JavaScript正则表达式入门心得
我发现有个别字符被这个编辑器给刷掉了,但是灰色区域显示正常,以灰色区域代码为准 什么玩意? 在我刚开始学习编程的时候,就听过正则了,也听说正则很牛逼,懂正则的更牛逼.但是苦于没有人指点,也没有使用正则 ...
- 简单才是美! SpringBoot+JPA
SpringBoot 急速构建项目,真的是用了才知道,搭配JPA作为持久层,一简到底!下面记录项目的搭建,后续会添加NOSQL redis,搜索引擎elasticSearch,等等,什么不过时就加什么 ...
- 关于mysql使用utf8编码在cmd窗口无法添加中文数据的问题以及解决 方法二
如果非要用cmd窗口的话,那么可以加这句话,set names gbk:
- Java中使用最频繁及最通用的Java工具类
在Java中,工具类定义了一组公共方法,Java中使用最频繁及最通用的Java工具类. 一. org.apache.commons.io.IOUtils closeQuietly:关闭一个IO流.so ...
- response.setHeader("Cache-Control","no-cache");的作用
1. response.setHeader("Cache-Control","no-cache"); This is used to prevent the ...
- javaScript设计模式:发布订阅模式
发布订阅模式的思想是在观察者模式的基础上演变而来,在观察者模式中客户端监听到对象某个行为就触发对应任务程序.而在发布订阅模式中依然基于这个核心思想,所以有时候也会将两者认为是同一种设计模式.它们的不同 ...
- numpy---(上)
Numpy Numpy ndarray N维数组对象ndarray, 是一系列同类型数据的集合, 索引以0下标开始, 创建一个ndarray对象, 需调用array函数: numpy.array(ob ...
- mysql发展历程 各分支版本溯源
首先为什么要了解mysql的历史,了解一个软件的前生后世有时候还是很有必要,特别是对于走在架构之路或者是想深入了解一个软件的时候,在不同版本中由于进行了很多的改进或者说加入了新的功能,也有可能是软件本 ...
- DFS与N皇后问题
DFS与N皇后问题 DFS 什么是DFS DFS是指深度优先遍历也叫深度优先搜索. 它是一种用来遍历或搜索树和图数据结构的算法 注:关于树的一些知识可以去看<树的概念及基本术语>这篇文章 ...