Kube-OVN v 0.7.0 发布,IPAM、子网和安全功能增强
IPAM
针对 StatefulSet 做优化,StatefulSet 生命周期内对应的虚拟网络接口不会被回收,Pod 按名字复用网络接口,类似 StatefulSet 下 Pod 和 PVC 的固定对应关系;
新增 IP CRD,可以通过 kubectl get ip 获取使用中 IP 的信息。
子网
Subnet CRD 新增 status 字段,展示 IP 分配信息以及 Subnet 是否正常的状态信息;
自动为用户自定义子网填充默认网络配置;
Namespace 绑定子网时会自动接触之前的绑定关系;
子网信息会以注解方式写回到绑定 namespace 中;
子网相关操作前会首先检查对应虚拟交换机是否存在。
安全
默认开启流量镜像功能,方便审计监控操作;
支持 NetworkPolicy 中选择所有的规则;
子网 Private 实现改进,将 ACL 应用到所有交换机端口。
IPv6
控制平面组件支持以 IPv6 协议进行通信
其他
Kube-OVN 现在有 logo 了;
中文文档上线
(https://github.com/alauda/kube-ovn/wiki);
对多个操作系统 CentOS7.5/Ubuntu 16.04/Ubuntu 18.04 的兼容性进行了测试;
Kubespray 和 kubeasz 安装支持;
简单的 TCP 性能测试。
您可以到 GitHub 主页了解 Kube-OVN 更多详细信息,并下载最新版本体验试用。GitHub 地址为: https://github.com/alauda/kube-ovn。
本测试主要在某公有云上进行,测试在公有云环境下使用 Kube-OVN 容器网络的性能表现,测试地址为:https://0x9.me/Or4gi,
测试环境
机器环境:华北五区(呼和浩特)可用区 A,ecs.c5.2xlarge (8vCPU,16GiB I/O 优化,专有网络)* 3;
OS:CentOS 7.5.1804, Kernel 3.10.0-957.27.2.el7.x86_64;
Kubernetes:1.13.4, 3 个节点,master 上可运行工作负载,300 个背景 Pod,每个节点 100 个 Pod,背景 Pod 无网络流量;
Kube-OVN: v0.7.0;
测试工具:iperf3。
测试方法
运行 300 个背景 Pod 分散到 3 个节点上;
分别以 host 模式运行 iperf3 镜像的 daemonset;;
在其中一台机器上进入容器开启 iperf3 server 模式 iperf3 -s;
在另一台机器进入容器以 client 模式运行 iperf3 并测试 tcp 结果 iperf3 -c <server host> -t 30 -l <package size>;
调整 -l 参数测试 tcp 结果;
使用 kube-ovn 模式运行 iperf3 镜像的 daemonset,并重复 4~5, 记录结果。
测试结果
TCP
包大小
Kube-OVN 网络
Host 网络
带宽比
128KB
2.42Gbit/s
2.52Gbit/s
96%
64KB
2.42Gbit/s
2.52Gbit/s
96%
16KB
2.42Gbit/s
2.52Gbit/s
96%
4KB
2.42Gbit/s
2.52Gbit/s
96%
2KB
2.39Gbit/s
2.51Gbit/s
95%
1KB
1.57Gbit/s
2.40Gbit/s
57%
500B
923Mbit/s
1.32Gbit/s
70%
250B
534Mbit/s
677Mbit/s
79%
可以看到在数据包大小为 2K 以上时,Kube-OVN 的吞吐量损耗相比主机稳定在 4%,当数据包小于 2K 时损耗增加,1K 左右数据包损耗最为明显。更小的数据包主机网络处理同样出现性能瓶颈,损耗比率又再次降低。
版权声明: 本文为 InfoQ 作者【York】的原创文章。
原文链接:【http://xie.infoq.cn/article/bb2ac2e99357497ff462639a3】。文章转载请联系作者。
评论