本地连接集群进行压力测试

2021-08-06 14:13:05 浏览数 (1)

背景

目前我们这面压测时主要使用方式为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命令,集群停止运行

总结

以上就是在本地运行集群的情况,步骤也是比较简单,根据我写的步骤来即可完成测试

0 人点赞