@@ -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+
390395See 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>`
392397in 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
402408Co-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
517609Enable TLS
518610----------
0 commit comments