如何使用rabbitmqctl从RabbitMQ Kubernetes集群外部访问?

8dtrkrch  于 2023-10-17  发布在  Kubernetes
关注(0)|答案(1)|浏览(150)

我有一个运行在Kubernetes环境中的RabbitMQ集群。我无法访问containers shell,所以我尝试从本地容器(同一个镜像)运行rabbitmqctl。
这些端口是公开的:- 15672(暴露为32672)- 5671(暴露为32671)- 4369(暴露为32369)- 25672(暴露为32256)
正确的cookie位于本地容器上的$HOME/.erlang.cookie上。
如何指定集群URL和端口到rabbitmqctl,以便我可以从外部访问RabbitMQ集群?
有必要暴露其他端口吗?
既然我在文档中找不到任何参考资料,那么是否有可能做到这一点呢?

kfgdxczn

kfgdxczn1#

您可能希望在外部使用相同的端口号公开端口4369和25672,因为我想不出一种方法来告诉运行rabbitmqctl的Erlang VM使用不同的端口进行EPMD查找。您还应该在外部使用相同的端口范围公开35672-35682。
由于您使用Kubernetes,我假设您使用的是长名称。假设在容器中,节点名为[[email protected]](https://stackoverflow.com/cdn-cgi/l/email-protection),要从外部访问它,请使用以下命令:

rabbitmqctl -l -n [email protected]

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

相关问题