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 ...
随机推荐
- WordPress 网站开发“微信小程序“实战(二)
原文链接:https://devework.com/wordpres...,转载请用明链注明来源,谢谢! 本文是"WordPress 开发微信小程序"系列的第二篇,本文记录的是开发 ...
- vue在移动端的自适应布局
一. 安装插件(lib-flexible 和 postcss-loader.postcss-px2rem) npm i lib-flexible --save npm install postcss- ...
- Vue src动态引入图片不显示问题
使用vue动态引入图片显示失败,查看控制台,发现图片返回类型为text/html,这里我的图片是从后台服务器上获取的,如果你没有使用Vue的devServer.proxy 进行代理,可以光速移步百度 ...
- JAVASE for 笔记
//0到100中奇数偶数的和package com.huang.boke.flowPath;public class Fordeme { public static void main(String[ ...
- springboot集成spring security安全框架入门篇
一. :spring security的简介 Spring Security是一个能够为基于Spring的企业应用系统提供声明式的安全访问控制解决方案的安全框架.它提供了一组可以在Spring应用上下 ...
- eclipse项目导入工作空间提示已存在问题
项目直接放在 workspace 目录下,必须项目名和项目文件夹名相同,主要找的是eclipse 项目文件夹下的 .project 文件中的 <name> ... </name> ...
- 基于easyx的小时钟
#include <graphics.h> #include <math.h> #include <conio.h> #define PI 3.141592654 ...
- Codeforces Round #753 (Div. 3), problem: (D) Blue-Red Permutation
还是看大佬的题解吧 CFRound#753(Div.3)A-E(后面的今天明天之内补) - 知乎 (zhihu.com) 传送门 Problem - D - Codeforces 题意 n个数字,n ...
- axios 内存泄漏
有一个项目需要post后台几万条数据,每次只能请求三五条,所以只能在每次请求成功后自调用这个请求函数. 但这样请求了成千上万次后,浏览器会崩溃并报出 out of Memory 错误,经查询,这是内存 ...
- Caused by: com.sonatype.nexus.staging.client.StagingRuleFailuresException: Staging rules failure! 已解决!
问题分析 由于项目中修改了一些代码,然后没有修改版本号,直接deploy代码到仓库,最终导致错误! 根据 https://central.sonatype.org/faq/can-i-change-a ...