我在kubernetes集群上部署了RabbitMQ服务器,并且能够从浏览器访问管理UI。但是我的Spring Boot应用程序无法连接到端口5672,并且出现连接拒绝错误。如果我将我的application.yml属性从kuberntes主机替换为localhost并在我的机器上运行docker映像,则相同的代码有效。我不确定我在做什么错吗?
有人尝试过这种设置。请帮忙。谢谢!
假设dns名为rabbitmq
。如果要达到此目的,则必须确保Rabbitmq的部署中附带的服务带有正确的暴露端口。因此,您将定位到http://rabbitmq:5672
。
要确保存在类似内容,您可以调试k8s服务。运行kubectl get services | grep rabbitmq
以确保该服务存在。如果确实如此,则通过运行'kubectl get service Rabbitmq-service-name -o yaml'获得服务yaml。最后,在spec.ports[]
中检查允许您连接到Pod的端口。在spec.ports[].port
中搜索“ 5672”以获取amqp。在某些情况下,端口可能已更改。例如,这意味着spec.ports[].port
可能是3030,但是spec.ports[].targetPort
是5672。