I'm new in VerneMQ and K8s. I have a working VerneMQ docker image (made from source) deployed with 2 replicas on GKE. They work fine, but i have to manualy connect into one container and ejecute:
vmq-admin cluster join discovery-node=<OtherClusterNode>
so they can find each other and join in a VerneMQ Cluster.
Is there a way they can discover for each other and join in a cluster when container start?, not manually each time i rebuild the containers
I was thinking in fixing somehow each verne node name and running a script (only in one container) to join the cluster, but it feels hacky.
My main problem is that in the meantime between containers starts and the execution of the vmq-admin cluster join
command, i have 2 independent vernemq servers and a subsciber may connect to a diferent server than the consumer.
My deployment yaml looks like:
apiVersion: apps/v1
kind: Deployment
metadata:
name: broker-verne-deployment
spec:
replicas: 2
selector:
matchLabels:
servicio: bkr-verne
template:
metadata:
labels:
servicio: bkr-verne
spec:
containers:
- name: broker-verne
image: gcr.io/<my project id>/broker-verne/master
ports:
- containerPort: 80
- containerPort: 1883
- containerPort: 8883
- containerPort: 8888
- containerPort: 8080
env:
- name: DOCKER_VERNEMQ_LOG__CONSOLE
value: 'both'
- name: DOCKER_VERNEMQ_LOG__CONSOLE__LEVEL
value: 'debug'
Thanks