阿裏雲 自建k8s 驗證可用性;
針對阿裏雲平臺是否滿足k8s 運行環境可用性,進行kubernetes 各個組件以及相關的功能驗證,采用傳統ECS虛擬機,和k8s 環境對比進行驗證;
測試時間: 2018年4月28日16時-----2018年5月4日12時;
主要驗證功能點如下:
(1).系統平均負載值(cpu,load)
(2).網絡(聯通性,延遲性);
(3).磁盤使用情況(IO數)
(4).程序穩定性(持續一周壓力測試,程序運行是否穩定運行);指標:access_logs,request.time,
二,可用性驗證實施;
· 1.驗證k8s基礎環境信息;
環境類型 | CPU | 內存 | 磁盤 | 驗證程序軟件版本 | 內核版本 | 系統版本 |
傳統ECS虛擬機 | 2核心 | 8GB | 高效雲盤(100G) | Tomcat/8.5.15 | 3.10.0-693.5.2.el7.x86_64 | CentOS 7.2.151 |
kubernetes 工作節點 | 2核心 | 8GB | 高效雲盤(100G) | Tomcat/8.5.15 | 3.10.0-693.5.2.el7.x86_64 | Kubernetes v1.5.2 |
·
(1).指標統計表;
cpu相關指標 | user 用戶態 | system 系統 | softirq (軟件中斷) | nice 進程優先級 |
ECS 宿主機 | max(68%),min(48%),avg(63%) | max(1%),min(0%),avg(0%) | max(0%),min(0%),avg(0%) | max(0%),min(0%),avg(0%) |
k8s工作節點宿主機 | max(68%),min(51%),avg(62%) | max(1%),min(1%),avg(1%) | max(1%),min(0%),avg(0%) | max(1%),min(0%),avg(0%) |
(2).CPU監控對比;
4.網絡(聯通性,延遲性); (2018年4月28日16時-----2018年5月4日12時)
(1). ping方法 測試統計表;
網絡類型 | 測試IP地址 | 是否聯通 | 延時時間(ms)毫秒 | 備註 |
ECS 內部網絡(華北2)-01 | 172.17.10.100 | 是 | max(0.52ms),avg(0.17ms),min(0.14ms) | 相對穩定,浮動較小 |
ECS 內部網絡(華北2)-02 | 172.17.10.150 | 是 | max(0.520ms),avg(0.144ms),min(0.174ms) | 相對穩定,浮動較小 |
Flannel 網關(路由網關01) | 172.29.32.1 | 是 | max(0.168ms),avg(0.118ms),min(0.110ms) | 相對穩定,浮動較小 |
Flannel 網關(路由網關02) | 172.29.75.1 | 是 | max(4ms),avg(1ms),min(0ms) | 網絡抖動頻繁 |
k8s內部Flannel(pod使用01) | 172.29.32.2 | 是 | max(2.21ms),avg(0.81ms),min(0.16ms) | 網絡抖動頻繁 |
k8s內部Flannel(pod使用-02) | 172.29.32.3 | 是 | max(2.54ms),avg(1.08ms),min(0.19ms) | 網絡抖動頻繁 |
k8s內部Flannel(pod使用-03) | 172.29.75.3 | 是 | max(2.38ms),avg(0.84ms),min(0.16ms) | 網絡抖動頻繁 |
(2).監控指標圖;
(3). qperf 方法 測試統計表; 單位換算:s(秒)、ms(毫秒)、μs(微秒)、ns(納秒),1s=1000ms,1 ms=1000μs,1μs=1000ns
ECS內部網絡(華北2)-01 | 測試IP地址 | 是否能建立TCP通信
| 延遲時間(ms)毫秒 | 備註 |
ECS 內部網絡(華北2)-01 | 172.17.10.100 | 是 | 0.0403 | |
k8s內部Flannel(pod使用) | 172.29.75.3 | 是 | 0.0455 |
.1.操作說明:
qperf TCP帶寬測試:(tcp_bw TCP帶寬測試) , 網絡延時測試:( tcp_lat 網絡延時測試)
2.指定測試時間;(1分鐘穩定性測試)
(1).1分鐘負載的長時間穩定性測試;
· 3.循環loop遍歷測試;
網卡性能摸底測試的時候,很多時候需要得到網卡的帶寬和延時性能曲線,perf提供的循環loop測試;
循環多次測試,每次改變消息大小,例如從1K增加到32K,每次大小翻倍直到32K。
ECS 虛擬機循環
qperf -oo msg_size:1:32K:*2 172.17.10.23 tcp_bw tcp_lat tcp_bw: bw = 2.94 MB/sec tcp_bw: bw = 5.85 MB/sec tcp_bw: bw = 11.4 MB/sec tcp_bw: bw = 22.4 MB/sec tcp_bw: bw = 42.9 MB/sec tcp_bw: bw = 86.7 MB/sec tcp_bw: bw = 149 MB/sec tcp_bw: bw = 170 MB/sec tcp_bw: bw = 121 MB/sec tcp_bw: bw = 125 MB/sec tcp_bw: bw = 134 MB/sec tcp_bw: bw = 122 MB/sec tcp_bw: bw = 131 MB/sec tcp_bw: bw = 126 MB/sec tcp_bw: bw = 127 MB/sec tcp_bw: bw = 132 MB/sec tcp_lat: latency = 39.8 us tcp_lat: latency = 39.5 us tcp_lat: latency = 38.3 us tcp_lat: latency = 39.4 us tcp_lat: latency = 39.1 us tcp_lat: latency = 39.4 us tcp_lat: latency = 39.4 us tcp_lat: latency = 40.2 us tcp_lat: latency = 40.9 us tcp_lat: latency = 41.2 us tcp_lat: latency = 41.7 us tcp_lat: latency = 44.9 us tcp_lat: latency = 46.5 us tcp_lat: latency = 55.5 us tcp_lat: latency = 64 us tcp_lat: latency = 90.7 us | k8s 內部pod 循環測試
tcp_bw: bw = 2.94 MB/sec tcp_bw: bw = 5.77 MB/sec tcp_bw: bw = 11.2 MB/sec tcp_bw: bw = 22 MB/sec tcp_bw: bw = 42.7 MB/sec tcp_bw: bw = 82 MB/sec tcp_bw: bw = 142 MB/sec tcp_bw: bw = 160 MB/sec tcp_bw: bw = 119 MB/sec tcp_bw: bw = 127 MB/sec tcp_bw: bw = 127 MB/sec tcp_bw: bw = 122 MB/sec tcp_bw: bw = 123 MB/sec tcp_bw: bw = 127 MB/sec tcp_bw: bw = 121 MB/sec tcp_bw: bw = 124 MB/sec tcp_lat: latency = 45.2 us tcp_lat: latency = 45.3 us tcp_lat: latency = 45.8 us tcp_lat: latency = 45 us tcp_lat: latency = 46 us tcp_lat: latency = 47.4 us tcp_lat: latency = 44.6 us tcp_lat: latency = 45.1 us tcp_lat: latency = 44.7 us tcp_lat: latency = 45 us tcp_lat: latency = 47.1 us tcp_lat: latency = 50 us tcp_lat: latency = 55 us tcp_lat: latency = 65.4 us tcp_lat: latency = 88.2 us tcp_lat: latency = 124 us
|
ECS內部網絡(華北2)-01 | 測試IP地址 |
是否能建立TCP通信
| 延遲時間(us) |
ECS 內部網絡(華北2)-01 | 172.17.10.23 | 是 |
約 33.3 微秒延遲率 |
k8s內部Flannel(pod使用) | 172.29.75.3 | 是 |
· 5.ECS 宿主機磁盤使用情況(IOPS)
(1).傳統ECS虛擬機IOPS指標;
名稱 | 設備名稱 | requests (write) | bytes(write) | time (write) |
備註 |
ECS 宿主機
k8s工作節點宿主機
| dev/vda | max(2.38iops),avg(1.89%) | max(25.54kib),avg(16.76kib) | max(20ms)avg(8ms) | 正常 |
dev/vdb | max(8iops),avg(7iops) | max(25.86kib),avg(22.18kib) | max(6ms),avg(5ms) | ||
dev/vda | max(2.89iops),avg(2.44iops) | max(27.3kib),avg(22.0kib) | max(22ms),avg(8ms) | 正常
| |
dev/vdb | max(8iops),avg(7iops) | max(22kib),avg(19kib) | max(3.27ms),avg(2.09ms) |
(2).ECS宿主機監控圖;
(1.ECS宿主機IOPS監控)
(2.k8s 主機IOPS監控圖)
7.程序穩定性測試;
(1).ECS宿主機請求時長統計;
三.驗證相關結論;
(1).自2018年4月28日16時止2018年5月4日12時,針對阿裏雲ECS主機 和 ECS 主機部署 k8s 集群環境進行相同配置和程序進行可用性驗證最終結論如下:
使用qperf TCP帶寬測試:(tcp_bw TCP帶寬測試)
[root@k8s-cluster-master01-ontest ~]# qperf 172.17.10.23 tcp_lat
tcp_lat:
latency = 40.7 us
[root@k8s-cluster-master01-ontest ~]# qperf 172.29.75.3 tcp_lat
tcp_lat:
172.29.75.3: failed to connect
[root@k8s-cluster-master01-ontest ~]# qperf 172.29.75.3 tcp_lat
tcp_lat:
latency = 45.7 us
阿裏雲 自建k8s 驗證可用性;