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: ">"