Best practices for setup tool in a cluster (Kubernetes)
let's suppose we have a kubernetes cluster with 3 bonita nodes, and the database on a separate machine.
What are the best practices for the setup tool?
As a reminder the setup tool is a java jdbc tool that
- allows to configure the engine through some configuration files
- is used to update/install Bonita licences
- Some files of the setup folder are used by the engine at startup for some tomcat configuration (tomcat_templates folder)
Is it ok to install only the setup tool on a 4th node, and to remove it from the 3 pods?
Or it's better to leave it on all the pods ? Are the setup/tomcat_templates used in a kubernetes cluster?
I think both options can be considered, depending on your requirements and use cases.
The setup tool can remain with the Bonita pods, and it can be executed before the Tomcat startup for instance, each time a Bonita pod is launched. This option does not require a new Docker image, as the setup tool could be invoked within "custom-init.d" scripts (these are entry points that are provided by the Bonita Docker image). Then the configuration actions and Bonita restarts would be handle within the same operation, which is to restart the Bonita pods.
On the other hand, the setup tool could also be deployed on a separate pod. This would require to create a new Docker image which embeds the setup tool only I guess. Then to apply the changes, you would have to restart the Bonita pods.
Hope this helps.