This Helm chart deploys the Danube Cluster with ETCD as metadata storage in the same namespace.
- Kubernetes 1.19+
- Helm 3.2.0+
First, add the repository to your Helm client:
helm repo add danube https://danrusei.github.io/danube_helm
helm repo update
You can install the chart with the release name my-danube-cluster
using the following command:
helm install my-danube-cluster danube/danube-helm-chart
This will deploy the Danube Broker and an ETCD instance with the default configuration.
The following table lists the configurable parameters of the ETCD chart and their default values.
Parameter | Description | Default |
---|---|---|
etcd.enabled |
Enable or disable ETCD deployment | true |
etcd.replicaCount |
Number of ETCD instances | 1 |
etcd.image.repository |
ETCD image repository | bitnami/etcd |
etcd.image.tag |
ETCD image tag | latest |
etcd.image.pullPolicy |
ETCD image pull policy | IfNotPresent |
etcd.service.type |
ETCD service type | ClusterIP |
etcd.service.port |
ETCD service port | 2379 |
The following table lists the configurable parameters of the Danube Broker chart and their default values.
Parameter | Description | Default |
---|---|---|
broker.replicaCount |
Number of broker instances | 1 |
broker.image.repository |
Broker image repository | ghcr.io/your-username/danube-broker |
broker.image.tag |
Broker image tag | latest |
broker.image.pullPolicy |
Broker image pull policy | IfNotPresent |
broker.service.type |
Broker service type | ClusterIP |
broker.service.port |
Broker service port | 6650 |
broker.resources.limits.cpu |
CPU limit for broker container | 500m |
broker.resources.limits.memory |
Memory limit for broker container | 512Mi |
broker.resources.requests.cpu |
CPU request for broker container | 200m |
broker.resources.requests.memory |
Memory request for broker container | 256Mi |
broker.env.RUST_LOG |
Rust log level for broker | danube_broker=trace |
broker.brokerAddr |
Broker address | 0.0.0.0:6650 |
broker.clusterName |
Cluster name | MY_CLUSTER |
broker.metaStoreAddr |
Metadata store address | etcd:2379 |
You can override the default values by providing a custom values.yaml
file:
helm install my-danube-cluster danube/danube-helm-chart -f custom-values.yaml
Alternatively, you can specify individual values using the --set
flag:
helm install my-danube-cluster danube/danube-helm-chart --set broker.replicaCount=2 --set broker.brokerAddr="0.0.0.0:6651"
Pay attention to resource allocation, the default configuration is just OK for testing.
For production environment you may want to increase.
Small to Medium Load:
CPU Requests: 500m to 1 CPU CPU Limits: 1 CPU to 2 CPUs Memory Requests: 512Mi to 1Gi Memory Limits: 1Gi to 2Gi
Heavy Load: CPU Requests: 1 CPU to 2 CPUs CPU Limits: 2 CPUs to 4 CPUs Memory Requests: 1Gi to 2Gi Memory Limits: 2Gi to 4Gi
To uninstall the my-danube-cluster
release:
helm uninstall my-danube-cluster
This command removes all the Kubernetes components associated with the chart and deletes the release.
To get the status of the ETCD and Broker pods:
kubectl get pods -l app=etcd
kubectl get pods -l app=broker
To view the logs of a specific broker pod:
kubectl logs <broker-pod-name>
This Helm chart is licensed under the Apache 2.0 License. See the LICENSE file for more details.