<p>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.</p>

<p>My question is it really impossible, is there some best practices to know about the implementation if the response is no ?</p>

<p>Thanks for any help</p>

<p>The question is too generic, btw it is possible to use rmq on k8s.</p>

<p>You can find the documentation about that here:</p>

<p><a href="http://www.rabbitmq.com/cluster-formation.html#peer-discovery-k8s" rel="nofollow noreferrer">http://www.rabbitmq.com/cluster-formation.html#peer-discovery-k8s</a></p>

<blockquote>
  <p>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.</p>
</blockquote>

<p>and here you can find an full example here:</p>

<p><a href="https://github.com/rabbitmq/rabbitmq-peer-discovery-k8s/tree/master/examples/k8s_statefulsets" rel="nofollow noreferrer">https://github.com/rabbitmq/rabbitmq-peer-discovery-k8s/tree/master/examples/k8s_statefulsets</a></p>
