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

如何使用rabbitmqctl从RabbitMQ Kubernetes集群外部进行访问?,kubernetes,rabbitmq,Kubernetes,Rabbitmq,我有一个RabbitMQ集群在Kubernetes环境中运行。我没有访问容器外壳的权限,所以我尝试从本地容器(相同的映像)运行rabbitmqctl 这些端口是公开的: -15672(暴露为32672) -5671(暴露为32671) -4369(暴露为32369) -25672(暴露为32256) 正确的cookie位于本地容器上的$HOME/.erlang.cookie上 如何指定rabbitmqctl的集群URL和端口,以便从外部访问RabbitMQ集群 是否需要暴露其他端口 甚至可以这样

我有一个RabbitMQ集群在Kubernetes环境中运行。我没有访问容器外壳的权限,所以我尝试从本地容器(相同的映像)运行rabbitmqctl

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

正确的cookie位于本地容器上的$HOME/.erlang.cookie上

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

是否需要暴露其他端口


甚至可以这样做吗,因为我在文档中找不到对此的任何引用?

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

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

rabbitmqctl -l -n rabbit@container1.my.org
请注意,
container1.my.org
必须通过DNS解析到正确的IP地址才能连接到该容器



注意:RabbitMQ团队监视
RabbitMQ用户
,并且只在某些时候回答有关堆栈溢出的问题。

因此我必须使用tcp代理重定向端口。我现在不会这么做,因为我只需要rabbitmqcli来获取集群运行状况和分区。我将仅使用HTTP Api来实现这一点。无论如何谢谢你!