Docker image for the Locust load testing tool and sample Kubernetes configuration files for distributed deployment.
The Docker image can be run standalone by passing a URL to your locustfile:
docker run -d -p 8089:8089 \
-e LOCUST_LOCUSTFILE_URL='https://example.com/locustfile.py' \
-e LOCUST_TARGET_HOST='https://example.com' \
--name locust peterevans/locust:latest
Then point your web browser to https://localhost:8089/
It can also run in no-web
mode by passing LOCUST_EXTRA_FLAGS_MASTER
:
docker run -d -p 8089:8089 \
-e LOCUST_LOCUSTFILE_URL='https://example.com/locustfile.py' \
-e LOCUST_TARGET_HOST='https://example.com' \
-e LOCUST_EXTRA_FLAGS_MASTER='--csv=foobar --no-web -c 100 -r 10' \
--name locust peterevans/locust:latest
This will save the test results periodically to a CSV file.
-
Create a ConfigMap containing your locustfile.py and its dependencies. The command below creates a ConfigMap containing files placed in the local directory
locust-tasks
.kubectl create configmap locust-configmap --from-file=locust-tasks/
-
Edit the deployment configuration files and set environment variable
LOCUST_TARGET_HOST
. -
Deploy the master and slave deployments.
kubectl create -f ./locust-master.yaml kubectl create -f ./locust-slave.yaml
MIT License - see the LICENSE file for details