Multi-Kubernetes-cluster deployments enable different levels of resilience, depending on the needs of your enterprise application:
Single Region, Multi AZ. One or more Kubernetes clusters where you deploy each cluster's nodes in different zones in the same region. Such deployments protect MongoDB instances backing your enterprise applications against zone and Kubernetes cluster failures and offer increased availability, disaster recovery, and data distribution within one cloud region.
Multi Region. One or more Kubernetes clusters where you deploy each cluster in a different region, and within each region, deploy cluster nodes in different availability zones. This gives your database resilience against the loss of a Kubernetes cluster, a zone, or an entire cloud region.
Multi-Kubernetes-cluster deployments allow you to add MongoDB instances in global clusters that span multiple geographic regions for increased availability and global distribution of data.
Identify one Kubernetes cluster that should act as a central cluster in your multi-Kubernetes-cluster deployment.
A multi-Kubernetes-cluster deployment that uses the MongoDB Enterprise Kubernetes Operator consists of one central cluster and one or more member clusters in Kubernetes:
The central cluster has the following role:
Hosts the MongoDB Enterprise Kubernetes Operator
Acts as the control plane for the multi-Kubernetes-cluster deployment
MongoDBMultiClusterresource spec for the MongoDB replica set
Hosts Ops Manager, if you deploy Ops Manager with the Kubernetes Operator
Can also host members of the MongoDB replica set
Member clusters host the MongoDB replica sets.
The following diagram shows the high-level architecture of a multi-Kubernetes-cluster deployment across regions and availability zones. To learn more, see Architecture, Capabilities, and Limitations.
This deployment uses a service mesh. This simplifies configuring multi-Kubernetes-cluster deployments. A service mesh enables inter-cluster communication between the replica set members deployed in different Kubernetes clusters. MongoDB development has tested these deployments with Istio, but any service mesh that provides FQDN hostname resolution between Pods across clusters should work. To learn more, see Plan for External Connectivity.
You can create a new multi-Kubernetes-cluster deployment and contact MongoDB Support to help you migrate data from your existing Kubernetes deployment to a multi-Kubernetes-cluster deployment. You can't extend an existing single-Kubernetes cluster deployment to new Kubernetes clusters.