Skip to content

Commit 9b14eb5

Browse files
DOCSP-24930: update multi-cluster overview based on PM feedback (#1039)
1 parent b1191e7 commit 9b14eb5

File tree

7 files changed

+123
-156
lines changed

7 files changed

+123
-156
lines changed

conf.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -186,8 +186,9 @@
186186
'.. |mongod| replace:: :binary:`~bin.mongod`',
187187
'.. |mongos| replace:: :binary:`~bin.mongos`',
188188
'.. |mongo| replace:: :binary:`~bin.mongo`',
189-
'.. |multi-cluster| replace:: multi-cluster deployment',
190-
'.. |multi-clusters| replace:: multi-cluster deployments',
189+
'.. |multi-cluster| replace:: multi-Kubernestes-cluster deployment',
190+
'.. |Multi-cluster| replace:: Multi-Kubernestes-cluster deployment',
191+
'.. |multi-clusters| replace:: multi-Kubernetes-cluster deployments',
191192
'.. |oc| replace:: :xml:`<mono><link target="https://docs.openshift.com/container-platform/3.11/cli_reference/index.html">oc</link></mono>`',
192193
'.. |onprem| replace:: Ops Manager',
193194
'.. |onprem-link| replace:: :opsmgr:`Ops Manager </>`',

config/redirects

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,9 @@ symlink: stable -> v1.16
1212
# Base URL
1313
raw: docs/kubernetes-operator/ -> ${base}/stable/
1414

15+
# redirect for removal of multi-cluster quick start overview:
16+
[*-v1.12]: docs/kubernetes-operator/${version}/multi-cluster-quick-start-overview -> ${base}/stable/multi-cluster
17+
1518
# Add redirects related to the addition of new topics for multi-cluster
1619
# beta security in the Operator v1.16.x, and single cluster LDAP:
1720

source/multi-cluster-arch.txt

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,9 @@ Features Not Available in the Beta Release
2222
------------------------------------------
2323

2424
.. important::
25-
Use the beta release of the |multi-clusters| only in development
26-
environments.
25+
26+
This feature is a beta release. Use |multi-cluster|
27+
deployments only in development environments.
2728

2829
The following features of the |k8s-op-full| and the underlying |k8s|
2930
clusters are not available in the beta release of the |multi-clusters|:

source/multi-cluster-quick-start-overview.txt

Lines changed: 0 additions & 130 deletions
This file was deleted.

source/multi-cluster-quick-start.txt

Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,57 @@ Multi-Cluster Quick Start
1616
:depth: 2
1717
:class: singlecol
1818

19+
.. _multi-cluster-services-tools-ref:
20+
21+
Use the quick start to deploy a MongoDB replica set across three |k8s|
22+
member clusters, using |gke| and |istio| service mesh.
23+
24+
Services and Tools
25+
------------------
26+
27+
The quick start relies on the following
28+
services, tools, and their documentation:
29+
30+
- |k8s| clusters. The quick start uses |gke| to provision multiple
31+
|k8s| clusters. Each |k8s| member cluster hosts a MongoDB replica set
32+
deployment and represents a data center that serves your application.
33+
34+
- :github:`MongoDB Enterprise Kubernetes Operator repository
35+
</mongodb/mongodb-enterprise-kubernetes>` with configuration
36+
files that the |k8s-op-short| needs to deploy a |k8s| cluster.
37+
38+
- :mdb-github:`MongoDB Helm Charts for Kubernetes </helm-charts>` with
39+
charts for |multi-clusters|.
40+
41+
- |istio| service mesh.
42+
43+
- The quick start uses |istio| to facilitate
44+
`DNS resolution
45+
<https://istio.io/latest/docs/ops/configuration/traffic-management/dns-proxy/>`__
46+
for MongoDB replica sets deployed in different |k8s| clusters. You
47+
can use another service mesh solution as long as you ensure that
48+
cross-cluster service FQDNs are resolvable.
49+
50+
- Documentation from |istio| to `Install Multicluster <https://istio.io/latest/docs/setup/install/multicluster/>`__.
51+
52+
- :github:`install_istio_separate_network script </mongodb/mongodb-enterprise-kubernetes/blob/master/tools/multicluster/install_istio_separate_network.sh>`
53+
that is based on Istio documentation and provides an example
54+
installation that uses the `multi-primary mode on different networks
55+
<https://istio.io/latest/docs/setup/install/multicluster/multi-primary_multi-network/>`__.
56+
If you use another service mesh solution, create your own script for
57+
configuring separate networks to facilitate DNS resolution.
58+
59+
- :github:`multi-cluster kubeconfig creator </mongodb/mongodb-enterprise-kubernetes/blob/master/tools/multicluster/main.go>`
60+
tool that performs the following actions:
61+
62+
- Creates a single ``mongodb`` namespace in the central cluster and
63+
each member cluster.
64+
- Creates Service Accounts, Roles, and RoleBindings in the central
65+
cluster and each member cluster.
66+
- Puts Service Account token secrets from each member cluster into a
67+
single ``kubeconfig`` file and saves the file in the central cluster.
68+
This enables authorized access from the |k8s-op-short| installed in
69+
the central cluster to the member clusters.
1970

2071
:ref:`multi-cluster-quick-start-prereqs`
2172
Set up |gke| clusters, install tools, set the deployment's scope, and

source/multi-cluster.txt

Lines changed: 60 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
:noprevnext:
22

3+
.. _multi-cluster-quick-start-overview:
34
.. _multi-cluster:
45

56
===================================================================
@@ -15,40 +16,79 @@ Deploy MongoDB Resources across Multiple Kubernetes Clusters (Beta)
1516
.. contents:: On this page
1617
:local:
1718
:backlinks: none
18-
:depth: 1
19+
:depth: 2
1920
:class: singlecol
2021

21-
:ref:`multi-cluster-quick-start-overview`
22-
Learn about |multi-clusters|, terminology, and services and tools used
23-
to deploy |multi-clusters| in this Quick Start.
22+
.. important::
2423

25-
:ref:`multi-cluster-arch-ref`
26-
Review the architecture diagram and limitations of the beta release.
24+
This feature is a beta release. Use |multi-cluster|
25+
deployments only in development environments.
2726

28-
:ref:`multi-cluster-quick-start-ref`
29-
Deploy MongoDB replica sets on multiple |k8s| clusters that span
30-
different regions and availability zones.
27+
Overview
28+
--------
3129

30+
Using |multi-clusters|, you can deploy |k8s-op-full| to manage
31+
MongoDB deployments that span two or more |k8s| clusters. During the
32+
beta, the |k8s-op-short| supports deploying only replica sets across two or
33+
more |k8s| clusters. Deploying sharded clusters across two or
34+
more |k8s| clusters is not supported.
3235

33-
:ref:`multi-cluster-secure-ref`
34-
Secure database resources with |tls|, configure X.509 for client
35-
authentication, and configure |tls| and X.509 for internal
36-
communication in |multi-clusters|.
36+
The beta release of the |multi-clusters| enables different levels of resilience, depending on the needs of your enterprise application:
3737

38-
:ref:`multi-cluster-connect-ref`
39-
Access database resources in |multi-clusters| from inside or
40-
outside |k8s|.
38+
- **Single Region, Multi AZ**. One or more |k8s| clusters where each
39+
cluster has nodes deployed in different zones in the same region.
40+
Such deployments protect MongoDB instances backing your enterprise
41+
applications against zone and |k8s| cluster failures and offer increased
42+
availability, disaster recovery, and data distribution within one
43+
cloud region.
44+
45+
- **Multi Region**. One or more |k8s| clusters where you deploy each
46+
cluster in a different region, and within each region, deploy cluster
47+
nodes in different availability zones. This gives your database
48+
resilience against the loss of a |k8s| cluster, a zone, or an entire
49+
cloud region.
50+
51+
|Multi-cluster| deployments allow you to add MongoDB instances
52+
in global clusters that span multiple geographic regions for increased
53+
availability and global distribution of data.
54+
55+
A service mesh is required to enable inter-cluster communication between
56+
the replica set members deployed in different |k8s| clusters. MongoDB
57+
development has tested this feature using |istio|, but any service mesh
58+
that provides FQDN resolution between Pods across clusters should work.
59+
60+
.. _central-and-member-clusters:
61+
62+
Central Cluster and Member Clusters
63+
-----------------------------------
64+
65+
MongoDB recommends that you identify one cluster to act as
66+
a **central cluster**. The central cluster hosts the |k8s-op-short| and
67+
acts as the control plane for the multi-cluster deployment. This central
68+
cluster can also host replica set members. This documentation refers to
69+
other |k8s| clusters that host replica set members as **member clusters**.
70+
71+
Communication between replica
72+
set members occurs over a service mesh, which means that your database
73+
doesn't rely on the central cluster to function. Note that if the
74+
central cluster fails, you can't use the |k8s-op-short| to change your
75+
deployment until access to this cluster is restored or until you
76+
redeploy the |k8s-op-short| to an available |k8s| cluster.
77+
78+
You can host your application on any |k8s| cluster in the
79+
service mesh. Your application can be co-located on a
80+
member cluster with one of the replica set nodes that you deployed using
81+
the |k8s-op-short|, or you can host your application on a cluster that
82+
doesn't host replica set nodes or the |k8s-op-short|.
83+
84+
To learn more, see the :ref:`multi-cluster-diagram`.
4185

42-
:ref:`multi-cluster-troubleshooting`
43-
Use the procedures in this section to troubleshoot your
44-
|multi-clusters|.
4586

4687
.. class:: hidden
4788

4889
.. toctree::
4990
:titlesonly:
5091

51-
Overview </multi-cluster-quick-start-overview>
5292
Architecture and Limitations </multi-cluster-arch>
5393
Quick Start </multi-cluster-quick-start>
5494
Secure </multi-cluster-secure>

source/release-notes.txt

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -98,8 +98,9 @@ Added support for :ref:`LDAP client authentication
9898
<multi-cluster-secure-ldap-auth>` and for
9999
:ref:`managing database users with LDAP <multi-cluster-capabilities>`
100100
to |multi-clusters|.
101-
Use the beta release of the |multi-clusters| only in development
102-
environments.
101+
102+
This feature is a beta release. Use |multi-cluster|
103+
deployments only in development environments.
103104

104105
.. _ent_op-1.16.1:
105106

0 commit comments

Comments
 (0)