我有一个运行在Kubernetes环境中的RabbitMQ集群。我无法访问containers shell,所以我尝试从本地容器(同一个镜像)运行rabbitmqctl。
这些端口是公开的:- 15672(暴露为32672)- 5671(暴露为32671)- 4369(暴露为32369)- 25672(暴露为32256)
正确的cookie位于本地容器上的$HOME/.erlang.cookie上。
如何指定集群URL和端口到rabbitmqctl,以便我可以从外部访问RabbitMQ集群?
有必要暴露其他端口吗?
既然我在文档中找不到任何参考资料,那么是否有可能做到这一点呢?
1条答案
按热度按时间kfgdxczn1#
您可能希望在外部使用相同的端口号公开端口4369和25672,因为我想不出一种方法来告诉运行
rabbitmqctl
的Erlang VM使用不同的端口进行EPMD查找。您还应该在外部使用相同的端口范围公开35672-35682。由于您使用Kubernetes,我假设您使用的是长名称。假设在容器中,节点名为
[[email protected]](https://stackoverflow.com/cdn-cgi/l/email-protection)
,要从外部访问它,请使用以下命令:请注意,
container1.my.org
* 必须 * 通过DNS解析到正确的IP地址才能连接到该容器。