Install Helm chart
Conduktor provides a Helm repository containing a chart that will deploy Conduktor Gateway on your Kubernetes cluster. This is a quick start guide to help you deploy a local instance of Gateway for non production purposes.Chart dependencies
All charts within this repository have one dependency which isbitnami-common. You can find the chart here: https://github.com/bitnami/charts/tree/main/bitnami/common
Compatibility matrix
This compatibility matrix is a resource to help you find which versions of Conduktor Gateway work on which version of our Conduktor Gateway Helm chart.We recommend you use the version of Gateway that comes pre-configured with the Helm chart. You can adjust the version in your values property according to the supported Gateway version, if required. Breaking changes column only lists a breaking change in the Helm chart. See Conduktor release notes to determine whether there are breaking changes within the artifacts.
Helm chart compatibility
Breaking changes: 🟡 - breaks additional services / small behavior changes (e.g. Grafana dashboard changes) 🔴 - breaks overall deployment of the product (e.g. renaming variables in .values, major product releases)| Chart version | Supported Gateway version | Breaking changes |
|---|---|---|
| conduktor-gateway-3.13.0 | 3.13.0, 3.12.0, 3.11.0, 3.10.0, 3.9.2, 3.9.1, 3.9.0, 3.8.1, 3.8.0, 3.7.1, 3.7.0, 3.6.1, 3.6.0, 3.5.0, 3.4.1, 3.4.0, 3.3.1, 3.3.0, 3.2.2, 3.2.1, 3.2.0, 3.1.1, 3.1.0 | 🟡 Added podAntiAffinity default preset |
| conduktor-gateway-3.12.1 | 3.12.0, 3.11.0, 3.10.0, 3.9.2, 3.9.1, 3.9.0, 3.8.1, 3.8.0, 3.7.1, 3.7.0, 3.6.1, 3.6.0, 3.5.0, 3.4.1, 3.4.0, 3.3.1, 3.3.0, 3.2.2, 3.2.1, 3.2.0, 3.1.1, 3.1.0 | 🟡 Updated startupProbe, livenessProbe, readynessProbe endpoints |
| conduktor-gateway-3.12.0 | 3.12.0, 3.11.0, 3.10.0, 3.9.2, 3.9.1, 3.9.0, 3.8.1, 3.8.0, 3.7.1, 3.7.0, 3.6.1, 3.6.0, 3.5.0, 3.4.1, 3.4.0, 3.3.1, 3.3.0, 3.2.2, 3.2.1, 3.2.0, 3.1.1, 3.1.0 | |
| conduktor-gateway-3.11.0 | 3.11.0, 3.10.0, 3.9.2, 3.9.1, 3.9.0, 3.8.1, 3.8.0, 3.7.1, 3.7.0, 3.6.1, 3.6.0, 3.5.0, 3.4.1, 3.4.0, 3.3.1, 3.3.0, 3.2.2, 3.2.1, 3.2.0, 3.1.1, 3.1.0 | |
| conduktor-gateway-3.10.0 | 3.10.0, 3.9.2, 3.9.1, 3.9.0, 3.8.1, 3.8.0, 3.7.1, 3.7.0, 3.6.1, 3.6.0, 3.5.0, 3.4.1, 3.4.0, 3.3.1, 3.3.0, 3.2.2, 3.2.1, 3.2.0, 3.1.1, 3.1.0 | 🔴 The default value of the environment variable GATEWAY_ACL_ENABLED has been switched to true 🔴 Deprecated DELEGATED_SASL_PLAINTEXT and DELEGATED_SASL_SSL security protocols (they remain supported for backward compatibility) Find out more from release notes. |
| conduktor-gateway-3.9.1 | 3.9.0, 3.8.1, 3.8.0, 3.7.1, 3.7.0, 3.6.1, 3.6.0, 3.5.0, 3.4.1, 3.4.0, 3.3.1, 3.3.0, 3.2.2, 3.2.1, 3.2.0, 3.1.1, 3.1.0 | |
| conduktor-gateway-3.9.0 | 3.9.0, 3.8.1, 3.8.0, 3.7.1, 3.7.0, 3.6.1, 3.6.0, 3.5.0, 3.4.1, 3.4.0, 3.3.1, 3.3.0, 3.2.2, 3.2.1, 3.2.0, 3.1.1, 3.1.0 | 🔴 When using PLAIN tokens, Gateway service accounts are now always required 🔴 When using PLAIN tokens, Gateway JWT signing key must always be set |
| conduktor-gateway-3.8.1 | 3.8.0, 3.7.1, 3.7.0, 3.6.1, 3.6.0, 3.5.0, 3.4.1, 3.4.0, 3.3.1, 3.3.0, 3.2.2, 3.2.1, 3.2.0, 3.1.1, 3.1.0 | |
| conduktor-gateway-3.8.0 | 3.8.0, 3.7.1, 3.7.0, 3.6.1, 3.6.0, 3.5.0, 3.4.1, 3.4.0, 3.3.1, 3.3.0, 3.2.2, 3.2.1, 3.2.0, 3.1.1, 3.1.0 | |
| conduktor-gateway-3.7.1 | 3.7.1, 3.7.0, 3.6.1, 3.6.0, 3.5.0, 3.4.1, 3.4.0, 3.3.1, 3.3.0, 3.2.2, 3.2.1, 3.2.0, 3.1.1, 3.1.0 | |
| conduktor-gateway-3.7.0 | 3.7.0, 3.6.1, 3.6.0, 3.5.0, 3.4.1, 3.4.0, 3.3.1, 3.3.0, 3.2.2, 3.2.1, 3.2.0, 3.1.1, 3.1.0 | 🟡 Updated Grafana template 🟡 Removed dependency on in-built Kafka cluster . Now the chart checks that the KAFKA_BOOTSTRAP_SERVERS environment variable is set in gateway.extraSecretEnvVars or gateway.env before deploying the chart. |
| conduktor-gateway-3.6.1 | 3.6.1, 3.6.0, 3.5.0, 3.4.1, 3.4.0, 3.3.1, 3.3.0, 3.2.2, 3.2.1, 3.2.0, 3.1.1, 3.1.0 | |
| conduktor-gateway-3.6.0 | 3.6.0, 3.5.0, 3.4.1, 3.4.0, 3.3.1, 3.3.0, 3.2.2, 3.2.1, 3.2.0, 3.1.1, 3.1.0 | |
| conduktor-gateway-3.5.0 | 3.5.0, 3.4.1, 3.4.0, 3.3.1, 3.3.0, 3.2.2, 3.2.1, 3.2.0, 3.1.1, 3.1.0 | |
| conduktor-gateway-3.4.1 | 3.4.1, 3.4.0, 3.3.1, 3.3.0, 3.2.2, 3.2.1, 3.2.0, 3.1.1, 3.1.0 | |
| conduktor-gateway-3.4.0 | 3.4.0, 3.3.1, 3.3.0, 3.2.2, 3.2.1, 3.2.0, 3.1.1, 3.1.0 | 🔴 Changed service account creation behavior 🟡 Updated Grafana template |
| conduktor-gateway-3.3.1 | 3.3.1, 3.3.0, 3.2.2, 3.2.1, 3.2.0, 3.1.1, 3.1.0 | |
| conduktor-gateway-3.3.0 | 3.3.0, 3.2.2, 3.2.1, 3.2.0, 3.1.1, 3.1.0 | |
| conduktor-gateway-3.2.2 | 3.2.2, 3.2.1, 3.2.0, 3.1.1, 3.1.0 | 🟡 Updated Grafana template |
| conduktor-gateway-3.2.1 | 3.2.1, 3.2.0, 3.1.1, 3.1.0 | |
| conduktor-gateway-3.2.0 | 3.2.1, 3.2.0, 3.1.1, 3.1.0 | |
| conduktor-gateway-3.1.1 | 3.1.1, 3.1.0 | |
| conduktor-gateway-3.1.0 | 3.1.1, 3.1.0 | 🟡 Updated Grafana template |
| conduktor-gateway-3.0.1 | 3.0.1, 3.0.0 | |
| conduktor-gateway-3.0.0 | 3.0.0 | 🔴 Major product update |
General requirements
- Minikube 1.33+
- Kubectl with proper kube context configured
- Helm 3.1.0+
- Docker 27 +
Install the Gateway chart
Default configuration
- Assumes a local installation on minikube.
- Deploys a single Kafka broker.
- Deploys a single Zookeeper instance.
- Deploys two instances of Gateway.
- Deploys audit Interceptor.
- Gateway is accessible on port
9099. - Gateway admin is accessible on port
8888.
Deploying against and existing Kafka cluster
If you want to deploy against an existing Kafka cluster, you’ll have to modify the template:- Set the following parameter to
false
- Un-comment the following:
- Set the following property to the hostname/IP and port of your Kafka broker listeners:
- Make sure that your external Kafka cluster is reachable from your Minikube instance (outside the scope of this guide).
Template deployment
- Copy the following template into a file called values.yaml.
- Install the chart on your cluster referencing the values.yaml file (Note: This can a take a few minutes to complete):
- Validate the cluster is up and running, you should see 4 pods:
- Setup port forwarding to connect to Gateway through a browser:
- Validate you can connect to the Gateway admin interface in your browser:
- Validate that the Audit Interceptor is deployed:
- Setup port forwarding for a client connection:
- Your clients can now interact with Conduktor Gateway like any other Kafka cluster: