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

标签 kubernetes rabbitmq

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

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

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

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

是否有必要暴露其他端口?

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

最佳答案

您将要在外部使用相同的端口号公开端口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,仅在某些情况下回答有关堆栈溢出的问题。

关于kubernetes - 如何使用Rabbitmqctl从RabbitMQ Kubernetes集群外部进行访问?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56570267/

相关文章:

kubernetes - 具有多个作业计数器的kubernetes

kubernetes - 无法登录高可用keycloak集群

go - 如何将特定 channel 分配给空接口(interface) channel

docker - 在 kubernetes 中运行的命令挂起

docker - 需要在 kubernetes pod 中使用 CURL 二进制文件

Kubernetes 水平 pod 自动扩缩器未根据副本计数创建副本

python - 无法将字典发送到 RabbitMQ(不可散列类型 : 'slice' )

ssl - 使用 SSL 配置 rabbitmq 的问题

java - RabbitMQ QueueingConsumer 可能的内存泄漏

javascript - RabbitMQ:是否可以在队列为空时删除队列?