StatefulSet RabbitMQ queue msg got cleaned up during upgrade. #8733
-
Hey, Got question about how RabbitMQ maintain a queue status during upgrade. My RabbitMQ is defined as a statefulset, without specifying any persistent volume or persistent volume claims, using rolling upgrade strategy to upgrade. I assumed during upgrade period, RabbitMQ will take care of migrating queue status to new upgraded image? Is my understanding right? From observation, I find the queue is cleaned up with 0 msg inside after upgrade. |
Beta Was this translation helpful? Give feedback.
Replies: 2 comments 4 replies
-
RabbitMQ node data directory must use a persistent volume, otherwise all node data will be gone after a restart. With any reasonably popular RabbitMQ OCI/Docker image, no data is stored in the image itself because images, well, are supposed to be immutable. If you DIY install RabbitMQ on Kubernetes, see this documentation section, or better yet, use the Kuberenetes Operator instead of rolling your own installation. |
Beta Was this translation helpful? Give feedback.
-
I have forgotten that there is a blog post on the subject of what is involved in running RabbitMQ on Kubernetes. Again, the recommendation is to use the cluster Operator (the post is from 3 years ago when the Operator was nowhere near as mature). |
Beta Was this translation helpful? Give feedback.
RabbitMQ node data directory must use a persistent volume, otherwise all node data will be gone after a restart. With any reasonably popular RabbitMQ OCI/Docker image, no data is stored in the image itself because images, well, are supposed to be immutable.
If you DIY install RabbitMQ on Kubernetes, see this documentation section, or better yet, use the Kuberenetes Operator instead of rolling your own installation.