Multi-cluster support

What do you mean by multi-cluster support?

Service Mesh Manager helps you manage multi-cluster service meshes in three different layers.

  • First, multi-cluster meshes can easily be built using the Service Mesh Manager CLI, avoiding the need to manually manage complex Istio configurations on all of the clusters.
  • Second, our Istio distribution contains important changes from upstream Istio to collect cluster-aware metrics.
  • Third, multi-cluster support is natively built in the Service Mesh Manager dashboard and CLI. They are able to display and seamlessly manage services across clusters with a shared Istio control plane.

Can you add clusters dynamically?

Yes, attaching and detaching clusters from a service mesh can easily be done through the Service Mesh Manager CLI. These CLI commands are backed by the Istio operator that manages remote clusters through Kubernetes custom resources and secrets that hold the Kubeconfigs of those clusters.

What are some key multi-cluster use-cases?

Perhaps the most common use case for a multi-cluster service mesh is to connect on-premises and cloud environments easily. For example, using a multi-cluster mesh you can securely connect your cloud services to the legacy services running in on-premises clusters.

Public clouds are also often used to scale out from an on-premises datacenter during particular events when your services need to handle an increased load.

Some common load balancing and high availability patterns can easily be implemented using a multi-cluster mesh as well. You can have multiple clusters in different regions using locality-based load balancing, and driving traffic to another region during a failure event in a specific region.

Why does the istio injection label disappear from a namespace on a remote cluster?

Service Mesh Manager synchronizes the istio injection labels for all namespaces from the cluster where Service Mesh Manager is installed to all other remote clusters in the mesh. That way you can add (or remove) the istio injection label only on the cluster where Service Mesh Manager is installed, and Service Mesh Manager automatically adds (or removes) namespace labels on every cluster in the mesh.

If you see disappearing istio injection labels from namespaces on remote clusters, it is because:

  • the namespace does not exist, or
  • the cluster where Service Mesh Manager is installed does not have the istio injection label on the namespace. The solution is to create the namespace in that cluster and add the label there. Refer to this link for more info on how to Deploy custom application in a multi-cluster setup.