As Justin says there is currently no way to add a cluster connection dynamically. However, I also have a use case where it would be nice to be able to dynamically add or destroy a cluster connection. I will probably take a look when I get some time to see if there's a way that the behavior can be supported but it probably won't be easy to do with the current design.
On Thu, Jun 7, 2018 at 10:09 AM Justin Bertram <[email protected]> wrote: > There is no programmatic way to add a cluster-connection. The > cluster-connection is such a fundamental piece of the broker's > configuration it really has to be there when the broker starts. Also, > there is no mechanism to persist a cluster-connection configuration other > than in the XML (unlike addresses and queues which can be created at > runtime and are persisted, if necessary, in the bindings journal). > > As for the actual clustering mechanism, have you tried using a JGroups > configuration with KUBE_PING [1]? > > > Justin > > [1] https://github.com/jgroups-extras/jgroups-kubernetes > > On Thu, Jun 7, 2018 at 1:53 AM, Victor <[email protected]> wrote: > > > Hi all, > > > > I'm having some fun trying to figure out the ideal way to deploy an > > ActiveMQ Artemis cluster in Kubernetes. > > > > I started by creating a Helm Chart (think of it as a deb/rpm package for > > Kubernetes) where I can just install a Symmetric cluster of 8 nodes with > > the following commands: > > > > helm repo add activemq-artemis https://vromero.github.io/ > > activemq-artemis-helm/ > > helm install vromero/activemq-artemis --set replicas=8 > > > > It works pretty well but I'm creating static-connectors for the cluster > > connection at the install time. Meaning that if later the user wants to > > scale up or down his cluster it won't work. > > > > I have been exploring these two ideas to overcome it: > > > > - ActiveMQ Artemis Plugin to enable auto-discover by connecting to the > > Artemis to the Kubernetes api > > - To have an external minimal agent written in Go (given that it has the > > best client library for k8s and it has a very small binary / memory > > footprint) that connects to k8s and let know Artemis from the outside > which > > other nodes are available for the cluster. > > > > After a quick look at the first option, the one of the plugin, I decided > to > > keep it as plan B given that a hypothetically big cluster might end up > > pounding too hard the Kubernetes API and especially given that the > > Kubernetes client would bring a not too big but neither too small number > of > > transitive dependencies to Artemis. > > > > So off I went with the external agent to now realize that at least at a > > quick glance at the JMX/Jolokia API I see no method to add new > > cluster-connections. So my question would be: > > > > Is there any way to add externally cluster-connections to Artemis? > > > > I'm hoping that this belongs to the dev list as it is kind-of advanced if > > it actually belongs to user I apologise > > > > Thanks > > >
