Skip to main content

Kubernetes

The below guide will help you to deploy a production-ready instance of Conduktor on Kubernetes.

info

We welcome contributions and feedback, if you have issues, you can either open an issue on our GitHub repository or contact our support.

Helm chart installation

Conduktor provides a Helm repository containing a chart that will deploy Conduktor Console on your Kubernetes cluster.

TL;DR

We do not provide any relational database dependency, you will have to provide your own database. Check our production requirements section for more information.

Check our Snippets section for more examples.

# Setup Helm repository
helm repo add conduktor https://helm.conduktor.io
helm repo update

export ADMIN_EMAIL="<your_admin_email>"
export ADMIN_PASSWORD="<your_admin_password>"
export ORG_NAME="<your_org_name>"
export NAMESPACE="<your_kubernetes_namespace>"

# Deploy helm chart
helm install console conduktor/console \
--create-namespace -n ${NAMESPACE} \
--set config.organization.name="${ORG_NAME}" \
--set config.admin.email="${ADMIN_EMAIL}" \
--set config.admin.password="${ADMIN_PASSWORD}" \
--set config.database.password="<your_postgres_password>" \
--set config.database.username="<your_postgres_user>" \
--set config.database.host="<your_postgres_host>" \
--set config.database.port="5432" \
--set config.license="${LICENSE}" # can be omitted if deploying the free tier

# Port forward to access Conduktor
kubectl port-forward deployment/console -n ${NAMESPACE} 8080:8080
open http://localhost:8080

Compatibility Matrix

This compatibility matrix is a resource to help you find which versions of Conduktor Console work on which version of our Conduktor Console Helm Chart.

In general we recommend you use the version of Console that comes preconfigured with the Helm chart. If needed you can adjust the version in your values property according to the supported Console version.

Breaking changes column will only list breaking change in the helmchart! You must review the Conduktor changelog to determine whether there are breaking changes within the artefacts.

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 versionSupported Console versionBreaking changes
console-1.15.01.30.0, 1.29.2, 1.29.1, 1.29.0, 1.28.0, 1.27.1, 1.27.0, 1.26.0, 1.25.1, 1.25.0, 1.24.1, 1.24.0
console-1.14.21.29.2, 1.29.1, 1.29.0, 1.28.0, 1.27.1, 1.27.0, 1.26.0, 1.25.1, 1.25.0, 1.24.1, 1.24.0
console-1.14.11.29.1, 1.29.0, 1.28.0, 1.27.1, 1.27.0, 1.26.0, 1.25.1, 1.25.0, 1.24.1, 1.24.0
console-1.14.01.29.0, 1.28.0, 1.27.1, 1.27.0, 1.26.0, 1.25.1, 1.25.0, 1.24.1, 1.24.0
console-1.13.01.28.0, 1.27.1, 1.27.0, 1.26.0, 1.25.1, 1.25.0, 1.24.1, 1.24.0
console-1.12.11.27.1, 1.27.0, 1.26.0, 1.25.1, 1.25.0, 1.24.1, 1.24.0
console-1.12.01.27.0, 1.26.0, 1.25.1, 1.25.0, 1.24.1, 1.24.0
console-1.11.01.26.0, 1.25.1, 1.25.0, 1.24.1, 1.24.0
console-1.10.01.25.1, 1.25.0, 1.24.1, 1.24.0
console-1.9.11.24.1, 1.24.0
console-1.9.01.24.0🔴 Changed liveness and readiness probe path see here
console-1.8.11.23.0, 1.22.1, 1.22.0
console-1.8.01.23.0, 1.22.1, 1.22.0
console-1.7.21.22.1, 1.22.0🔴 Service Monitor endpoint changes, Grafana template changes see here
console-1.6.21.21.3, 1.21.2, 1.21.1, 1.21.0
console-1.6.11.21.1, 1.21.0
console-1.6.01.21.0🔴 Paths and folder changed see here
console-1.5.51.20.0, 1.19.2, 1.19.1, 1.19.0, 1.18.4, 1.18.2, 1.18.1, 1.18.0, 1.17.3
console-1.5.41.20.0, 1.19.2, 1.19.1, 1.19.0, 1.18.4, 1.18.2, 1.18.1, 1.18.0, 1.17.3🟡 Updated Grafana template see here
console-1.5.31.20.0, 1.19.2, 1.19.1, 1.19.0, 1.18.4, 1.18.2, 1.18.1, 1.18.0, 1.17.3🟡 Updated Grafana template see here
console-1.5.21.20.0, 1.19.2, 1.19.1, 1.19.0, 1.18.4, 1.18.2, 1.18.1, 1.18.0, 1.17.3🟡 Updated Grafana template see here
console-1.5.11.20.0, 1.19.2, 1.19.1, 1.19.0, 1.18.4, 1.18.2, 1.18.1, 1.18.0, 1.17.3
console-1.5.01.20.0, 1.19.2, 1.19.1, 1.19.0, 1.18.4, 1.18.2, 1.18.1, 1.18.0, 1.17.3
console-1.4.21.19.2, 1.19.1, 1.19.0, 1.18.4, 1.18.2, 1.18.1, 1.18.0, 1.17.3
console-1.4.11.19.1, 1.19.0, 1.18.4, 1.18.2, 1.18.1, 1.18.0, 1.17.3
console-1.4.01.19.0, 1.18.4, 1.18.2, 1.18.1, 1.18.0, 1.17.3
console-1.3.91.18.4, 1.18.2, 1.18.1, 1.18.0, 1.17.3
console-1.3.81.18.4, 1.18.2, 1.18.1, 1.18.0, 1.17.3
console-1.3.71.18.3, 1.18.2, 1.18.1, 1.18.0, 1.17.3
console-1.3.61.18.2, 1.18.1, 1.18.0, 1.17.3
console-1.3.51.18.1, 1.18.0, 1.17.3
console-1.3.41.18.1, 1.18.0, 1.17.3
console-1.3.31.18.1, 1.18.0, 1.17.3
console-1.3.21.18.0, 1.17.3
console-1.3.11.18.0, 1.17.3
console-1.3.01.18.0, 1.17.3
console-1.2.41.17.3
console-1.2.31.17.3
console-1.2.21.17.3
console-1.2.11.17.3
console-1.2.01.17.3
console-1.1.41.17.3🔴 Fixed issue with license checksum see here
console-1.1.31.17.3, 1.17.2
console-1.1.21.17.3, 1.17.2
console-1.1.11.17.3, 1.17.2
console-1.1.01.17.3, 1.17.2
console-1.0.31.17.3, 1.17.2
console-1.0.21.17.3, 1.17.2
console-1.0.11.17.3, 1.17.2
console-1.0.01.17.2

General requirements

Production requirements

For production environments, this is mandatory:

A note on TLS, and URL forwarding

For production environments it is recommened to run with TLS enabled and specifically with TLS enabled from your ingress controller and terminating on Console. This creates a more secure connection, while also telling Console that it should use TLS when forwarding on any URL requests, for example, requests to SSO providers.

Without TLS terminating on Console itself, requests between the ingress controller and Console will be in plain text as will URL forwarding to your SSO provider, which can lead to rejection of the request for not being secure.

Getting started

Setup Helm repository

helm repo add conduktor https://helm.conduktor.io
helm repo update

Install the Console Chart

Configure the Console with the following values:

values.yaml
config:
organization:
name: "<your_org_name>"

admin:
email: "<your_admin_email>"
password: "<your_admin_password>"

database:
host: '<postgres_host>'
port: 5432
name: '<postgres_database>'
username: '<postgres_username>'
password: '<postgres_password>'

# HERE you can paste the console configuration (under the config key)

Install the chart on your cluster:

helm install console conduktor/console \
--create-namespace -n conduktor \
--values values.yaml \
--set config.license="${LICENSE}" # can be omitted if deploying the free tier

Once deployed, you will be able to access Conduktor on localhost:8080 by using a port-forward. You can also configure an ingress to make the console available externally, check out our snippets.

kubectl port-forward deployment/console -n ${NAMESPACE} 8080:8080

Configure the Console

Fresh install

You can configure the Console by inserting it into the config section of the values.yaml file the configuration of Console you want to apply. You can find available configurations in the configuration section

Based on a docker configuration

If you already have a configuration file that you were using within docker, you can use it by giving it to the helm chart with the following command:

values.yaml
config:
organization:
name: "<your_org_name>"

admin:
email: "<your_admin_email>"
password: "<your_admin_password>"

database:
host: '<postgres_host>'
port: 5432
name: '<postgres_database>'
username: '<postgres_username>'
password: '<postgres_password>'

# HERE you can paste the console configuration (under the config key)

Configure with an enterprise license

values.yaml
config:
organization:
name: "<your_org_name>"

admin:
email: "<your_admin_email>"
password: "<your_admin_password>"

database:
host: '<postgres_host>'
port: 5432
name: '<postgres_database>'
username: '<postgres_username>'
password: '<postgres_password>'

license: "<your_license>"

# HERE you can paste the console configuration (under the config key)

Snippets

Please refer to our helm chart README for config snippets.