第 7 章 连接到外部服务

您可以将路由器连接到外部服务,如消息代理。服务可能与路由器网络在同一 OpenShift 集群中运行,或者在 OpenShift 外部运行。

先决条件

  • 您必须有权访问消息代理。

流程

这个步骤描述了如何将路由器连接到代理并配置链路路由来连接消息传递客户端。

  1. 开始编辑 Interconnect Custom Resource YAML 文件,该文件描述了您要连接到代理的路由器部署。

    $ oc edit -f router-mesh.yaml
  2. spec 部分中,配置连接和链路路由。

    router-mesh.yaml 文件示例

    apiVersion: interconnectedcloud.github.io/v1alpha1
    kind: Interconnect
    metadata:
      name: router-mesh
    spec:
      ...
      connectors:  1
      - name: my-broker
        host: broker
        port: 5672
        routeContainer: true
      linkRoutes:  2
      - prefix: q1
        direction: in
        connection: my-broker
      - prefix: q1
        direction: out
        connection: my-broker

    1
    将此路由器连接到消息代理的连接。Operator 会将这个连接配置从此路由器部署中定义的每个路由器到代理。如果您只在路由器网络和代理间需要一个连接,那么请配置 监听程序 而不是连接器,并使代理建立连接。
    2
    链路路由配置。它定义了传入和传出链接,以及用于将消息应用程序连接到消息代理的连接。
  3. 验证路由器是否已建立到消息代理的链接路由。

    $ oc exec router-mesh-fb6bc5797-crvb6 -it -- qdstat --linkroutes
    Link Routes
      address  dir  distrib       status
      ====================================
      q1       in   linkBalanced  active
      q1       out  linkBalanced  active

其他资源