In our project we are using Activiti for workflow, the backend as well as front end is hosted on kubernetes, the challenge is if I have to scale the services what would happen to triggers and time based cron jobs will they be triggered multiple times, if so how can i achieve distributed locks is it something we need to handle or activiti does by itself
Implementation solution or suggestions
That's not something k8s or GKE can do for you. If Activiti is responsible for running the workflows and you want to avoid running the same workflow twice. That's something that needs to be done on Activiti.
Maybe look into consul or zookeeper to implement the distributed locking mechanism ?