手把手教你在TKE上部署压测服务之jmeter-suite

2022-04-14 23:19:31 浏览数 (1)

前言

随着云原生的推进,k8s和service mesh已然成为云上的事实标准,我们的压测引擎也是基于这个理念演化而来。整个引擎的架构为k8s jmeter influxdb grafana,其中:

  • k8s 管理压测发力机,可以方便快速的适配目标环境的扩缩容处理;
  • 通过框架提供的grafana的dashboard,能实时的了解压测量级的变化以及看到目标接口QPS的变化。依托于grafana优秀的时间选择体验,能很方便查看各次压测的详细数据,为压测节约了大量的时间;
  • JMeter on k8s 的提供的 Master / Slave 方式,让压测脚本实现过程中,对于一些资源数据,框架承担了发送到各压测执行机的责任,简化了编码和操作流程。

集群节点配置

  • 节点配置:8核16G,带宽按量计费,外网带宽100Mbps,系统盘配置50GB 高性能的云硬盘
  • 节点数量根据压测的目标QPS而定,一般1个节点可以支持2K的QPS
  • 建议购买所需压测节点数 1台机器(多一台机器作为作为控制节点、展示节点)

部署压测引擎具体流程

Tips:压测引擎是在TKE上一个服务,所以可以基于k8s进行一键部署。整个过程有如下的三个步骤,如果能够很熟练地操作TKE,可以在购买云服务器、构建TKE集群后直接跳到步骤3安装压测引擎。

步骤1:购买云服务器

以节点(8核16G,带宽按量计费,外网带宽100Mbps,系统盘配置50GB 高性能云硬盘)为例,说明购买步骤。

  • 在腾讯云官网登录账号后,进入到云服务器界面,点击“新建”。
  • 选择合适的计费模式、地域。
  • 选择合适的机器配置,镜像默认选择最新版本即可,后续构建集群时会自动重装系统。
  • 勾选上“免费分配独立公网IP”,选择“按使用流量”,带宽配置100Mbps,数量配置11台,点击下一步。
  • 安全组把常用的IP/端放开。
  • 设置CVM的登录密码,密码不能过于简单,否则很容易被攻击;如果能够确定压测机的使用时长,可设置机器自动销毁的时间,然后点击下一步。
  • 确认配置信息后点击开通,然后等待机器构建。

步骤2:构建TKE集群

  • 在容器服务页面新建集群
  • 在“集群信息”步骤填写集群名称,选择集群所在地域,集群网络需要和压测机器在同一个网络下
  • 操作系统建议选择Tencent Linux Release 2.2(Final),然后点击下一步。
  • 在“选择机型”步骤选择已有节点,选择需要加入集群的节点,然后点击下一步。
  • 在“云服务器配置”步骤设置CVM的登录密码,然后点击下一步。
  • 组件配置不需要改动,然后点击下一步。
  • 最后确认配置信息无误,点击完成,集群开始创建,大约需要15分钟。

步骤3:安装Jmeter-Suite压测引擎

  • 在应用市场页面安装jmeter-suite应用
  • 点击“创建应用”,输入应用名称,选择相应的集群,并输入合适的参数,点击创建。

Tips:

server-replicaCount对应的施压节点的数量,一般配置为集群机器的节点数-1。例如,集群中有11个节点,则副本数配置为10,剩余一个节点用于部署控制、数据展示服务;

image-tag确保是最新的版本v2.2-kona;

需要修改grafana-adminPassword的密码;

  • 在集群节点页面中,逐个节点点击进入,找到没有jmeter-server对应pod的那个节点,记住节点名称。
  • 在工作负载中,修改master、grafana、influxdb的调度策略
  • 修改节点调度策略为“指定节点调度”,选择前面记录的那台没有部署jmeter-server,将jmeter-master、grafana、influxdb都调度到该节点上。
  • 至此,压测引擎部署完成。

验证:查看监控面板

  • 监控面板的地址为:集群节点IP:31221

以下面为例对应的grafana监控面板地址为:http://152.136.130.236:31221

卸载

卸载Jmeter-Suite应用

  • 在应用中删除Jmeter-Suite
  • 在PVC界面删除influxdb持久存储

卸载压测集群

  • 在集群管理页面中,选择“更多”->“删除”。
  • 删除集群时勾选“直接销毁集群内全部按量计费节点”、“销毁CBS”即可。

0 人点赞