kubernetes 如果在GCP部署中使用环境变量更改了ejabberdnode名称,即使在ejabberdctl中也无法访问ejabberdserver

inkz8wg9  于 2023-08-03  发布在  Kubernetes
关注(0)|答案(1)|浏览(82)

作为在GCP中使用ejabberd集群的第一步,我尝试使用自述文件中提到的环境变量“ERLANG_NODE_ARG=ejabberd@main”来更改节点名称。
但我无法访问服务中的ejabberd服务器。我尝试使用ejabberdctl检查状态,start命令返回node already running消息,而status命令返回node down消息。x1c 0d1x的数据
我想创建一个ejabberd集群。下面是我的部署文件

apiVersion: apps/v1
kind: Deployment
metadata:
  name: main
spec:
  replicas: 1
  selector:
    matchLabels:
      app: main
  template:
    metadata:
      labels:
        app: main
    spec:
      containers:
        - name: main
          image: ejabberd/ecs
          env:
            - name: ERLANG_NODE_ARG
              value: ejabberd@main
          #   - name: ERLANG_COOKIE
          #     value: dummycookie123
            # - name: CTL_ON_CREATE
            #   value: "register admin localhost asd"
          ports:
            - containerPort: 5222
            - containerPort: 5269
            - containerPort: 5280
            - containerPort: 5443

字符串
我试图通过定义服务访问上述部署。如果我删除为更改节点名而添加的环境,我就可以访问该服务,但是当我在yaml文件中包含变量时,它就失败了。
我使用cloudbell检查了容器内的ejabberd.log文件和error.log文件,error.log中没有条目,ejabberd.log中的所有注解都与本地机器测试的ejabberd.log日志相匹配。我在GCP找不到这个文件。您能帮助我确定这个问题的原因,并建议在GCP集群中部署ejabberd的指导性吗?

3okqufwl

3okqufwl1#

ejabberd节点命名格式似乎是问题所在。我遵循了GitHub查询中提供的建议,并使用格式为 name@(host_name/machine_name/contiainer_name) 的名称,结果成功了。我能够使用提供的节点名访问ejabberd服务。

相关问题