如何使用Rabbitmqctl从RabbitMQ Kubernetes集群外部进行访问?

时间:2019-06-12 20:57:47

标签: kubernetes rabbitmq

我有一个在Kubernetes环境上运行的RabbitMQ集群。我无权访问容器外壳,因此我试图从本地容器(相同的图像)运行rabbitmqctl。

这些端口是公开的: -15672(曝光为32672) -5671(公开为32671) -4369(曝光为32369) -25672(公开为32256)

正确的cookie在我本地容器上的$ HOME / .erlang.cookie上。

如何指定集群URL和Rabbitmqctl的端口,以便可以从外部访问RabbitMQ集群?

是否有必要公开其他端口?

由于我在文档中找不到对此的任何引用,是否有可能这样做?

1 个答案:

答案 0 :(得分:1)

您将要在外部使用相同的端口号公开端口4369和25672,因为我想不出一种方法来告诉运行rabbitmqctl的Erlang VM使用不同的端口进行EPMD查找。您还应该在外部使用相同的端口范围公开35672-35682

由于您使用的是Kubernetes,因此我假设您使用的是长名称。假设在您的容器中,您的节点名称为rabbit@container1.my.org,可以使用以下命令从外部访问它:

rabbitmqctl -l -n rabbit@container1.my.org

请注意,container1.my.org 必须通过DNS解析为正确的IP地址以连接到该容器。


注意: RabbitMQ团队监视rabbitmq-users mailing list,并且有时仅在StackOverflow上回答问题。