一.概述:
针对阿里云平台是否满足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 |
· 2..传统ECS虚拟机和k8s宿主机平均负载值(cpu使用情况);
(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 循环测试 qperf -oo msg_size:1:32K:*2 172.29.75.3 tcp_bw tcp_lat 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带宽测试)
[[email protected] ~]# qperf 172.17.10.23 tcp_lat
tcp_lat:
latency = 40.7 us
[[email protected] ~]# qperf 172.29.75.3 tcp_lat
tcp_lat:
172.29.75.3: failed to connect
[[email protected] ~]# qperf 172.29.75.3 tcp_lat
tcp_lat:
latency = 45.7 us
原文地址:http://blog.51cto.com/breaklinux/2142533