Installing Submariner on OpenShift
This section explains setting up Submariner with OpenShift clusters using the GlobalNet controller.
Before you begin
The following steps assume that you are creating a stretch cluster across three OpenShift clusters and have created three separate kubeconfig files, one for each OpenShift cluster. Each file should only contain a reference to a single cluster. Only one of these clusters will host the Submariner broker.
Deploying the broker
Deploy the broker to one OpenShift cluster. You specify the OpenShift cluster that will host the broker by passing the appropriate kubeconfig file to the command:
$ subctl deploy-broker --globalnet --kubeconfig config-str2-a
Once deployed, a broker-info.subm
file will be generated containing authentication and connection details.
Globalnet
Most OpenShift clusters created using automation jobs share the same Pod and Service CIDRs. To prevent conflicts, the GlobalNet controller assigns unique, non-overlapping IPs to each cluster.
Joining clusters to the broker
Assign a unique clusterid to each OpenShift cluster:
Cluster-id
These clusterid values must match the values used in the KafkaNodePool (KNP) CR when deploying Strimzi in stretch mode.
$ subctl join --kubeconfig config-str2-a --clusterid cluster1 broker-info.subm --check-broker-certificate=false
$ subctl join --kubeconfig config-str2-b --clusterid cluster2 broker-info.subm --check-broker-certificate=false
$ subctl join --kubeconfig config-str2-c --clusterid cluster3 broker-info.subm --check-broker-certificate=false
Next steps
Check if the clusters are correctly connected.