Replies: 1 comment
-
You are making claims without explaining how you arrived at the conclusion. For example, how do you observe that "peer discovery still works"? If you use a persistent volume for node data, then after the very first cluster formation the nodes will not perform peer discovery. They will contact their known peers. At that point you might as well disable the plugin. The point of having the plugin enabled is to have the modules in that plugin on the code path of the node. They will be used during the initial cluster formation phase. RabbitMQ was not the first tool to query the Kubernetes API for peer discovery. Why require the user The Kubernetes API exists for, well, other applications to use it. RabbitMQ is a stateful distributed system and its needs are very different from a "12 Factor Web app" that outsources all of its state management to external systems. How would a cluster of such system form itself if it was completely There are all other ways to discover peers, and you can implement a tiny interface to add more. |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
Hi! I am developing a simple rust k8s operator for rabbitmq, and I am confused about how peer discovery works. I found that even if I disabled the
rabbitmq_peer_discovery_k8s plugin
, as long as I setcluster_formation.peer_discovery_backend = rabbit_peer_discovery_k8s
in the default rabbitmq configmap, the peer discovery works well. If this is true, I don't quite understand the point to haverabbitmq_peer_discovery_k8s plugin
enabled.By the way,
rabbitmq_peer_discovery_k8s plugin
works in a way that it will query k8s API server in order to discover peers. However, a process in the container usually should not be awared of the external environment. Is there other way to discover peers?Thanks for replying! I am looking forward to your help.
Beta Was this translation helpful? Give feedback.
All reactions