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 (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.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 see here |
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 Enviroment variable GATEWAY_ACL_ENABLED has been switched to true 🔴 Depricated DELEGATED_SASL_PLAINTEXT and DELEGATED_SASL_SSL security protocols (they remain supported for backward compatibility) For more information checkout the 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 see here 🟡 Removed dependency on in-built Kafka cluster see here. 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 | 🔴 Change service account creation behavior see here 🟡 Updated Grafana template see here |
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 see here |
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 see here |
conduktor-gateway-3.0.1 | 3.0.1, 3.0.0 | |
conduktor-gateway-3.0.0 | 3.0.0 | 🔴 Major product update see here |
General requirements
- Minikube 1.33+ (install)
- Kubectl (install) with proper kube context configured
- Helm 3.1.0+ (install)
- Docker 27 + (install)
- Basic knowledge of Kubernetes
Install the Gateway chart
Default configuration
- Assumes a local installation on minikube
- Deploys a single Kafka broker
- Deploys a single Zookeeper instance
- Deploys 2 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 wish to deploy against an existing Kafka cluster, you will need to modify the template as follows:- Set the following parameter to
false
- Uncomment 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: