【问题标题】:Unable to connect to running rabbitmq services route on openshift无法连接到 openshift 上正在运行的 rabbitmq 服务路由
【发布时间】:2017-10-04 12:51:39
【问题描述】:

我的公司正在运行使用 openshift 部署的微服务项目。

现有服务成功连接到rabbitmq服务,其代码具有此属性,

spring.cloud.stream.rabbitmq.host: rabbitmq
spring.cloud.stream.rabbitmq.port: 5672

现在我正在使用我的笔记本电脑开发新服务,但尚未部署到 openshift,现在我正在尝试连接到与其他代理相同的代理,因此我使用 5672 为rabbitmq 服务创建了新路由,因为它是端口

这是我的 YAML 路线:

apiVersion: v1
kind: Route
metadata:
  name: rabbitmq-amqp
  namespace: message-broker
  selfLink: /oapi/v1/namespaces/message-broker/routes/rabbitmq-amqp
  uid: 5af3e903-a8ad-11e7-8370-005056aca8b0
  resourceVersion: '21744899'
  creationTimestamp: '2017-10-04T02:40:16Z'
  labels:
    app: rabbitmq
  annotations:
    openshift.io/host.generated: 'true'
spec:
  host: rabbitmq-amqp-message-broker.apps.fifgroup.co.id
  to:
    kind: Service
    name: rabbitmq
    weight: 100
  port:
    targetPort: 5672-tcp
  tls:
    termination: passthrough
  wildcardPolicy: None
status:
  ingress:
    - host: rabbitmq-amqp-message-broker.apps.fifgroup.co.id
      routerName: router
      conditions:
        - type: Admitted
          status: 'True'
          lastTransitionTime: '2017-10-04T02:40:16Z'
      wildcardPolicy: None

当我尝试使用此属性连接我的新服务时:

spring.cloud.stream.rabbitmq.host: rabbitmq-amqp-message-broker.apps.fifgroup.co.id
spring.cloud.stream.rabbitmq.port: 80

我的服务设置连接失败。

如何解决这个问题? 我应该在哪里修复它?我的服务路线或我的服务属性..?

感谢您的关注。

【问题讨论】:

    标签: rabbitmq openshift spring-cloud-stream


    【解决方案1】:

    如果您使用直通安全连接在集群外部公开非 HTTP 服务器,则您的服务必须终止 TLS 连接,并且您的客户端还必须支持 SNI over TLS。你有这两个吗?现在看来您无论如何都在尝试连接端口 80,这意味着它必须是 HTTP。 RabbitMQ 不是非 HTTP 吗?如果您只是尝试从同一 OpenShift 集群中的前端应用程序连接到它,则不需要 rabbitmq 上的路由,使用“rabbitmq”作为主机名并使用端口 5672。

    【讨论】:

    • 感谢您的回复,但如果我错了,请纠正我,因为我是 openshift 的新手。我想将它从 openshift 集群连接到外部,因为我处于开发阶段,它需要我做很多调试。我使用端口 80,因为端口不能为空,默认值为 5672,我使用端口 80,因为 80 是路由的默认端口。那么是否可以为我的 rabbitmyq 服务创建 amqp 路由(不是 http )?
    • 或者,是否可以通过 openshift 集群外部的 IP 调用我的服务?我的笔记本电脑仍与我公司的 openshift 专用服务器位于同一网络中。
    • 如果它是您在开发或调试期间需要的临时连接,因此您可以从本地计算机上运行的应用程序连接到它,您可以使用端口转发。请参阅learn.openshift.com 的端口转发教程,您是否可以通过自己分配给服务的永久端口将其暴露在外部,这取决于 OpenShift 集群的配置。更永久的东西可能需要管理员访问权限。如果是临时的,最好使用端口转发。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-20
    • 1970-01-01
    • 1970-01-01
    • 2018-01-24
    • 2020-07-04
    • 1970-01-01
    相关资源
    最近更新 更多