Locust Helm Chart

Locust
Analyzed version: 0.26.1

By Delivery Hero

A chart to install Locust, a scalable load testing tool written in Python. This chart will setup everything required to run a full distributed locust environment with any amount of workers. This chart will also create configmaps for storing the locust files in Kubernetes, this way there is no need to build custom docker images. By default it will install using an example locustfile and lib from [stable/locust/locustfiles/example](https://github.com/deliveryhero/helm-charts/tree/master/stable/locust/locustfiles/example). When you want to provide your own locustfile, you will need to create 2 configmaps using the structure from that example: ```console kubectl create configmap my-loadtest-locustfile --from-file path/to/your/main.py kubectl create configmap my-loadtest-lib --from-file path/to/your/lib/ ``` And then install the chart passing the names of those configmaps as values: ```console helm install locust deliveryhero/locust \ --set loadtest.name=my-loadtest \ --set loadtest.locust_locustfile_configmap=my-loadtest-locustfile \ --set loadtest.locust_lib_configmap=my-loadtest-lib ```

Prometheus, a CNCF project, is a systems and service monitoring system. It collects metrics from configured targets at given intervals, evaluates rule expressions, displays the results, and can trigger alerts if some condition is observed to be true.

This chart bootstraps a Prometheus deployment on a Kubernetes cluster using the Helm package manager.

Latest version: 15.5.3
View GitHub

How to Install the Locust Helm Chart

Add Chart Repository to Helm

helm repo add deliveryhero https://charts.deliveryhero.io/

Install Chart

helm install my-locust deliveryhero/locust --version 0.26.1

Does the Locust Chart Follow Industry Best Practices?

The chart meets the best practices recommended by the industry.

The chart failed to meet 7 of the best practices recommended by the industry.

The chart meets the best practices recommended by the industry. Find the full list of best practices here.

❌ Ensure each container has a configured CPU request

2 occurrences:

  • metadata.name: release-name-locust-master (kind: Deployment)
  • metadata.name: release-name-locust-worker (kind: Deployment)

💡 Missing property object `requests.cpu` - value should be within the accepted boundaries recommended by the organization

Learn how to fix the issue here

❌ Ensure each container has a configured memory limit

2 occurrences:

  • metadata.name: release-name-locust-master (kind: Deployment)
  • metadata.name: release-name-locust-worker (kind: Deployment)

💡 Missing property object `limits.memory` - value should be within the accepted boundaries recommended by the organization

Learn how to fix the issue here

❌ Ensure each container has a configured CPU limit

2 occurrences:

  • metadata.name: release-name-locust-master (kind: Deployment)
  • metadata.name: release-name-locust-worker (kind: Deployment)

💡 Missing property object `limits.cpu` - value should be within the accepted boundaries recommended by the organization

Learn how to fix the issue here

❌ Ensure each container has a configured liveness probe

2 occurrences:

  • metadata.name: release-name-locust-master (kind: Deployment)
  • metadata.name: release-name-locust-worker (kind: Deployment)

💡 Missing property object `livenessProbe` - add a properly configured livenessProbe to catch possible deadlocks

Learn how to fix the issue here

❌ Ensure each container has a configured readiness probe

1 occurrences:

  • metadata.name: release-name-locust-worker (kind: Deployment)

💡 Missing property object `readinessProbe` - add a properly configured readinessProbe to notify kubelet your Pods are ready for traffic

Learn how to fix the issue here

❌ Prevent ConfigMap security vulnerability (CVE-2021-25742)

3 occurrences:

  • metadata.name: release-name-locust-config (kind: ConfigMap)
  • metadata.name: example-lib (kind: ConfigMap)
  • metadata.name: example-locustfile (kind: ConfigMap)

💡 Missing property object `allow-snippet-annotations` - set it to "false" to override default behaviour

Learn how to fix the issue here

❌ Ensure each container has a configured memory request

2 occurrences:

  • metadata.name: release-name-locust-master (kind: Deployment)
  • metadata.name: release-name-locust-worker (kind: Deployment)

💡 Missing property object `requests.memory` - value should be within the accepted boundaries recommended by the organization

Learn how to fix the issue here

This is some text inside of a div block.
This is some text inside of a div block.

Reveal misconfigurations within minutes

3 Quick Steps to Get Started