感谢公司同事的指导



测试目标:验证性能监控功能的CPU/memory/网络/存储性能监控是否工作

测试思路:

  • CPU/Memory: 在MEC k3s集群里创建POD,在POD里为集群加压 e.g. memtester
  • 网络: 创建两个pod 分别起在两个物理节点上,使用iperf3给网络加压
  • 存储: 通过MEC 创建一块大磁盘,,通过 DD或其他工具将磁盘写满(e.g. ceph存储整体约30T,创建一块盘3T,预期存储 已用量会降低10%)


被测服务器:mec16边端服务器

step1 登录跳板

前端地址
物理机计算地址   control1 control2
物理机k3s节点
GPU节点
engine ip地址
k3s地址   k3sserver-1 k3sserver-2 k3sserver3
harbor地址
网关地址

1. 测试CPU memory

CPU/Memory:在MEC k3s集群里创建POD,在POD里为集群加压 e.g. memtester

1.1 登录ks3-1服务器10.121.xx.xx,目录/tmp  或者去测试服务器下载

cpu.yaml配置如下

apiVersion: apps/v1
kind: Deployment
metadata:name: cpu-mem-testnamespace: default
spec:selector:matchLabels:name: cpu-mem-testreplicas: 1template:metadata:labels:name: cpu-mem-testspec:nodeSelector:kubernetes.io/hostname: k3sagent-1imagePullSecrets:- name: docker-registry-secretcontainers:- name: cpu-mem-testimage: harbor.validationteam.com/library/cpu_centos:5imagePullPolicy: IfNotPresentsecurityContext:privileged: falseresources:limits:memory: "1Gi"cpu: "0.1"requests:memory: "1Gi"cpu: "0.1"ports:- containerPort: 22

[root@k3sserver-1 tmp]#

[root@k3sserver-1 tmp]# cp cpu_mem.yaml cpu_mem1125.yaml
[root@k3sserver-1 tmp]# cp cpu_mem2.yaml cpu_mem21125.yaml

vim cpu_mem1125.yaml

批量替换    :%s/cpu-mem-test/cpu-mem-test1125/g

kubernetes.io/hostname: k3sagent-1

vim cpu_mem21125.yaml

:%s/cpu-mem-test1/cpu-mem-test21125/g

kubernetes.io/hostname: k3sagent-2

1.2 创建pod

[root@k3sserver-1 tmp]# kubectl create -f cpu_mem1125.yaml

1.3 查询pod

[root@k3sserver-1 tmp]# kubectl get pod -A |grep cpu
default cpu-mem-test-57464dcc97-jhtqt 1/1 Running 1 2d2h
default cpu-mem-test1-75b59dddd8-drz4d 1/1 Running 0 2d2h
default cpu-mem-test1125-795cd5c685-lkktt 1/1 Running 0 133m

登录到pod
[root@k3sserver-1 tmp]# kubectl exec cpu-mem-test1125-795cd5c685-lkktt -it sh
kubectl exec [POD] [COMMAND] is DEPRECATED and will be removed in a future version. Use kubectl exec [POD] -- [COMMAND] instead.
sh-4.4#

1. 4 使用预先安装的memtester给集群加压 .  具体命令: memtester 10M 1000000

参数介绍
memtester [-p PHYSADDR] [ITERATIONS]
MEMORY 申请测试内存的数量,单位默认是megabytes(兆),也可以是B K M G
ITERATIONS 测试的次数,默认是无限
始测试,申请10M内存,测试一次,如下图:
memtester 10M 1

sh-4.4# memtester 10M 1000000

主要想对内存进行压力测试,以上只是试用,可以申请大内存,放入后台无限测试
nohup memtester 2G > /tmp/memtest.log &

sh-4.4# nohup memtester 2G > /tmp/memtest.log &
[1] 95
sh-4.4# nohup: ignoring input and redirecting stderr to stdout

sh-4.4# ps -ef|grep mem   查看mem进程
root        26    20  0 Nov25 pts/0    00:03:03 memtester 10M 1000000
root        84     0  9 05:59 ?        00:15:48 memtester 2G
root        95    89  4 08:31 pts/2    00:00:39 memtester 2G
root       101    89  0 08:44 pts/2    00:00:00 grep mem

对应系统上可以看到智能运维 > 监控告警 > 性能监控 - [边缘容器监控]的pod容器cpu-mem-test1125-795cd5c685-lkktt的CPU利用率-CPU Utilization增高

2. 网络测试方法
2.1 同样使用该 POD(pod1), 并创建一个新的POD(e.g.pod2),在pod内安装iperf3
yum install iperf3

登录pod容器方法同1.1和1.2 
2.2 Pod1 执行 iperf3 -s
2.3 Pod2 执行 iperf3 -c <pod1 ip> -t <时间>
2.4 在性能界面会看到这两个pod所在的物理节点对应的网卡出现较大流量数据

2.2 登录ks3-1服务器10.121.xx.a

登录cputest1的容器

sh-4.4# iperf3 -s

2.3 登录ks3-2服务器10.121.xx.b

登录cputest2的容器

[root@k3sserver-2 ~]# kubectl get pod -A|grep cpu
default                cpu-mem-test-57464dcc97-jhtqt                      1/1     Running     1          3d1h
default                cpu-mem-test1-75b59dddd8-drz4d                     1/1     Running     0          3d1h
default                cpu-mem-test1125-795cd5c685-lkktt                  1/1     Running     0          25h
default                cpu-mem-test21125-65f5855456-qjxqc                 1/1     Running     0          21h
[root@k3sserver-2 ~]# kubectl exec -it cpu-mem-test21125-65f5855456-qjxqc -n default sh

安装iperf3,执行

sh-4.4# yum install iperf3

点击y 直到安装完毕执行

查看容器pod1的内网ip 为10.16.0.x

ip a |grep inet

在容器pod2执行

sh-4.4# iperf3 -c pod1的内网ip -t 1000

智能运维 > 监控告警 > 性能监控 - 边缘节点监控 看到的结果,网速上升

 3. 存储测试方法

准备工作:

登录mec系统,虚拟机资源 > 存储管理,创建一块很大的磁盘(T单位的,这里创建的是3T)

登录mec系统,虚拟机资源 > 虚拟机管理,创建虚拟机,添加刚刚创建的磁盘

登录mec创建好的虚拟机,mac电脑用vnc连接虚拟机的console.vv(2分钟内有效) ip:port

连接虚拟机成功需要输入root   2020的密码

step1-5在虚拟机上操作

1. mkfs -t ext4  /dev/<磁盘名>

2. mkfs -t ext4 /dev/vdb    #格式化磁盘。把第二块硬盘整个格式化成ext4文件系统,同时会覆盖掉原来到分区表

3. mkdir /mnt/vdb   #创建挂载文件夹

4. lsblk (可以看到/dev/vdx)

#用于列出所有可用块设备的信息,而且还能显示他们之间的依赖关系,但是它不会列出RAM盘的信息

此时MOUNTPOINT(目录是否是加载点)无内容

5. mount /dev/vdb /mnt/vdb #需要重新挂载

lsblk 此时MOUNTPOINT有挂载点,为/mnt/vdb,一定要校验创建的文件夹vdb挂载在目录/mnt/vdb了。没有没挂载上(MOUNTPOINT无value值),则会对系统盘造成压力,等于测试白测了

step6-7在mec的物理机、ceph上操作

6. 登录mec16服务器的物理计算机control1

[root@control1 ~]# mount |grep ceph

ssh 172.xx.xx.xx  #登录ceph

7. ceph df  #在写磁盘前检查 ceph容量 -- %USED

step8在虚拟机上操作

8. 使用dd命令将磁盘写满

参考博客dd linux 压测,使用dd命令简单测试磁盘性能

dd if=/dev/zero of=/mnt/vdb/ls bs=10M count=2048000

把创建的/dev/zero文件向/mnt/vdb/ls文件写数据,其中/mnt/vdb为刚刚创建的文件夹目录,zero和ls均为新文件

注:命令行解释:

创建一个大小为256M的文件:

#dd if=/dev/zero of=/swapfile bs=1024 count=262144

备份磁盘开始的512个字节大小的MBR信息到指定文件

#dd if=/dev/hda of=/root/image count=1 bs=512

count=1指仅拷贝一个块;bs=512指块大小为512个字节

参考Linux 下的dd命令使用详解以及dd if=/dev/zero of=的含义

step9在mec的ceph操作

9. [root@ceph-0 ~]# watch ceph df

查看ceph使用率的变化--每2s

step10在mec的ceph操作

10. 写完磁盘后,再次检查 ceph存储容量

看总的余量

11. 登录cmo系统,智能运维 > 监控告警 > 性能监控 - 存储监控

IO BW上升,IO写入

剩余容量Capacity不断下降

完结,撒花~~~~~

k8s k3s云容器性能测试-边端云端性能测试相关推荐

  1. 阿里云容器服务cni网络插件terway非官方网络性能测试

    作者:张荣滨,酷划在线后端架构师,关注微服务治理,容器化技术,Service Mesh等技术领域 terway网络性能测试 酷划在线成立于2014年,是国内激励广告行业的领军者.酷划致力于打造一个用户 ...

  2. 通过阿里云容器服务K8S Ingress Controller实现应用服务的灰度发布

    简介 日常工作中我们经常需要对服务进行版本更新升级,为此我们经常使用到的发布方式有滚动升级.分批暂停发布.蓝绿发布以及灰度发布,今天主要跟大家分享下在阿里云容器服务Kubernetes集群中如何通过I ...

  3. 教程get | K8S部署OpenStack容器云(下)

    如何借助OpenStack Kolla-K8S项目,通过K8S对OpenStack进行容器化部署?并最终部署一套All-In-One类型的OpenStack容器云?让我们继续部署: 部署kolla-k ...

  4. 基于阿里云容器镜像服务加速K8S镜像下载

    简单说明: 部署K8S最大的难题是镜像下载 可以使用阿里云容器镜像服务由海外机器构建 国内同时可以使用阿里云的镜像加速器加速镜像下载 仅需要将含有相关镜像的Dockerfile提交到阿里云即可 申请云 ...

  5. 基于阿里云容器镜像服务加速K8S镜像下载(二)

    简单说明 在<基于阿里云容器镜像服务加速K8S镜像下载>中介绍了使用阿里云镜像服务来解决一些不可达镜像的下载 但是需要反复在阿里云容器镜像控制台添加仓库,这种操作实在太傻,是电脑这头蠢驴该 ...

  6. k8s边缘节点_KubeEdge v0.2发布,全球首个K8S原生的边缘计算平台开放云端代码

    从v0.1到v0.2 小数点后的一小步 是边缘计算领域里程碑式的一大步 KubeEdge发布v0.2版本 全球首个基于K8S 提供云边协同能力的开源边缘计算架构 正式补齐最后一块拼图 将毫无保留地提供 ...

  7. 连续两年入选Gartner公共云容器,阿里云在边缘容器方面做了什么?

    最近,Gartner发布了2020年公共云容器报告,阿里云连续两年成为唯一入选的中国企业.报告显示,阿里云容器服务在中国市场表现强劲,产品形态丰富,在 Serverless 容器.服务网格.安全沙箱容 ...

  8. 连续3年入围 Gartner 容器竞争格局,阿里云容器服务新布局首次公开

    连续3年入围 Gartner 容器竞争格局,阿里云容器服务新布局首次公开 https://www.toutiao.com/i6950935574450684423/?tt_from=weixin&am ...

  9. 从阿里云容器攻防矩阵API安全生命周期,看如何构建金融安全云原生平台

    [编者按]云原生技术正在助力银行通过差异化业务进行创新,却也带来了由于研发/运维人员对新架构不熟悉所导致的基础设施风险.业务风险及数据暴露风险.如何在飞速更迭的技术环境下保持业务持续发展,同时保证业务 ...

最新文章

  1. redis-deskmanager 连不上 虚拟机 - centos redis
  2. 【Excel】VBA自动化更新数据表格
  3. [js高手之路] vue系列教程 - vue的事件绑定与方法(2)
  4. 类QQ右下角弹出框(Qt)
  5. 关于Tensorflow安装opencv和pygame
  6. jQuery 中的事件参数传递机制
  7. 安卓学习笔记01:安装集成开发环境Android Studio
  8. 18.XML CDATA
  9. 11.策略模式(Strategy Pattern)
  10. 【深度学习论文】:U-Net
  11. 计算机二级系统环境,计算机等级二级Java考试辅导:“系统和环境”单元综合复习...
  12. 《战术篇》阵型的设定与编辑,战术命令详解
  13. Chrome浏览器安装扩展程序后菜单栏图标不显示
  14. xp系统服务器找不到打印机无法连接失败,xp系统打印机共享提示连接失败的解决方法...
  15. Linux 打包压缩(tar、gzip、bzip、xz)备份(备份dump genisoimage 还原restore)
  16. tp5 以及网站架构个人心得
  17. 那些散落在人间的天使
  18. mysql myisam转innodb_WordPressMySQL数据库MyISAM表转换InnoDB方法和修复工具
  19. 【Codeforces613D】Kingdom and its Cities【虚树】【Tree DP】倍增lca
  20. 【计算机视觉与深度学习 北京邮电大学 鲁鹏 视频笔记】1. 线性分类器

热门文章

  1. html行间距1.8em,css如何控制行间距?
  2. 深入理解漏洞之 XXE 漏洞
  3. MediaPipe人体姿态、手指关键点检测
  4. 红书上的几道搜索例题
  5. java zlib 解压_在javascript中解压缩gzip和zlib字符串
  6. PHP Yac cache 源码学习笔记
  7. vant自定义引入iconfont图标以及字体
  8. Leetcode--Java--820. 单词的压缩编码
  9. otter 简单同步使用,上手就是这么随意
  10. 武汉交通职业学院计算机分数线,武汉交通职业学院录取分数线2021是多少分(附历年录取分数线)...