Docker安装Rally

使用Docker安装Rally会有以下两点限制:

1.不能通过分发负载测试驱动从多台机器施加负载。

2.不能使用benchmark-only之外的其他pipeline。

 安装

在已安装Docker的情况下,执行docker run elastic/rally list tracks,当成功显示Rally可用的track列表时,说明Rally镜像已经成功下载。

运行

安装完成后就可以进行测试,加入已经安装了Elasticsearch,并且Rally可以访问,假设Elasticsearch地址为:es01:9200。可以通过test-mode模式测试安装是否成功,例如在metricbeat赛道上运行,可执行如下命令:

docker run elastic/rally --track=metricbeat --test-mode --pipeline=benchmark-only --target-hosts=es01:9200

配置

Rally的Docker镜像附带的默认配置为/rally/.rally/rally.ini。如果想要自定义Rally,可以创建自己的rally.ini文件,并在执行时通过添加-v参数进行绑定:

-v /custom_rally.ini:/rally/.rally/rally.ini 

持久化

为了确保跨调用的持久性、复用用下载和提取的track并减少启动时间,强烈建议对容器中的/rally/.rally目录使用本地绑定挂载或者命名卷。需要确保UID为1000或者GID为0,以便Rally可以写入绑定挂载的目录。如果本地挂载中不包含rally.ini,会在首次运行时自动创建。

首先创建本地目录,并设置GID:

mkdir myrally
sudo chgrp 0 myrally

执行命令生成rally.ini:

docker run --rm -v $PWD/myrally:/rally/.rally elastic/rally --track=metricbeat --test-mode --pipeline=benchmark-only --target-hosts=es01:9200

执行结果如下:

 Docker安装Rally_第1张图片

 此时在本地的myrally目录中就可看到自动生成的rally.ini文件。

如果没有绑定本地挂载,Rally会为/rally/.rally创建一个匿名卷,确保日志和结果即使在容器终止后也能持久保存。

你可能感兴趣的:(rally,docker,es)