VerneMQ 集群自动加入 GKE

问题描述

我是 VerneMQ 和 K8s 的新手。我有一个可用的 VerneMQ docker 镜像(由源代码制作),在 GKE 上部署了 2 个副本。它们工作正常,我必须手动连接到一个容器并弹出:

vmq-admin cluster join discovery-node=<OtherClusterNode>

这样他们就可以找到彼此并加入 VerneMQ 集群。

有没有办法在容器启动时相互发现并加入集群?,而不是每次我重建容器时手动

我想以某种方式修复每个 verne 节点名称并运行脚本(仅在一个容器中)以加入集群,但感觉很糟糕。

我的主要问题是,在容器启动和 vmq-admin cluster join 命令执行期间,我有 2 个独立的 vernemq 服务器,订阅者可能连接到与消费者不同的服务器。

我的部署 yaml 看起来像:

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'

谢谢

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)