Status: Nov 2022 - Draft while testing & writing up deployment and use of Camunda 8 on MicroK8S
Camunda is a popular Business Process Modelling Notation (BPMN) modeling and process execution tool. Like many open-source based tools it is available as Software-as-a-Service (SaaS) or self managed (download and deploy).
To learn using Camunda SaaS is the simple choice. For self-managed Camunda 8 their are a number of deployment model. By default these are targetted at establishing robust deployments (quorum of three and multiple ingress/egress servers ..,), rather then simple trail deployment.
I wanted to just do a simple "single machine" deployment (where single machine was a VM) so I could do some testing and verification of basis architecture and mechanims of tool.
To achieve this I opted to do a "simple" MicroK8S deployment on VM. Here are notes on what is needed to get this up and running on Ubuntu 22.04.
The installation instructions for self-installation of Camunda 8 are part of source repository. Camunda 8 needs:
- Kubernetes "clusters" - with Helm3 and Persistent Storage Class for Persistent Volume Claim (PVC)
By default the provided Camunda Platform helm chart, assumes multiple clusters (one for Identity - Keycloak which in turn uses PostgreSQL DB), replicated ElasticSearch instance and seperate HTTP/S and gRPC Ingress Servers. To get this squashed onto VM with MicroK8S you requires reducing the resources (CPU, RAM and Storage) and not having multiple replicas of the various containers.
For a MicroK8s deployment the typically way of getting persistent storage is to use an NFS Server. To allow a small self contained deployment this means, having the hosting machine exposed its storage via NFS which can then be consumed by the MicroK8S instance.
For the PostgreSQL server you have the option of havings this being provided via K8S hosted PostgreSQL or as external server.
I elected to again deploy this via the hosting server.
References & Links:
Camunda Platform Helm Chart - this is repository for Kubernetes deployment