|
| 1 | +//// |
| 2 | +This module included in the following assemblies: |
| 3 | +* service_mesh/v2x/ossm-federation.adoc |
| 4 | +//// |
| 5 | + |
| 6 | +[id="ossm-federation-across-clusters_{context}"] |
| 7 | += Mesh federation across clusters |
| 8 | + |
| 9 | +To connect one instance of the OpenShift Service Mesh with one running in a different cluster, the procedure is not much different as when connecting two meshes deployed in the same cluster. However, the ingress gateway of one mesh must be reachable from the other mesh. One way of ensuring this is to configure the gateway service as a `LoadBalancer` service if the cluster supports this type of service. |
| 10 | + |
| 11 | +The service must be exposed through a load balancer that operates at Layer4 of the OSI model. |
| 12 | + |
| 13 | +== Exposing the federation ingress on clusters running on bare metal |
| 14 | +If the cluster runs on bare metal and fully supports `LoadBalancer` services, the IP address found in the `.status.loadBalancer.ingress.ip` field of the ingress gateway `Service` object should be specified as one of the entries in the `.spec.remote.addresses` field of the `ServiceMeshPeer` object. |
| 15 | + |
| 16 | +If the cluster does not support `LoadBalancer` services, using a `NodePort` service could be an option if the nodes are accessible from the cluster running the other mesh. In the `ServiceMeshPeer` object, specify the IP addresses of the nodes in the `.spec.remote.addresses` field and the service's node ports in the `.spec.remote.discoveryPort` and `.spec.remote.servicePort` fields. |
| 17 | + |
| 18 | +== Exposing the federation ingress on Amazon Web Services (AWS) |
| 19 | +By default, LoadBalancer services in clusters running on AWS do not support L4 load balancing. In order for {ProductName} federation to operate correctly, the following annotation must be added to the ingress gateway service: |
| 20 | + |
| 21 | +service.beta.kubernetes.io/aws-load-balancer-type: nlb |
| 22 | + |
| 23 | +The Fully Qualified Domain Name found in the `.status.loadBalancer.ingress.hostname` field of the ingress gateway `Service` object should be specified as one of the entries in the `.spec.remote.addresses` field of the `ServiceMeshPeer` object. |
| 24 | + |
| 25 | +== Exposing the federation ingress on Azure |
| 26 | +On Microsoft Azure, merely setting the service type to `LoadBalancer` suffices for mesh federation to operate correctly. |
| 27 | + |
| 28 | +The IP address found in the `.status.loadBalancer.ingress.ip` field of the ingress gateway `Service` object should be specified as one of the entries in the `.spec.remote.addresses` field of the `ServiceMeshPeer` object. |
| 29 | + |
| 30 | +== Exposing the federation ingress on Google Cloud Platform (GCP) |
| 31 | +On Google Cloud Platform, merely setting the service type to `LoadBalancer` suffices for mesh federation to operate correctly. |
| 32 | + |
| 33 | +The IP address found in the `.status.loadBalancer.ingress.ip` field of the ingress gateway `Service` object should be specified as one of the entries in the `.spec.remote.addresses` field of the `ServiceMeshPeer` object. |
0 commit comments