Skip to content
Snippets Groups Projects
Commit 9643aa88 authored by Sören Henning's avatar Sören Henning
Browse files

Rework Helm Readme

parent ab6d4216
No related branches found
No related tags found
1 merge request!191Update Docs for Release 0.5.0
...@@ -2,55 +2,47 @@ ...@@ -2,55 +2,47 @@
## Installation ## Installation
Install the chart via: The Theodolite Helm chart with all its dependencies can be installed via:
```sh ```sh
helm dependencies update . helm dependencies update .
helm install theodolite . helm install theodolite .
``` ```
This chart installs requirements to execute benchmarks with Theodolite. ## Customize Installation
Dependencies and subcharts: As usual, the installation with Helm can be configured by passing a values YAML file:
- Prometheus Operator ```
- Prometheus helm install theodolite . -f <your-config.yaml>
- Grafana (incl. dashboard and data source configuration)
- Kafka
- Zookeeper
- A Kafka client pod
## Test
Test the installation:
```sh
helm test theodolite
``` ```
Our test files are located [here](templates/../../theodolite-chart/templates/tests). Many subcharts have their own tests, these are also executed and are placed in the respective /templates folders. We provide a minimal configuration, especially suited for development environments, with the `preconfigs/minimal.yaml`
file.
Please note: If a test fails, Helm will stop testing.
It is possible that the tests are not running successfully at the moment. This is because the Helm tests of the subchart cp-confluent receive a timeout exception. There is an [issue](https://github.com/confluentinc/cp-helm-charts/issues/318) for this problem on GitHub. Per default, Helm installs the Theodolite CRDs used for the operator. If Theodolite will not be used as operator or if
the CRDs are already installed, you can skip their installation by adding the flag `--skip-crds`.
## Configuration ## Test Installation
In development environments Kubernetes resources are often low. To reduce resource consumption, we provide an `one-broker-value.yaml` file. This file can be used with: Test the installation with:
```sh ```sh
helm install theodolite . -f preconfigs/one-broker-values.yaml helm test theodolite
``` ```
Our test files are located [here](templates/tests). Many subcharts have their own tests, which are also executed.
Please note: If a test fails, Helm will stop testing.
## Uninstall this Chart ## Uninstall this Chart
To uninstall/delete the `theodolite` deployment (by default Helm will be install all CRDs (`execution` and `benchmark`) automatically. If Helm should not install these CRDs, use the flag `--skip-crds`) The Theodolite Helm can easily be removed with:
```sh ```sh
helm uninstall theodolite helm uninstall theodolite
``` ```
This command does not remove the CRDs which are created by this chart. Remove them manually with: Helm does not remove any CRDs created by this chart. You can remove them manually with:
```sh ```sh
# CRDs from Theodolite # CRDs from Theodolite
...@@ -69,9 +61,20 @@ kubectl delete crd thanosrulers.monitoring.coreos.com ...@@ -69,9 +61,20 @@ kubectl delete crd thanosrulers.monitoring.coreos.com
## Development ## Development
**Hints**: ### Dependencies
The following 3rd party charts are used by Theodolite:
- Kube Prometheus Stack (to install the Prometheus Operator, which is used to create a Prometheus instances)
- Grafana (including a dashboard and a data source configuration)
- Confluent Platform (for Kafka and Zookeeper)
- Kafka Lag Exporter (used to collect monitoring data of the Kafka lag)
### Hints
#### Grafana
- Grafana configuration: Grafana ConfigMaps contains expressions like {{ topic }}. Helm uses the same syntax for template function. More information [here](https://github.com/helm/helm/issues/2798) Grafana ConfigMaps contain expressions like `{{ topic }}`. Helm uses the same syntax for template function. More information [here](https://github.com/helm/helm/issues/2798)
- Escape braces: {{ "{{" topic }} - Escape braces: {{ "{{" topic }}
- Let Helm render the template as raw string: {{ `{{ <config>}}` }} - Let Helm render the template as raw string: {{ `{{ <config>}}` }}
\ No newline at end of file
cp-helm-charts:
cp-zookeeper:
servers: 1
cp-kafka:
brokers: 1
configurationOverrides:
offsets.topic.replication.factor: "1"
cp-helm-charts:
## ------------------------------------------------------
## Zookeeper
## ------------------------------------------------------
cp-zookeeper:
servers: 1 # default: 3
## ------------------------------------------------------
## Kafka
## ------------------------------------------------------
cp-kafka:
brokers: 1 # default: 10
configurationOverrides:
offsets.topic.replication.factor: "1"
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment