Camunda Embedded Engine & Kubernetes


#1

Say you have Camunda running in ‘embedded mode’ in your microservice, and you deploy that microservice to a k8s cluster, with multiple pods for resiliency. Now say one of the pods dies while executing a flow; what happens to that flow? I understand that on re-start of the pod/Camunda engine, it would make sure to continue/complete the flow, but I am wondering if there is a way to make the other pods aware of this and have them take over? Perhaps this is the motivation for using external tasks?


#2

Hi @curiouscat,

For what you’re describing, I would use asynchronous invocations (asyncBefore and asyncAfter flags) as well as External Tasks, since this persists the process state in the database and fragments the process execution into multiple jobs to be picked up and executed by the JobExecutor.

Have you seen the blog post about running Camunda BPM on Kubernetes: https://blog.camunda.com/post/2019/06/camunda-bpm-on-kubernetes/? Maybe it might help you with your investigation.

Best,
Nikola