This question has been asked in the past, but I did not manage to find clear answer. Is that good practice to set up rabbit as a pod in Kubernetes cluster? We got ~7 pods in our cluster, and some queuing mechanism starts to be necessary. First idea was to create pod for rabbit with persistent volume and service, and allow other pods to connect to it. I'm not sure if that solution is correct. Maybe it's better idea to set up rabbit on some remote server, as we did with database?
Pods represents any container group/binary on Kubernetes. What is owning/managing those pods is important, is it a ReplicaSet, DaemonSet or a StatefulSet? ReplicaSets are supposed to be stateless and a RabbitMQ borker is stateful.
You can deploy stateful workload on Kubernetes, but you should do it as a StatefulSet. Here is an example RabbitMQ on Google Kubernetes Engine