Skip to content

Commit 60dc920

Browse files
authored
(DOCSP-15753) Remaining prod-notes tickets, to be continued (#575)
* (DOCSP-15753) Remaining prod-notes tickets, to be continued * Fixed a broken link, a typo, and DOCSP-13669 * (DOCSP-13744) add default permissions list used by the Operator * Include copy review * Address copy review
1 parent 2ce8c5a commit 60dc920

File tree

5 files changed

+117
-4
lines changed

5 files changed

+117
-4
lines changed

source/includes/list-tables/rs-resource-base-options.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717

1818
- :setting:`metadata.name`
1919
- Kubernetes documentation on
20-
:k8sdocs:`names </docs/concepts/overview/working-with-objects/names/>`.
20+
:k8sdocs:`names </concepts/overview/working-with-objects/names/>`.
2121

2222
- ``myproject``
2323

source/reference/production-notes.txt

Lines changed: 94 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -387,6 +387,11 @@ availability zones configuration.
387387
- e2e-az1
388388
- e2e-az2
389389

390+
In this example, the |k8s-op-short| schedules the Pods deployment to
391+
the nodes which have the label ``kubernetes.io/e2e-az-name`` in ``e2e-az1`` or
392+
``e2e-az2`` availability zones. Change ``nodeAffinity`` to
393+
schedule the deployment of Pods to the desired availability zones.
394+
390395
See the full example of multiple availability zones configuration in
391396
:github:`replica-set-affinity.yaml </mongodb/mongodb-enterprise-kubernetes/blob/master/samples/mongodb/affinity/replica-set-affinity.yaml>`
392397
in the :github:`Affinity Samples </mongodb/mongodb-enterprise-kubernetes/tree/master/samples/mongodb/persistent-volumes>`
@@ -397,7 +402,8 @@ configurations for sharded clusters and standalone MongoDB deployments.
397402

398403
.. seealso::
399404

400-
:k8sdocs:`Running in Multiple Zones </setup/best-practices/multiple-zones/>`
405+
- :k8sdocs:`Running in Multiple Zones </setup/best-practices/multiple-zones/>`
406+
- :k8sdocs:`Node affinity </concepts/scheduling-eviction/assign-pod-node/#node-affinity>`
401407

402408
Co-locate ``mongos`` Pods with Your Applications
403409
------------------------------------------------
@@ -512,7 +518,93 @@ Use the :k8sdocs:`Pod affinity
512518

513519
.. seealso::
514520

515-
:k8sdocs:`Pod affinity </concepts/configuration/assign-pod-node/#inter-pod-affinity-and-anti-affinity>`
521+
:k8sdocs:`Pod affinity
522+
</concepts/configuration/assign-pod-node/#inter-pod-affinity-and-anti-affinity>`
523+
524+
Verify Permissions
525+
------------------
526+
527+
Objects in the |k8s-op-short| configuration use the following
528+
default permissions.
529+
530+
531+
.. list-table::
532+
:widths: 25 75
533+
:header-rows: 1
534+
535+
* - Kubernetes Resources
536+
- Verbs
537+
538+
* - Configmaps
539+
- Require the following permissions:
540+
541+
- ``get``, ``list``, ``watch``. The |k8s-op-short| reads the organization
542+
and project data from the specified ``configmap``.
543+
544+
- ``create``, ``update``. The |k8s-op-short| creates and updates ``configmap``
545+
objects for configuring the :ref:`appdb-om-arch` instances.
546+
547+
- ``delete``. The |k8s-op-short| needs the ``delete`` ``configmap`` permission
548+
to support its :ref:`older versions <k8s-support-lifecycle>`.
549+
This permission will be deleted when older versions reach their
550+
End of Life Date.
551+
552+
* - Secrets
553+
- Require the following permissions:
554+
555+
- ``get``, ``list``, ``watch``. The |k8s-op-short| reads secret objects to
556+
retrieve sensitive data, such as :ref:`TLS <secure-tls>` or
557+
:ref:`X.509 <create-x509-certs>` access information. For example, it
558+
reads the credentials from a secret object to connect to the |onprem|.
559+
560+
- ``create``, ``update``. The |k8s-op-short| creates secret
561+
objects holding :ref:`TLS <secure-tls>` or
562+
:ref:`X.509 <create-x509-certs>` access information.
563+
564+
- ``delete``. The |k8s-op-short| deletes secret objects (containing passwords)
565+
related to the :ref:`appdb-om-arch`.
566+
567+
* - Services
568+
- Require the following permissions:
569+
570+
- ``get``, ``list``, ``watch``. The |k8s-op-short| reads and watches
571+
MongoDB services. For example, to communicate with the Ops Manager service,
572+
the |k8s-op-short| needs ``get``, ``list`` and ``watch``
573+
permissions to use the |onprem| service's URL.
574+
575+
- ``create``, ``update``. To communicate with services, the |k8s-op-short|
576+
creates and updates service objects corresponding to |onprem|
577+
and MongoDB custom resources.
578+
579+
* - StatefulSets
580+
- Require the following permissions:
581+
582+
- ``get``, ``list``, ``watch``. The |k8s-op-short| reacts to the changes in the
583+
StatefulSets it creates for the MongoDB custom resources. It also reads
584+
the fields of the StatefulSets it manages.
585+
586+
- ``create``, ``update``. The |k8s-op-short| creates and updates StatefulSets
587+
corresponding to the mongoDB custom resources.
588+
589+
- ``delete``. The |k8s-op-short| needs permissions to delete the StatefulSets
590+
when you delete the MongoDB custom resource.
591+
592+
* - Pods
593+
- Require the following permissions:
594+
595+
- ``get``, ``list``, ``watch``. The |k8s-op-short| queries the
596+
Application Database Pods to get information about its state.
597+
598+
* - Namespaces
599+
- Require the following permissions:
600+
601+
- ``list``, ``watch``. When you run the |k8s-op-short| in the cluster-wide mode,
602+
it needs ``list`` and ``watch`` permissions to all namespaces
603+
for the MongoDB custom resources.
604+
605+
.. seealso::
606+
607+
:ref:`meko-om-arch`
516608

517609
Enable TLS
518610
----------

source/reference/troubleshooting.txt

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -434,6 +434,24 @@ To remove the |k8s-ns|:
434434

435435
kubectl delete namespace <metadata.namespace>
436436

437+
.. _k8s-create-pvc-after-deleting-pod:
438+
439+
Create a New |k8s-pvc| after Deleting a Pod
440+
-------------------------------------------
441+
442+
If you accidentally delete the MongoDB replica set Pod and its |k8s-pvc|,
443+
the |k8s-op-short| fails to reschedule the MongoDB Pod and issues
444+
the following error message:
445+
446+
.. code-block:: sh
447+
:copyable: false
448+
449+
scheduler error: pvc not found to schedule the pod
450+
451+
To recover from this error, you must :k8sdocs:`manually create a new PVC
452+
</tasks/configure-pod-container/configure-persistent-volume-storage/#create-a-persistentvolumeclaim>`
453+
with the PVC object's name that corresponds to this replica set Pod,
454+
such as ``data-<replicaset-pod-name>``.
437455

438456
.. _k8s-disable-feature-controls:
439457

source/tutorial/om-arch.txt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,9 @@ following |onprem| components:
3737
Enterprise Kubernetes Operator
3838
:figwidth: 600px
3939

40+
41+
.. _appdb-om-arch:
42+
4043
Application Database
4144
~~~~~~~~~~~~~~~~~~~~
4245

source/tutorial/plan-k8s-op-considerations.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ a message similar to the following that describes the error to the shell:
5858
shardPodSpec field is not configurable for application databases as
5959
it is for sharded clusters and appdb replica sets
6060

61-
Whe the |k8s-op-short| reconciles each resource, it also validates that
61+
When the |k8s-op-short| reconciles each resource, it also validates that
6262
resource. The |k8s-op-short| doesn't require the validation webhook to
6363
create or update resources.
6464

0 commit comments

Comments
 (0)