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?
@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!
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.
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.
@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)