ActiveMQ Artemis Cloud Cluster helm chart pod syncronization don't work

1.1k Views Asked by At

I am trying to get the Artemis Cloud installation for k8s to work with more that 1 broker (pod) but I am getting som strange results.

This is the installation I am using: https://artemiscloud.io/docs/getting-started/quick-start/

I have created a deployment that is set up as a cluster with 2 replicas and everything starts fine and when I add some queues and items to those queues I ca retrieve them, but ONLY from the broker that I connected to, and not from the other broker in the cluster.

If I for example opens 2 different webbrowsers and look at the admin-GUI and list the queues I see nothing of my queues or items in one of the browsers, but the queues and items exists in the other broker.

The documentation says that there should be syncronization between the brokers but that does not happen.

My setup looks like this

values.yaml

env: dev

replicaCount: 2
persistensEnabled: true
messageMigration: true
ingress:
  enabled: true

secrets:
  adminUser: admin
  adminPassword: OBFUSCATED

labels:
  app: activemq-artemis-broker-dev
  dns: activemq-artemis-broker
  
resources:
  limits:
    cpu: "500m"
    memory: "1024Mi"
  requests:
    cpu: "250m"
    memory: "512Mi"

acceptors:
  ports: 5672
  sslEnabled: false

deployment.yaml

apiVersion: broker.amq.io/v1beta1
kind: ActiveMQArtemis
metadata:
  name: {{ .Values.labels.app }}
spec:
  adminUser: {{ .Values.secrets.adminUser }}
  adminPassword: {{ .Values.secrets.adminPassword }}
  deploymentPlan:
    size: {{ .Values.replicaCount }}
    persistenceEnabled: {{ .Values.persistenceEnabled }}
    messageMigration: {{ .Values.messageMigration }}
    image: placeholder
    resources:
      limits:
        cpu: {{ .Values.resources.limits.cpu }}
        memory: {{ .Values.resources.limits.memory }}
      requests:
        cpu: {{ .Values.resources.requests.cpu }}
        memory: {{ .Values.resources.requests.memory }}
  acceptors:
  - name: amqp
    protocols: amqp
    port: {{ .Values.acceptors.ports }}
    sslEnabled: {{ .Values.acceptors.sslEnabled }}

service.yaml

apiVersion: v1
kind: Service
metadata:
  name: {{ .Values.labels.app }}-svc
  labels:
    ActiveMQArtemis: {{ .Values.labels.app }}
    application: {{ .Values.labels.app }}-app
spec:
  ports:
  - port: 61616
    protocol: TCP
  selector:
    ActiveMQArtemis: {{ .Values.labels.app }}
    application: {{ .Values.labels.app }}-app
  type: ClusterIP
status:
  loadBalancer: {}

What is wrong with my setup here?

1

There are 1 best solutions below

1
On

You may add to your values yaml file : image: "apache/activemq-artemis"

and change your deployment yaml file : image: {{ .Values.image }}

Now you can update this from the values file