A Helm chart for Kafdrop on Kubernetes
This chart bootstraps a Kafdrop.
Kafdrop is a web UI for viewing Kafka topics and browsing consumer groups. The tool displays information such as brokers, topics, partitions, consumers, and lets you view messages.
- Docker Desktop for Mac 3.5.2
- Kubernetes v1.21.2
- Helm v3.6.3
- Confluent Platform 6.2.0
Add the chart repository, if not done before:
helm repo add rhcharts https://ricardo-aires.github.io/helm-charts/
By default this chart is set to use the umbrella chart kstack, but can be run against an external Kafka by passing:
helm install --set kafka.enabled=false --set kafka.bootstrapServers=kstack-kafka-headless.default:9092 ktool rhcharts/kafdrop
NAME: ktool
LAST DEPLOYED: Tue Mar 23 18:35:37 2021
NAMESPACE: default
STATUS: deployed
REVISION: 1
NOTES:
** Please be patient while the kafdrop chart is being deployed in release ktool **
This chart bootstraps a kafdrop that can be accessed from within your cluster:
ktool-kafdrop.default:9000
$
These commands deploy kafdrop on the Kubernetes cluster in the default configuration. The Parameters section lists the parameters that can be configured during installation.
One can run the:
- helm list command to list releases installed
- helm status to display the status of the named release
- helm test to run tests for a release
To uninstall the ktool
deployment run:
helm uninstall ktool
The command removes all the Kubernetes components associated with the chart and deletes the release.
You can specify each parameter using the --set key=value[,key=value]
argument to helm install
.
Alternatively, a YAML file that specifies the values for the parameters can be provided while installing the chart. For example,
helm install ktool -f my-values.yaml rhcharts/kafdrop
A default values.yaml is available and should be checked for more advanced usage.
By default the obsidiandynamics/kafdrop is in use.
Parameter | Description | Default |
---|---|---|
image.registry |
Registry used to distribute the Docker Image. | docker.io |
image.repository |
Docker Image of Kafdrop. | obsidiandynamics/kafdrop |
image.tag |
Docker Image Tag of Kafdrop. | 3.27.0 |
One can easily change the image.tag
to use another version. When using a local/proxy docker registry we must change image.registry
as well.
By default the Service will expose the pods in the port 9000
, port
.
service:
type: NodePort
port: 9000
nodePort: 30900
If service.type
is change to NodePort
the created service will be a nodeport service that will expose Kafdrop in the nodePort
given.
Regarding the management of Resources for Containers the next defaults regarding requests and limits are set:
Parameter | Description | Default |
---|---|---|
resources.limits.cpu |
a container cannot use more CPU than the configured limit | 400m |
resources.limits.memory |
a container cannot use more Memory than the configured limit | 440Mi |
resources.requests.cpu |
a container is guaranteed to be allocated as much CPU as it requests | 100m |
resources.requests.memory |
a container is guaranteed to be allocated as much Memory as it requests | 220Mi |
In terms of the JVM the next default is set:
Parameter | Description | Default |
---|---|---|
heapOpts |
The JVM Heap Options for Kafdrop. | "-XX:MaxRAMPercentage=75.0 -XX:InitialRAMPercentage=50.0" |
Check the values.yaml
for more advance configuration such as: