mirror of
https://github.com/fluxcd/flagger.git
synced 2026-04-15 06:57:34 +00:00
79 lines
2.5 KiB
Markdown
79 lines
2.5 KiB
Markdown
# Flagger load testing service
|
|
|
|
[Flagger's](https://github.com/weaveworks/flagger) load testing service is based on
|
|
[rakyll/hey](https://github.com/rakyll/hey)
|
|
and can be used to generates traffic during canary analysis when configured as a webhook.
|
|
|
|
## Prerequisites
|
|
|
|
* Kubernetes >= 1.11
|
|
|
|
## Installing the Chart
|
|
|
|
Add Flagger Helm repository:
|
|
|
|
```console
|
|
helm repo add flagger https://flagger.app
|
|
```
|
|
|
|
To install the chart with the release name `flagger-loadtester`:
|
|
|
|
```console
|
|
helm upgrade -i flagger-loadtester flagger/loadtester
|
|
```
|
|
|
|
The command deploys Grafana on the Kubernetes cluster in the default namespace.
|
|
|
|
> **Tip**: Note that the namespace where you deploy the load tester should have the Istio or App Mesh sidecar injection enabled
|
|
|
|
The [configuration](#configuration) section lists the parameters that can be configured during installation.
|
|
|
|
## Uninstalling the Chart
|
|
|
|
To uninstall/delete the `flagger-loadtester` deployment:
|
|
|
|
```console
|
|
helm delete --purge flagger-loadtester
|
|
```
|
|
|
|
The command removes all the Kubernetes components associated with the chart and deletes the release.
|
|
|
|
## Configuration
|
|
|
|
The following tables lists the configurable parameters of the load tester chart and their default values.
|
|
|
|
Parameter | Description | Default
|
|
--- | --- | ---
|
|
`image.repository` | Image repository | `quay.io/stefanprodan/flagger-loadtester`
|
|
`image.pullPolicy` | Image pull policy | `IfNotPresent`
|
|
`image.tag` | Image tag | `<VERSION>`
|
|
`replicaCount` | Desired number of pods | `1`
|
|
`serviceAccountName` | Kubernetes service account name | `none`
|
|
`resources.requests.cpu` | CPU requests | `10m`
|
|
`resources.requests.memory` | Memory requests | `64Mi`
|
|
`tolerations` | List of node taints to tolerate | `[]`
|
|
`affinity` | node/pod affinities | `node`
|
|
`nodeSelector` | Node labels for pod assignment | `{}`
|
|
`service.type` | Type of service | `ClusterIP`
|
|
`service.port` | ClusterIP port | `80`
|
|
`cmd.timeout` | Command execution timeout | `1h`
|
|
`logLevel` | Log level can be debug, info, warning, error or panic | `info`
|
|
`meshName` | AWS App Mesh name | `none`
|
|
`backends` | AWS App Mesh virtual services | `none`
|
|
|
|
Specify each parameter using the `--set key=value[,key=value]` argument to `helm install`. For example,
|
|
|
|
```console
|
|
helm install flagger/loadtester --name flagger-loadtester
|
|
```
|
|
|
|
Alternatively, a YAML file that specifies the values for the above parameters can be provided while installing the chart. For example,
|
|
|
|
```console
|
|
helm install flagger/loadtester --name flagger-loadtester -f values.yaml
|
|
```
|
|
|
|
> **Tip**: You can use the default [values.yaml](values.yaml)
|
|
|
|
|