You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

OpenShift中连接Hono集群AMQP适配器遇503错误求助

问题:OpenShift上Hono集群AMQP适配器连接503错误排查

环境与背景

  • 在OpenShift上运行Hono集群,使用MQTT协议网关模板创建网关时,遇到AMQP适配器连接问题
  • CLI版本2.1.0,可正常连接Sandbox的AMQP适配器,但连接集群内实例时返回503 - Temporary unavailable
  • 即使调用OpenShift中不属于Hono集群的主机,也会出现完全相同的错误
  • 已验证集群状态:所有Pod运行正常,可创建租户和设备,HTTP适配器能正常接收遥测数据

集群服务信息

$ oc get service
NAME                                   TYPE        CLUSTER-IP       EXTERNAL-IP   PORT(S)                      AGE
hono-poc-adapter-amqp                  ClusterIP   172.30.197.58            5672/TCP,5671/TCP            17d
hono-poc-adapter-http                  ClusterIP   172.30.212.47            8080/TCP,8443/TCP            17d
hono-poc-adapter-mqtt                  ClusterIP   172.30.2.192             1883/TCP,8883/TCP            17d
hono-poc-kafka                         ClusterIP   172.30.252.145           9092/TCP                     17d
hono-poc-kafka-0-external              NodePort    172.30.145.109           9094:32094/TCP               17d
hono-poc-kafka-headless                ClusterIP   None                     9092/TCP,9093/TCP            17d
hono-poc-monogodb-server               ClusterIP   172.30.53.142            27017/TCP                    17d
hono-poc-service-auth                  ClusterIP   172.30.226.82            5671/TCP,8088/TCP            17d
hono-poc-service-command-router        ClusterIP   172.30.93.170            5671/TCP                     17d
hono-poc-service-device-registry       ClusterIP   172.30.217.54            5671/TCP,8080/TCP,8443/TCP   17d
hono-poc-service-device-registry-ext   ClusterIP   172.30.170.109           28080/TCP,28443/TCP          17d
hono-poc-zookeeper                     ClusterIP   172.30.176.187           2181/TCP,2888/TCP,3888/TCP   17d
hono-poc-zookeeper-headless            ClusterIP   None                     2181/TCP,2888/TCP,3888/TCP   17d

Helm安装配置

platform: openshift

kafka:
  podSecurityContext:
    enabled: false
  containerSecurityContext:
    enabled: false

  zookeeper:
    podSecurityContext:
      enabled: false
    containerSecurityContext:
      enabled: false

useLoadBalancer: false

deviceRegistryExample:
  type: "mongodb"
  externalAccess:
    enabled: true

mongoDBBasedDeviceRegistry:
  externalAccess:
    enabled: true

mongodb:
  createInstance: true
  persistence:
    enabled: false

kafka:
  externalAccess:
    autoDiscovery:
      enabled: false
    service:
      type: "NodePort"
      # length of the array must match replicaCount
      nodePorts:
      - "32094"
  serviceAccount:
    create: false
  rbac:
    create: false

adapters:
  amqp:
    enabled: true
  coap:
    enabled: false
  http:
    enabled: true
  mqtt:
    enabled: true
  lora:
    enabled: false

排查方向建议

  • 路由配置验证

    • 检查AMQP适配器对应的OpenShift Route配置:确认Route的host指向正确集群域名,port映射是否对应AMQP适配器的5671(SSL)或5672(非SSL)端口
    • 执行oc describe route <amqp-route-name>查看Route状态,排查端点故障或路由规则错误
  • 网络连通性测试

    • 在集群内部工具Pod中测试AMQP服务连通性:执行telnet hono-poc-adapter-amqp 5672或openssl s_client -connect hono-poc-adapter-amqp:5671,确认服务端口可达
    • 外部测试时,确认Route外部域名解析正常,且网络策略未阻止外部到AMQP Route的流量
  • AMQP适配器日志分析

    • 获取适配器Pod日志:oc logs <amqp-adapter-pod-name>,查找连接相关错误,比如认证失败、Kafka连接异常或服务初始化故障
    • 重点关注与command-router、device-registry的连接日志,依赖服务故障可能导致适配器返回503
  • CLI连接参数校验

    • 确认连接主机为Route外部域名(ClusterIP仅集群内部可达),端口匹配Route暴露的端口(通常HTTPS对应443,映射内部5671)
    • 检查租户、设备认证信息及SSL证书配置是否正确
  • 服务依赖检查

    • 确认hono-poc-service-command-router、hono-poc-service-auth服务运行正常,AMQP适配器依赖这些服务处理连接请求
    • 检查Kafka集群状态:oc exec -it <kafka-pod-name> -- kafka-topics.sh --list --bootstrap-server hono-poc-kafka:9092,确认Hono所需主题已创建

内容的提问来源于stack exchange,提问作者Wolfgang Jagomir

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.09 08:15:55