背景
目前我们这面压测时主要使用方式为coding平台 集群的方式进行压力测试,当coding平台挂掉或者维护时我们需要压测时怎么办呢?下面介绍一下本地 集群的方式进行压力测试,满足coding平台不可用时也能进行集群压测。
详细步骤
1、首先打开终端
2、安装kubectl
下载最新版本
代码语言:javascript复制curl -LO "https://storage.googleapis.com/kubernetes-release/release/$(curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt)/bin/darwin/amd64/kubectl"
使用下面方法一安装时需要指定版本安装,替换$(curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt)命令部分,如:
代码语言:javascript复制curl -LO https://storage.googleapis.com/kubernetes-release/release/v1.18.4-tke.6/bin/darwin/amd64/kubectl
使kubectl二进制可执行文件
代码语言:javascript复制chmod x ./kubectl
将二进制文件移到PATH中
代码语言:javascript复制sudo mv ./kubectl /usr/local/bin/kubectl
测试以确保您安装的版本是最新的
代码语言:javascript复制kubectl version
这个地方会提示你确定集群信息
3、配置kubeconfig
方法一:
我们需要上腾讯云去拿到集群配置信息,若当前访问客户端尚未配置任何集群的访问凭证,即 ~/.kube/config 内容为空,可直接复制上方 kubeconfig 访问凭证内容并粘贴入 ~/.kube/config 中。
添加好之后再执行命令检查,发现版本不一致报警告,但这不影响我们后面操作,问题原因是安装kubectl时安装版本和集群版本不一致导致,重新安装即可
代码语言:javascript复制kubectl version
查看集群信息,确定是否连接到集群
代码语言:javascript复制kubectl get pod
方法二:
若当前访问客户端已配置了其他集群的访问凭证或者出现方法一问题不想重新安装,你可下载上方 kubeconfig 至指定位置,并执行以下指令以追加本集群的 kubeconfig 至环境变量,但该命令只会在本终端窗口生效,推出后需重新连接集群
代码语言:javascript复制export KUBECONFIG=$KUBECONFIG:$HOME/Downloads/cls-0414cfrl-config
其中,$HOME/Downloads/cls-0414cfrl-config 为本集群的 kubeconfig 的文件路径,替换为下载至本地后的实际路径
查看集群信息,确定是否连接到集群
代码语言:javascript复制kubectl get pod
4.准备本地仓库文件
本地压测需要有这几个shell脚本,其中执行./start_test.sh $HOME/xxx.jmx
是执行压测脚本,执行./stop_test.sh
是停止集群,执行./upload_file_to_slave.sh $HOME/xxx.csv
是复制数据文件到集群中,其中$HOME/xxx.jmx为脚本路径,$HOME/xxx.csv为数据文件路径
5.启动集群执行脚本
在这些shell脚本目录下执行./start_test.sh ../demo/Test.jmx
命令后脚步开始在集群中运行
在grafana中也可以看到
另外打开一个终端窗口,保证集群连接上的情况下执行./stop_test.sh
命令,集群停止运行
总结
以上就是在本地运行集群的情况,步骤也是比较简单,根据我写的步骤来即可完成测试