小编Pie*_*rwe的帖子

在Kubernetes上运行时,更改主机名会破坏Rabbitmq

我正在尝试使用AWS上的Kubernetes运行Rabbitmq.我正在使用正式的Rabbitmq docker容器.每次pod重新启动时,rabbitmq容器都会获得一个新的主机名.我已经为具有可解析的DNS名称的pod设置了一个服务(类型为LoadBalancer).

但是,当我使用EBS使兔子配置/消息/队列在重新启动之间保持持久性时,它会断开:

exception exit: {{failed_to_cluster_with,
                     ['rabbitmq@rabbitmq-deployment-2901855891-nord3'],
                     "Mnesia could not connect to any nodes."},
                 {rabbit,start,[normal,[]]}}
  in function  application_master:init/4 (application_master.erl, line 134)
Run Code Online (Sandbox Code Playgroud)

rabbitmq-deployment-2901855891-nord3是以前的主机名rabbitmq容器.这几乎就像Mnesia保存了旧的主机名: - /

容器的信息如下所示:

              Starting broker...
=INFO REPORT==== 25-Apr-2016::12:42:42 ===
node           : rabbitmq@rabbitmq-deployment-2770204827-cboj8
home dir       : /var/lib/rabbitmq
config file(s) : /etc/rabbitmq/rabbitmq.config
cookie hash    : XXXXXXXXXXXXXXXX
log            : tty
sasl log       : tty
database dir   : /var/lib/rabbitmq/mnesia/rabbitmq
Run Code Online (Sandbox Code Playgroud)

我只能将节点名称的第一部分设置为rabbitmq使用RABBITMQ_NODENAME环境变量.

设置RABBITMQ_NODENAME为可解析的DNS名称会破坏:

Can't set short node name!\nPlease check your configuration\n"

设置RABBITMQ_USE_LONGNAMEtrue …

dns hostname amazon-ec2 rabbitmq kubernetes

8
推荐指数
1
解决办法
2210
查看次数

标签 统计

amazon-ec2 ×1

dns ×1

hostname ×1

kubernetes ×1

rabbitmq ×1