Skip to main content

Kubernetes deployment

We recommend using Kubernetes when deploying Camunda Cloud Self-Managed to production.

This chapter is divided into the following sections:

General information​

Broker​

Zeebe broker nodes need to be deployed as a StatefulSet to preserve the identity of cluster nodes. StatefulSets require persistent storage, which must be allocated in advance. Depending on your cloud provider, the persistent storage differs as it is provider-specific.

At helm.camunda.io, you'll find a Helm chart to configure a three-broker cluster with two Elasticsearch instances, Operate, two Zeebe gateways, and Tasklist. This size is comparable with the Production-S cluster plan in Camunda Cloud SaaS. It should be sufficient for 80% of use cases.

There are many ways you can provision and configure a Kubernetes cluster, and there are a number of architectural choices you need to make. Will your workers run in the Kubernetes cluster or external to it?

You will need to configure your Kubernetes cluster and modify this to suit the architecture you are building.

Gateway​

Zeebe gateway is deployed as a stateless service.

We support Kubernetes startup and liveness probes for Zeebe gateway.

Helm​

There are several alternatives to deploy applications to a Kubernetes cluster, but the following sections use Helm charts to deploy a set of components into your cluster.

Helm allows you to choose exactly what chart (set of components) you want to install and how these components need to be configured.

These Helm charts are continuously being improved and released to the Camunda Cloud Helm Chart Repository.

You are free to choose your Kubernetes provider as our Helm charts are not cloud provider-specific.

We encourage reporting issues if you find them.

Prerequisites​

To use Kubernetes, you must have the following tools installed in your local environment:

  • kubectl: Kubernetes Control CLI tool, installed and connected to your cluster
  • helm: Kubernetes Helm CLI tool

You also need a Kubernetes cluster. You have several options:

  • Local for development, you can use Kubernetes KIND, Minikube, and MicroK8s.
  • Remote: Google GKE, Azure AKS, Amazon EKS, etc.
note

Be aware that we only officially test the stock Kubernetes and OpenShift environments. However, feel free to try different trials from cloud providers to create a Kubernetes cluster to test Camunda Cloud Self-Managed in your cloud.

Optional tools related to Camunda Cloud:

  • Camunda Modeler: to model/modify business processes. Install Camunda Modeler here.
  • Zeebe CTL(zbctl): command line tool to interact with a Zeebe cluster (local/remote). You can get the zbctl tool from the official Zeebe release page.