开发者社区 > 云原生 > 云消息队列 > 正文

rocketmq5.1.3版本通过k8s部署,在本地通过端口访问不行,报错,这是什么问题?

rocketmq5.1.3版本通过k8s部署,proxy通过nodeport暴漏出来端口,在本地通过端口访问不行,报错,但是在集群打成jar包通过pod的ip和默认的proxy端口8081访问可以,这是什么问题?
21baea30d627875c93ea2b6b0c6b7b20.png
bdbb3cf6cc663f77cd8640e6ac6216dc.png
3ae9b209d1dbe6082add0bdc34cd9f19.png

展开
收起
嘟嘟嘟嘟嘟嘟 2023-10-18 00:11:31 243 0
4 条回答
写回答
取消 提交回答
  • 你好,问题解决了么?我也遇到了类似的问题

    2024-05-16 20:09:02
    赞同 展开评论 打赏
  • 这个问题可能是由于本地访问时,无法正确解析RocketMQ服务地址导致的。在Kubernetes集群中,服务通常通过DNS名称进行访问,而不是直接使用Pod IP地址。因此,您需要确保本地计算机的/etc/hosts文件中包含了RocketMQ Proxy服务的DNS名称和对应的IP地址。

    另外,您还需要检查本地防火墙设置是否允许访问RocketMQ Proxy服务的端口。如果防火墙阻止了访问,您需要将其配置为允许访问该端口。

    2023-10-31 20:53:26
    赞同 展开评论 打赏
  • 公众号:网络技术联盟站,InfoQ签约作者,阿里云社区签约作者,华为云 云享专家,BOSS直聘 创作王者,腾讯课堂创作领航员,博客+论坛:https://www.wljslmz.cn,工程师导航:https://www.wljslmz.com

    这可能是由于您的服务发现机制和网络配置不正确导致的。

    在通过NodePort方式将RocketMQ Proxy暴露到外部时,需要确保您的Kubernetes集群中的节点可以访问到该NodePort端口。如果您在本地访问NodePort端口时出现问题,可能是因为您的本地网络无法直接访问Kubernetes集群中的节点。

    建议您检查以下几个方面:

    1. 确认NodePort端口已经正确绑定到RocketMQ Proxy的服务上,并且该服务正常运行。

    2. 检查集群网络的相关配置,确保您的本地网络可以访问到Kubernetes节点和NodePort端口。例如,您可以通过telnet命令或者浏览器访问NodePort端口来测试是否能够访问成功。

    3. 如果您正在使用Kubernetes Ingress等服务发现机制,需要确保您已正确配置Ingress规则,并且将流量正确地路由到RocketMQ Proxy服务上。

    4. 检查RocketMQ Proxy的配置文件,确保代理能够正确地监听来自外部请求的地址和端口。如果您正在使用Kubernetes Ingress等服务发现机制,需要注意配置文件中的"namesrvAddr"参数,确保代理能够正确地连接到RocketMQ NameServer。

    2023-10-30 19:21:28
    赞同 展开评论 打赏
  • 十分耕耘,一定会有一分收获!

    楼主你好,根据你的描述,这可能是由于阿里云rocketmq的proxy节点和k8s集群的节点之间存在网络隔离,因为在本地访问时,请求无法正确路由到proxy节点,但是在集群内部访问时,可以直接使用pod的ip地址和默认的proxy端口访问,因为它们在同一个网络内,没有网络隔离的问题。

    你可以在k8s集群外部访问时,将代理节点的端口绑定到集群的公共IP上,或者使用LoadBalancer代理方式,将请求路由到代理节点。只要是解决跨域问题,都可以解决该问题。

    2023-10-28 21:23:50
    赞同 展开评论 打赏

涵盖 RocketMQ、Kafka、RabbitMQ、MQTT、轻量消息队列(原MNS) 的消息队列产品体系,全系产品 Serverless 化。RocketMQ 一站式学习:https://rocketmq.io/

相关产品

  • 云消息队列 MQ
  • 相关电子书

    更多
    ACK 云原生弹性方案—云原生时代的加速器 立即下载
    ACK集群类型选择最佳实践 立即下载
    企业运维之云原生和Kubernetes 实战 立即下载

    相关镜像