Welcome to Gloo Mesh, the open-source, multi-cluster, multi-mesh management plane. Gloo Mesh simplifies service-mesh operations and lets you manage multiple clusters of a service mesh from a centralized management plane. Gloo Mesh takes care of things like shared-trust/root CA federation, workload discovery, unified multi-cluster/global traffic policy, access policy, and more.
Gloo Mesh has a CLI tool called
meshctl that helps bootstrap Gloo Mesh, register clusters, describe configured resources, and more. Get the latest
meshctl from the releases page on solo-io/gloo-mesh.
You can also quickly install like this:
curl -sL https://run.solo.io/meshctl/install | sh
Once you've downloaded the correct binary for your architecture, run the following to make sure it's working correctly:
You can add
meshctl to your path for global access on the command line. See:
Spinning up clusters with Kind (Kubernetes in Docker)
The easiest way to get started is by using Kind to run local Kubernetes clusters in Docker. There is a
demo command in meshctl that will create a full demonstration environment on your local system. All you need is Docker, Kind, and kubectl installed.
If you prefer to use an existing Kubernetes cluster, check out our Setup Guide.
To spin up two Kubernetes clusters with Kind, run:
meshctl demo istio-multicluster init
This will spin up two Kubernetes clusters in Docker with Istio installed on each. Additionally, this will install Gloo Mesh on one of the clusters. Both clusters will be registered with Gloo Mesh under the names
remote-cluster, which will be used throughout the documentation.
Creating cluster mgmt-cluster with ingress port 32001 Creating cluster "mgmt-cluster" ... ✓ Ensuring node image (kindest/node:v1.17.5) � ✓ Preparing nodes �� ✓ Writing configuration �� ✓ Starting control-plane 🕹 ✓ Installing CNI �� ✓ Installing StorageClass �� Set kubectl context to "kind-mgmt-cluster" You can now use your cluster with: kubectl cluster-info --context kind-mgmt-cluster ... Creating cluster remote-cluster with ingress port 32000 Creating cluster "remote-cluster" ... ✓ Ensuring node image (kindest/node:v1.17.5) � ✓ Preparing nodes �� ✓ Writing configuration �� ✓ Starting control-plane 🕹 ✓ Installing CNI �� ✓ Installing StorageClass �� Set kubectl context to "kind-remote-cluster" You can now use your cluster with: kubectl cluster-info --context kind-remote-cluster
To connect to each of the clusters, run the following:
export MGMT_CONTEXT=kind-mgmt-cluster export REMOTE_CONTEXT=kind-remote-cluster
Then you can run the following to connect to the mgmt-cluster cluster:
kubectl --context $MGMT_CONTEXT get po -n gloo-mesh
You should see Gloo Mesh installed:
NAME READY STATUS RESTARTS AGE csr-agent-8445578f6d-6hzls 1/1 Running 0 3m28s mesh-discovery-8657d4dd66-dlks8 1/1 Running 0 3m32s mesh-networking-58b68b7b6-ljjcr 1/1 Running 0 3m32s
To verify the installation came up successfully and everything is in a good state:
You should see something similar to the following:
Gloo Mesh ------------------- ✅ Gloo Mesh pods are running Management Configuration --------------------------- ✅ Gloo Mesh networking configuration resources are in a valid state
Setting up Kind and multiple clusters on your machine isn't always the easiest, and there may be some issues/hurdles you run into, especially on “company laptops” with extra security constraints. If you ran into any issues in the previous steps, please join us on the Solo.io slack and we'll be more than happy to help troubleshoot.
You should be ready to run the steps in the rest of the Guides.
Cleaning up this demo environment is as simple as running the following:
meshctl demo istio-multicluster cleanup
In this quick-start guide, we installed Gloo Mesh. If these installation use cases were too simplistic or not representative of your environment, please check out our Setup Guide. Otherwise, please check out our Guides to explore the power of Gloo Mesh.