Connecting TIBCO Rendezvous® Routers

The Rendezvous custom resource, rv-example, defines a gateway that routes messages between two TIBCO Rendezvous® Network Service networks. This section describes how to use a gateway to route messages between a network and an on-premises Rendezvous router (RVRD). For the gateway to be reachable, the gateway service on localPort (default is 7501) must be exposed via a load balancer or nodeport.

In this example yaml, the neighbor representing the on-premises RVRD is passive - the gateway does not establish the connection. A passive neighbor ideally suits Kubernetes hosted in a public cloud, where the on-premises TIBCO Rendezvous® router is in a private network, unreachable behind a firewall. When configuring a passive neighbor, a remoteHost is not required; only the name of the on-premises router. In contrast, the connection between the gateway and the TRNS network is active and therefore requires a remoteHost.

The borderPolicies dictate what subjects can flow between the TRNS network and the on-premises router. In this example, the wild card dictates that the gateway forward every user message between the on-premises router and the network.

Configuring the On-premises Rendezvous Router

Configure the on-premises RVRD with an active neighbor using the pod name (gateway-hybrid1-0) of the gateway as the router name, and the exposed address and port as the remote host and port.

Example Hybrid Deployment

After filling in the missing information, indicated with <>, run kubectl apply -f hybrid.yaml to install.

apiVersion: "tibco.com/v1"
kind: Rendezvous
metadata:
    name: "hybrid"
    namespace: "trns"
spec:
    imageName: <TRNS_IMAGE>
    serviceAccountName: trns-service-account
    networkServices:
    - name: network-hybrid1
    gatewayServices:
      # Use the pod id, gateway-hybrid1-0 as the router name when configuring the RVRD.
    - name: gateway-hybrid1
      neighbors:
      - name: network-hybrid1-0
        remoteHost: network-hybrid1-0.network-hybrid1
        # The <remote-router-name> of the RVRD must be supplied to the configuration.
      - name: <remote-router-name>
        # The RVRD must be configured as an active neighbor.
        passive: true
      # The borderPolicies determine what subjects can flow between the network and the RVRD.
      borderPolicies:
      - from: network-hybrid1-0
        to: <remote-router-name>
        subjects:
        - name: ">"
      - from: <remote-router-name>
        to: network-hybrid1-0
        subjects:
        - name: ">"