作为在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的指导性吗?
1条答案
按热度按时间3okqufwl1#
ejabberd节点命名格式似乎是问题所在。我遵循了GitHub查询中提供的建议,并使用格式为 name@(host_name/machine_name/contiainer_name) 的名称,结果成功了。我能够使用提供的节点名访问ejabberd服务。