Replies: 2 comments
-
|
The operator configures rabbitmq to perform peer discovery and automatically form a cluster. RabbitMQ does not serve traffic until the cluster is formed. There were situation in RabbitMQ 3.13.x that a node may start as a standalone node, instead of joining the cluster. This change is included in RabbitMQ 4.1+ rabbitmq/rabbitmq-server#13050 My best guess is that you are in a rabbitmq version that doesn't include this fix. We used to have the pod management policy set to ordered ready, but this caused a severe issue where RabbitMQ won't start at all if all Pods were restarted or deleted at once (e.g. k8s node drain). This comment summarises it pretty well: #989 (comment) |
Beta Was this translation helpful? Give feedback.
-
|
@Zerpet thank you for the input. Yes, we also had similar issue with startups on OrderedReady with pg Zalando operator... |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
Hello,
We are using the RabbitMQ Cluster Operator to deploy our RabbitMQ cluster.
While reviewing the readiness probe configuration, we noticed the following:
.spec.podManagementPolicyis set toParallel, which brings all three RabbitMQ pods online simultaneously.The readiness probe only checks the local pod's readiness and does not verify whether the full RabbitMQ cluster has been formed.
As a result, traffic may be routed to a pod before it has successfully joined the cluster. For example, pods 1 and 2 may be in the process of forming a cluster, while pod 3 passes its readiness probe and begins accepting connections—even though it has not yet joined the cluster.
In certain edge cases, we have observed that this behavior poses a risk to our setup.
Are there any recommended options to enhance the readiness probe so that it only allows traffic once the entire RabbitMQ cluster is fully formed and all nodes are synchronized?
Beta Was this translation helpful? Give feedback.
All reactions