Multicluster ENTERPRISE
Use the Solo distribution of Istio to deploy ambient service meshes across multiple clusters, and link them to form a multicluster mesh.
In this guide, you use the Gloo Operator to deploy an ambient mesh to each workload cluster, create an east-west gateway in each cluster, and link the istiod control planes across cluster networks by using peering gateways. Then, you can deploy the Bookinfo sample app to the ambient mesh in each cluster, and make select services available across the multicluster mesh. Incoming requests can then be routed from an ingress gateway, such as Gloo Gateway, to services in your mesh across all clusters.


For more information about ambient mesh or the ambient components that are installed in these steps, see About ambient mesh. For a more advanced multicluster ambient mesh installation, see the Helm installation guide.
This guide requires ambient meshes to be installed with the Solo distribution of Istio and an Enterprise-level license for Gloo Mesh. The Solo distribution of Istio is a hardened Istio enterprise image, which maintains n-4
support for CVEs and other security fixes. Along with extra support, the Solo distribution of Istio includes numerous enterprise-level features on top of the open source offerings of Istio that you can unlock with an Enterprise license, including multicluster ambient mesh support. For more information, check out the Solo distributions of Istio overview.
Before you begin
Create or use at least two existing Kubernetes clusters. The instructions in this guide assume two clusters. The cluster name must be alphanumeric with no special characters except a hyphen (-), lowercase, and begin with a letter (not a number).
Save the names and kubeconfig contexts of each cluster.
Install the following command-line (CLI) tools.
Save your Enterprise-level license key for Gloo Mesh as an environment variable, which is required for multicluster mesh functionality. Contact your account representative to obtain a valid license.
Install a multicluster ambient mesh
Use the Gloo Operator to deploy and link service meshes in each workload cluster.
Set up the environment
Save the Solo distribution of Istio patch version. In Gloo Mesh (OSS APIs) version 2.7 and later, multicluster setups require version 1.24.3 or later.
Save the repo key for the minor version of the Solo distribution of Istio that you want to install. This is the 12-character hash at the end of the repo URL
us-docker.pkg.dev/gloo-mesh/istio-<repo-key>
, which you can find in the Istio images built by Solo.io support article.Get the Solo distribution of Istio binary and install
istioctl
, which you use for multicluster linking and gateway commands.- Get the OS and architecture that you use on your machine.
- Download the Solo distribution of Istio binary and install
istioctl
. - Verify that the
istioctl
client runs the Solo distribution of Istio that you want to install.Example output:
- Get the OS and architecture that you use on your machine.
Create a shared root of trust for the workload clusters. These example commands use the Istio CA to generate a self-signed root certificate and key, and use them to sign the workload certificates. For more information, see the Plug in CA Certificates guide in the community Istio documentation.
Apply the CRDs for the Kubernetes Gateway API to each cluster, which are required to create components such as waypoint proxies for L7 traffic policies, gateways with the
Gateway
resource, and more.
Deploy ambient meshes
Install the Gloo Operator to the
gloo-mesh
namespace of each cluster. This operator deploys and manages your Istio installations.Verify that the operator pods are running.
Apply the following ServiceMeshController resource for the Gloo Operator to create an Istio installation.
Note that the operator detects your cloud provider and cluster platform, and configures the necessary settings required for that platform for you. For example, if you create an ambient mesh in an OpenShift cluster, no OpenShift-specific settings are required in the ServiceMeshController, because the operator automatically sets the appropriate settings for OpenShift and your specific cloud provider accordingly.
If you set theinstallNamespace
to a namespace other thangloo-system
,gloo-mesh
, oristio-system
, you must include the‐‐set manager.env.WATCH_NAMESPACES=<namespace>
setting.Verify that the components of the Istio control and data plane are successfully installed. Because the ztunnel and the CNI are deployed as daemon sets, the number of ztunnel pods and CNI pods each equal the number of nodes in your cluster. Note that it might take a few seconds for the pods to become available.
Example output for one cluster:
Link clusters
Create an east-west gateway in the
istio-eastwest
namespace of each cluster to facilitate traffic between services in each cluster in your multicluster mesh.Link clusters to enable cross-cluster service discovery and allow traffic to be routed through east-west gateways across clusters. In each cluster, Gateway resources are created that use the
istio-remote
GatewayClass, which allows the gateways to connect to other clusters by using the clusters’ contexts.Verify that east-west and remote peering gateways are successfully created in each cluster.
Example output:
Deploy a sample app
For testing purposes, you can deploy the Bookinfo sample app across multiple clusters, add the app services to your ambient mesh, and make the services available across clusters in the mesh.
Create the
bookinfo
namespace in each cluster, and label the namespaces so that the services become part of the ambient service mesh.Deploy the Bookinfo app to each cluster.
Verify that the Bookinfo app is deployed successfully.
Label the
productpage
service in each cluster to create oneproductpage
global service entry. This global service unifies both service endpoints behind one global service hostname, which increases the availability of the Bookinfo app and makes both endpoints available across the multicluster mesh. For more information, see Namespace sameness.Apply the
networking.istio.io/traffic-distribution=Any
annotation to the services. This annotation allows requests to theproductpage
global service to be routed to each service endpoint equally.Verify that the global service entry with the
productpage.bookinfo.mesh.internal
hostname is created.Example output:
Use the ratings app to send a request to the
productpage.bookinfo.mesh.internal
global hostname. Verify that you get back a 200 HTTP response code.
The productpage
services for each Bookinfo instance are now unified behind one hostname, which increases the availability of the Bookinfo app.
Optional: Expose apps with an ingress gateway
You can now use the productpage
global service hostname in routing configurations. For example, to expose the productpage
global service hostname with an ingress gateway, check out the guide to use Gloo Gateway as an ingress gateway to your ambient mesh. To review all options, see the ingress gateway guide for an ambient mesh.
Optional: Analyze your mesh with Gloo UI observability
You can now install the Gloo UI to evaluate the health and efficiency of your service mesh. The Gloo UI provides analysis and insights for your service mesh, such as recommendations to harden your Istio environment and steps to implement them in your environment. Additionally, you can use observability features such as the Gloo UI Graph to visualize the network traffic flows to and within your multicluster service mesh.
To get started, deploy the Gloo management plane in your cluster.
Next steps
Now that you have an ambient mesh up and running, check out some of the following resources to learn more and expand your service mesh capabilities.
Istio:
- Expose apps in your mesh with an ingress gateway.
- Control traffic by creating a waypoint proxy.
- Find out more about hardened Istio
n-4
version support built into Solo distributions of Istio. - Check out the Ambient Mesh docs to configure and deploy Istio routing resources.
- Monitor and observe your Istio environment with Gloo Mesh’s built-in telemetry tools.
- When it’s time to upgrade Istio, check out the upgrade guide for ambient meshes.
Gloo Mesh (OSS APIs):
- Learn about how you can enhance your Istio setup with Gloo Mesh.
- Install the Gloo UI to evaluate the health and efficiency of your multicluster service mesh.
Help and support:
- Talk to an expert to get advice or build out a proof of concept.
- Join the #gloo-mesh channel in the Solo.io community slack.
- Try out one of the Gloo workshops.
Cleanup
If you no longer need this quick-start ambient mesh environment, you can follow the steps in the uninstall guide.