Skip to content

Commit 28f7eaa

Browse files
authored
(DOCSP-28529) Includes full-fledged guide info. (#1295)
* (DOCSP-28529) Includes full-fledged guide info. * Revises per tech and copy reviews. * Revises per copy review. * Fixes step formatting in step file.
1 parent fccfd7e commit 28f7eaa

15 files changed

+612
-418
lines changed

conf.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -122,6 +122,7 @@
122122
'.. |global-write| replace:: Global Writes',
123123
'.. |hardlink| replace:: https://www.mongodb.com/docs/kubernetes-operator/',
124124
'.. |hashicorp-vault| replace:: `HashiCorp Vault <https://www.vaultproject.io/>`__',
125+
'.. |helm| replace:: `Helm <https://helm.sh/>`__',
125126
'.. |https| replace:: :abbr:`HTTPS (Hypertext Transfer Protocol Secure)`',
126127
'.. |http| replace:: :abbr:`HTTP (Hypertext Transfer Protocol)`',
127128
'.. |iana| replace:: :abbr:`IANA (Internet Assigned Numbers Authority)`',

source/includes/facts/fact-istio.rst

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,7 @@
11
In addition, we offer the :github:`install_istio_separate_network example script
2-
</mongodb/mongodb-enterprise-kubernetes/blob/master/tools/multicluster/install_istio_separate_network.sh>`.
3-
This script is based on Istio documentation and provides an example installation
4-
that uses the `multi-primary mode on different networks <https://istio.io/latest/docs/setup/install/multicluster/multi-primary_multi-network/>`__.
5-
6-
We don't guarantee the script's maintenance with future Istio releases.
7-
If you choose to use the script, review the latest Istio documentation for
2+
</mongodb/mongodb-enterprise-kubernetes/blob/master/tools/multicluster/install_istio_separate_network.sh>`. This script is based on Istio documentation and provides an example installation
3+
that uses the `multi-primary mode on different networks <https://istio.io/latest/docs/setup/install/multicluster/multi-primary_multi-network/>`__. We don't guarantee the script's maintenance with future Istio releases. If you choose to use the script, review the latest Istio documentation for
84
`installing a multicluster <https://istio.io/latest/docs/setup/install/multicluster/>`__,
95
and, if necessary, adjust the script to match the documentation and your deployment.
10-
116
If you use another service mesh solution, create your own script for
127
configuring separate networks to facilitate DNS resolution.
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
To verify that the |k8s-op-short| installed correctly, run the
2+
following command and verify the output:
3+
4+
.. code-block:: sh
5+
6+
kubectl describe deployments mongodb-enterprise-operator -n <metadata.namespace>
7+
8+
By default, deployments exist in the ``mongodb`` namespace. If the
9+
following error message appears, ensure you use the correct
10+
namespace:
11+
12+
.. code-block:: sh
13+
14+
Error from server (NotFound): deployments.apps "mongodb-enterprise-operator" not found
15+
16+
.. include:: /includes/troubleshoot-k8s.rst
Lines changed: 23 additions & 57 deletions
Original file line numberDiff line numberDiff line change
@@ -1,74 +1,40 @@
1-
- To enable internal cluster authentication, create |tls| certificates for
2-
member clusters in the |multi-cluster|.
31

4-
.. tabs::
2+
.. note::
53

6-
.. tab:: With Service Mesh
7-
:tabid: with-sm
4+
You must possess the |certauth| certificate and the key that you used to
5+
sign your |tls| certificates.
86

9-
Use one of the following options:
7+
.. tabs::
108

11-
- Generate a wildcard |tls| certificate that covers hostnames
12-
of the services that the |k8s-op-short| creates for each Pod
13-
in the deployment.
9+
.. tab:: With Service Mesh
10+
:tabid: with-sm
1411

15-
If you generate wildcard certificates, you can continue using
16-
the same certificates when you scale up or rebalance nodes in
17-
the |k8s| member clusters, for example for :ref:`disaster recovery <disaster-recovery-ref>`.
12+
.. include:: /includes/steps/add-tls-service-mesh.rst
1813

19-
For example, add the hostname similar to the following format
20-
to the |san-dns|:
14+
.. tab:: With Service Mesh (via script)
15+
:tabid: via-script
2116

22-
.. code-block:: sh
17+
To speed up creating |tls| certificates for member |k8s| clusters,
18+
we offer the :github:`setup_tls script </mongodb/mongodb-enterprise-kubernetes/blob/master/tools/multicluster/setup_tls.sh>`. We don't guarantee the script's maintenance. If you choose to use the script,
19+
test it and adjust it to your needs. The script does the following:
2320

24-
*.<namespace>.svc.cluster.local
21+
- Creates the ``cert-manager`` namespace in the connected cluster and installs `cert-manager <https://cert-manager.io/docs/>`__ using |helm| in the ``cert-manager`` namespace.
2522

26-
- For each |k8s| service that the |k8s-op-short| generates corresponding
27-
to each Pod in each member cluster, add |san-dns|\s to the certificate.
28-
In your |tls| certificate, the |san-dns| for each |k8s| service must
29-
use the following format:
23+
- Installs a local |certauth| using `mkcert <https://github.com/FiloSottile/mkcert>`__.
3024

31-
.. include:: /includes/prereqs/san-format-multi-cluster.rst
25+
- Downloads |tls| certificates from ``downloads.mongodb.com`` and concatenates them with the |certauth| file name and ``ca-chain``.
3226

33-
.. tab:: Without Service Mesh
34-
:tabid: without-sm
27+
- Creates a ConfigMap that includes the ``ca-chain`` files.
3528

36-
Use one of the following options:
29+
- Creates an ``Issuer`` resource, which cert-manager uses to generate certificates.
3730

38-
- Generate a wildcard |tls| certificate that contains all
39-
:ref:`externalDomains <multi-spec-clusterspeclist-externaldomain>`
40-
that you created in the |san-dns|. For example, add the hostnames
41-
similar to the following format to the |san-dns|:
31+
- Creates a ``Certificate`` resource, which cert-manager uses to create a key object for the certificates.
4232

43-
.. code-block:: sh
44-
45-
*.cluster-0.example.com, *.cluster-1.example.com
33+
To use the script:
4634

47-
If you generate wildcard certificates, you can continue using
48-
them when you scale up or rebalance nodes in the |k8s| member
49-
clusters, for example for :ref:`disaster recovery <disaster-recovery-ref>`.
35+
.. include:: /includes/steps/add-tls-script.rst
5036

51-
- Generate a |tls| certificate for each MongoDB replica set member
52-
hostname in the |san-dns|. For example, add the hostnames similar
53-
to the following to the |san-dns|:
37+
.. tab:: Without Service Mesh
38+
:tabid: without-sm
5439

55-
.. code-block:: sh
56-
57-
my-replica-set-0-0.cluster-0.example.com,
58-
my-replica-set-0-1.cluster-0.example.com,
59-
my-replica-set-1-0.cluster-1.example.com,
60-
my-replica-set-1-1.cluster-1.example.com
61-
62-
If you generate an individual |tls| certificate that contains
63-
all the specific hostnames, you must create a new certificate
64-
each time you scale up or rebalance nodes in the |k8s| member
65-
clusters, for example for :ref:`disaster recovery <disaster-recovery-ref>`.
66-
67-
- Generate one TLS certificate for your project's MongoDB Agents.
68-
69-
.. include:: /includes/prereqs/mdbagent-reqs-multi-cluster.rst
70-
71-
- You must possess the |certauth| certificate and the key that you used to
72-
sign your |tls| certificates.
73-
74-
.. include:: /includes/prereqs/pem-format.rst
40+
.. include:: /includes/steps/add-tls-without-service-mesh.rst

source/includes/prereqs/mdbagent-reqs-multi-cluster.rst

Lines changed: 0 additions & 6 deletions
This file was deleted.
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
---
2+
stepnum: 1
3+
level: 4
4+
ref: install-mkcert-prereqs
5+
inherit:
6+
file: steps-multi-cluster-source.yaml
7+
ref: install-mkcert
8+
9+
---
10+
stepnum: 2
11+
level: 4
12+
ref: set-context-central-cluster-prereqs
13+
inherit:
14+
file: steps-multi-cluster-source.yaml
15+
ref: set-context-central-cluster
16+
17+
---
18+
stepnum: 3
19+
level: 4
20+
ref: run-tls-script-prereqs
21+
inherit:
22+
file: steps-multi-cluster-source.yaml
23+
ref: run-tls-script
24+
25+
---
26+
stepnum: 4
27+
level: 4
28+
ref: generate-tls-agents-script
29+
inherit:
30+
file: steps-multi-cluster-source.yaml
31+
ref: generate-tls-agents
32+
33+
...
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
---
2+
stepnum: 1
3+
level: 4
4+
ref: generate-tls-services-prereq
5+
inherit:
6+
file: steps-multi-cluster-source.yaml
7+
ref: generate-tls-services
8+
9+
---
10+
stepnum: 2
11+
level: 4
12+
ref: generate-tls-agents-prereq
13+
inherit:
14+
file: steps-multi-cluster-source.yaml
15+
ref: generate-tls-agents
16+
17+
...
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
---
2+
stepnum: 1
3+
level: 4
4+
ref: generate-tls-san-hostnames-prereqs
5+
inherit:
6+
file: steps-multi-cluster-source.yaml
7+
ref: generate-tls-san-hostnames
8+
9+
---
10+
stepnum: 2
11+
level: 4
12+
ref: generate-tls-agents-no-mesh
13+
inherit:
14+
file: steps-multi-cluster-source.yaml
15+
ref: generate-tls-agents
16+
17+
...

source/includes/steps-install-prereqs.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ content: |
2323
2424
.. note::
2525
26-
You can use `Helm <https://helm.sh/>`__ to install the
26+
You can use |helm| to install the
2727
|k8s-op-short|. To learn how to install Helm, see its
2828
:github:`documentation on GitHub </kubernetes/helm>`.
2929

source/includes/steps-multi-cluster-quick-start-tls.yaml

Lines changed: 12 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -15,62 +15,38 @@ source:
1515
---
1616
stepnum: 3
1717
level: 4
18-
ref: clone-k8s-qs
19-
inherit:
20-
file: steps-multi-cluster-source.yaml
21-
ref: clone-k8s-repo-multi-cluster
22-
23-
---
24-
stepnum: 4
25-
level: 4
2618
ref: run-plugin-qs
2719
inherit:
2820
file: steps-multi-cluster-source.yaml
2921
ref: run-kubectl-mongodb
3022

3123
---
32-
stepnum: 5
24+
stepnum: 4
3325
level: 4
3426
ref: set-istio-webhook-qs
3527
inherit:
3628
file: steps-multi-cluster-source.yaml
3729
ref: set-istio-webhook
3830

3931
---
40-
stepnum: 6
32+
stepnum: 5
4133
level: 4
4234
ref: configure-kubectl-mc-qs
4335
inherit:
4436
file: steps-multi-cluster-source.yaml
4537
ref: configure-kubectl-mc
4638

4739
---
48-
stepnum: 7
49-
level: 4
50-
ref: install-mc-helm-charts
51-
inherit:
52-
file: steps-multi-cluster-source.yaml
53-
ref: install-helm-charts
54-
55-
---
56-
stepnum: 8
57-
level: 4
58-
ref: install-kubectl-mc-qs
59-
inherit:
60-
file: steps-multi-cluster-source.yaml
61-
ref: install-kubectl-mc
62-
63-
---
64-
stepnum: 9
40+
stepnum: 6
6541
level: 4
66-
title: "Configure service accounts and roles for each member cluster."
67-
ref: configure-mc-service-accounts-qs
42+
title: "Deploy the |k8s-op-full| in the central cluster."
43+
ref: deploy-meko-mc-qs
6844
inherit:
6945
file: steps-multi-cluster-source.yaml
70-
ref: configure-mc-service-accounts
46+
ref: deploy-meko-central-cluster
7147

7248
---
73-
stepnum: 10
49+
stepnum: 7
7450
level: 4
7551
title: "Create a secret to use with Ops Manager and create a ConfigMap."
7652
ref: create-configmap-and-secret-qs
@@ -79,25 +55,25 @@ inherit:
7955
ref: create-configmap-and-secret
8056

8157
---
82-
stepnum: 11
58+
stepnum: 8
8359
level: 4
84-
title: "Deploy |onprem| on the central cluster."
60+
title: "Deploy |onprem| on the central cluster and connect to |onprem|."
8561
ref: deploy-om-cental-cluster-qs
8662
inherit:
8763
file: steps-multi-cluster-source.yaml
8864
ref: deploy-om-mc-central-cluster
8965

9066
---
91-
stepnum: 12
67+
stepnum: 9
9268
level: 4
93-
title: "Deploy the MongoDB resource."
69+
title: "Deploy the |mongodb-multi| resource."
9470
ref: deploy-mdbresource-mc-qs
9571
inherit:
9672
file: steps-multi-cluster-source.yaml
9773
ref: deploy-mdbresource-mc-tls
9874

9975
---
100-
stepnum: 13
76+
stepnum: 10
10177
level: 4
10278
ref: verify-mdb-resources-mc-qs
10379
inherit:

0 commit comments

Comments
 (0)