Kube-OVN 是一個基於 OVN 的 Kubernetes 開源網絡項目。馬不停蹄,Kube-OVN 0.7.0 版原本了!本次更新主要包含如下內容:git
IPAM
針對 StatefulSet 作優化,StatefulSet 生命週期內對應的虛擬網絡接口不會被回收,Pod 按名字複用網絡接口,相似 StatefulSet 下 Pod 和 PVC 的固定對應關係;
新增 IP CRD,能夠經過 kubectl get ip 獲取使用中 IP 的信息。github
子網
Subnet CRD 新增 status 字段,展現 IP 分配信息以及 Subnet 是否正常的狀態信息;
自動爲用戶自定義子網填充默認網絡配置;
Namespace 綁定子網時會自動接觸以前的綁定關係;
子網信息會以註解方式寫回到綁定 namespace 中;
子網相關操做前會首先檢查對應虛擬交換機是否存在。安全
安全
默認開啓流量鏡像功能,方便審計監控操做;
支持 NetworkPolicy 中選擇全部的規則;
子網 Private 實現改進,將 ACL 應用到全部交換機端口。網絡
IPv6
控制平面組件支持以 IPv6 協議進行通訊tcp
其餘
Kube-OVN 如今有 logo 了;
中文文檔上線
(https://github.com/alauda/kub...);
對多個操做系統 CentOS7.5/Ubuntu 16.04/Ubuntu 18.04 的兼容性進行了測試;
Kubespray 和 kubeasz 安裝支持;
簡單的TCP性能測試。工具
您能夠到GitHub主頁瞭解Kube-OVN更多詳細信息,並下載最新版本體驗試用。GitHub地址爲: https://github.com/alauda/kub...。性能
TCP性能測試測試
本測試主要在某公有云上進行,測試在公有云環境下使用 Kube-OVN 容器網絡的性能表現,測試地址爲:https://0x9.me/Or4gi,測試指標爲 host 網絡模式和 Kube-OVN 網絡模式網絡吞吐量的比較。優化
測試環境
機器環境:華北五區(呼和浩特)可用區 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。spa
測試方法
運行 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, 記錄結果。
測試結果
咱們以 host 網絡做爲測試基準,比較 Kube-OVN 在網絡吞吐量上的損耗。
能夠看到在數據包大小爲 2K 以上時,Kube-OVN 的吞吐量損耗相比主機穩定在 4%,當數據包小於 2K 時損耗增長,1K左右數據包損耗最爲明顯。更小的數據包主機網絡處理一樣出現性能瓶頸,損耗比率又再次下降。