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?
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