Chapter 5. Connecting to external services

You can connect a router to an external service such as a message broker. The services may be running in the same OpenShift cluster as the router network, or running outside of OpenShift.

Prerequisites

  • You must have access to a message broker.

Procedure

This procedure describes how to connect a router to a broker and configure a link route to connect messaging clients to it.

  1. Start editing the Interconnect Custom Resource YAML file that describes the router deployment that you want to connect to a broker.

    $ oc edit -f router-mesh.yaml
  2. In the spec section, configure the connection and link route.

    Sample router-mesh.yaml file

    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
    The connection to be used to connect this router to the message broker. The Operator will configure this connection from every router defined in this router deployment to the broker. If you only want a single connection between the router network and the broker, then configure a listener instead of a connector and have the broker establish the connection.
    2
    The link route configuration. It defines the incoming and outgoing links and connection to be used to connect messaging applications to the message broker.
  3. Verify that the router has established the link route to the message broker.

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

Additional resources