We want to use RabbitMQ with Kubernetes but we found some opinions telling that it is not very easy and even impossible. For exemple, the people say when the pods are down it is not easy to establish after correctly the nodes of RabbitMQ.
My question is it really impossible, is there some best practices to know about the implementation if the response is no ?
Thanks for any help
The question is too generic, btw it is possible to use rmq on k8s.
You can find the documentation about that here:
http://www.rabbitmq.com/cluster-formation.html#peer-discovery-k8s
It is highly recommended that RabbitMQ clusters are deployed using a stateful set. If a stateless set is used recreated nodes will not have their persisted data and will start as blank nodes. This can lead to data loss and higher network traffic volume due to more frequent eager synchronisation of newly joining nodes. Stateless sets are also prone to the natural race condition during initial cluster formation, unlike stateful sets that initialise pods one by one.
and here you can find an full example here:
https://github.com/rabbitmq/rabbitmq-peer-discovery-k8s/tree/master/examples/k8s_statefulsets