Camunda 8 on Kubernetes using an Ingress Controller

I have tried to set up Camunda 8 on an Azure Kubernetes (AKS) cluster by following the instructions given in the great blog post Using Helm and Kubernetes to deploy Camunda 8 by @Hafflgav. The installation using Helm went fine and in the end, the generated Camunda deployments started up successfully (without Identity).

Unfortunately, my attempts to expose the Operate and Tasklist services via an ingress failed. My intention was to make the services externally available at individual paths, i.e. Operate at http://[external_ip]/operate and Tasklist at http://[external_ip]/tasklist. My defined ingress worked as expected but when I opened the external Operate URL in a browser, all I got was a blank page.

It took me a while to figure out that the blank page was caused by missing JS and CSS files. A look at the page source revealed that Camunda was trying to load these resources from the base URL instead of the /operate path.

Apparently, the Camunda services do not support a path mapping. In consequence, the only option I see to expose the services via an ingress is to build a setup with dedicated subdomains for the services. However, this would propably require quite a few additional resources in Azure and cause additional costs. Does anyone have any other ideas/suggestions?

Hey @Greg

you can configure the context path for Operate and Tasklist. See this Configuration | Camunda Platform 8

Does this help?

Greets
Chris

2 Likes

@Zelldon That’s it! I could solve the issue by updating the context path entries using ENV variables in the respective Kubernetes deployments. Many thanks for your help!

1 Like

That is great @Greg! Happy to hear this.

Would you mind to post your values file for later users? :slight_smile:

Greets
Chris

Good idea @Zelldon! Let me share my values file as well as my custom ingress definitions, which correlate with my customized Camunda setup. Maybe I should point out that this is just a basic setup, with Identity (Keycloak) and Optimize disabled as I have not yet managed to get these components to work on Kubernetes. I just wrote another forum post to seek advice from the community in this regard. :slight_smile:

Is there any way I could circumvent the upload restrictions? Apparently, it is prohibited to attach YAML files to forum posts and I do not want to paste the whole file contexts here. :thinking:

Hey @Greg

what I normally do at github is to call them .txt maybe this works here as well, could you try this? :slight_smile:

Greets
Chris

@Zelldon I tried… and failed. Obviously, only a few file types are supported here.
Appending a .form suffix seems to work, so I hope this will do the trick…
custom-values.yaml.form (42.5 KB)
ingress.yaml.form (1.5 KB)

1 Like

I’ve seen other posters use .bpmn for other file types, but that should be blocked if the file doesn’t start with an XML header.