Bloomreach CMS in K8s: support for stateful sets?

Hi all,

First post, here. Hopefully I’m in the right place for this particular question.

We use Bloomreach CMS in K8s. I’ve read through this document On-Premise Kubernetes Setup - Bloomreach Experience Manager (PaaS/Self-Hosted) - The Fast and Flexible Headless CMS and there is no mention of the use stateful sets instead of deployments.

I understand, from reading that doc, that major version upgrades require all pods be stopped (to prevent the concurrent running of pods of different versions). With this in mind, I am trying to determine if it is safe to run Bloomreach as a stateful set - my guess is that it is, provided we stop all pods (scale to zero) and delete the corresponding persistant volumes during major version upgrades.

Would anyone here have recommandations around this?

Oh and the whole reason we wish to move to stateful sets is to reduce the pod startup time (which, for us, can be 10-15mins per pod, due to reindexing).

Thanks,

Simon

I can’t answer about the stateful set, but if the issue is indexing, then you can use the index export plugin to speed up deployments. This plugin allows you to export a lucene index from one of the running CMS instances. This export is a zip file which can be unzipped at a certain location in pods running brXM, and the CMS will only need to re-index the delta on startup. This is documented on the page you linked, and here’s the doc for the plugin Lucene Index Export add-on - Bloomreach Experience Manager (PaaS/Self-Hosted) - The Fast and Flexible Headless CMS.

I will look into that, thank you.