Para agentes de IA: hay un índice de documentación disponible en https://www.mongodb.com/es/docs/llms.txt — versiones en markdown de todas las páginas están disponibles agregando .md a cualquier ruta URL.
Docs Menu

Establecer el alcance para la implementación de MongoDB Enterprise Kubernetes Operator

Antes de instalar el Operador de Kubernetes, puede establecer el alcance de la implementación del Operador de Kubernetes. Los alcances dependen de los namespaces en los que elija implementar MongoDB Ops Manager y los recursos de MongoDB.

Puede establecer uno de estos ámbitos:

Puede establecer el alcance para que el operador de Kubernetes use el mismo namespace como recursos. En este caso, el operador de Kubernetes supervisa los recursos de MongoDB Ops Manager y MongoDB en ese mismo namespace.

Cuando instalas el Kubernetes operador, se utiliza el namespace por defecto.

Puede establecer el alcance del operador de Kubernetes para que use uno o más namespace que difieran del namespace utilizado por los recursos del operador de Kubernetes. En este caso, el operador de Kubernetes supervisa MongoDB Ops Manager y los recursos de MongoDB en un subconjunto de namespace que especifique.

Para instalar las instancias del Operador de Kubernetes en este alcance, utiliza helm con el operator.watchNamespace parámetro.

Observar un subconjunto de namespaces es útil en implementaciones donde una sola instancia de Kubernetes operador observa un tipo diferente de recurso en el clúster. Por ejemplo, puedes configurar el operador de Kubernetes para monitorear recursos MongoDB en un subconjunto de namespaces y monitorear recursos MongoDBMultiCluster en otro subconjunto de namespaces. Para evitar condiciones de carrera durante la reconciliación de recursos, para cada tipo de recurso personalizado que quieras que el Operador de Kubernetes observe, asegúrate de establecer el alcance en un subconjunto distinto de espacios de nombres.

Siga las instrucciones de instalación pertinentes para helm, pero especifique uno o más espacios de nombres en operador.watchNamespace parámetro para que el Operador de Kubernetes observe:

# Watch one namespace
helm install enterprise-operator mongodb/enterprise-operator \
--set operator.watchNamespace='namespace-to-watch' <...>
# Watch both namespace-a and namespace-b
helm install enterprise-operator mongodb/enterprise-operator \
--set operator.watchNamespace="namespace-a\,namespace-b"
# Operator with name `mongodb-enterprise-operator-qa-envs` will
# watch ns-dev, ns-qa and ns-uat namespaces
helm install mongodb-enterprise-operator-qa-envs mongodb/enterprise-operator \
--set operator.watchNamespace="ns-dev\,ns-qa\,ns-uat"
# Operator with name `mongodb-enterprise-operator-staging` will
# watch ns-staging and ns-pre-prod
helm install mongodb-operator helm-chart --set operator.watchNamespace="ns-staging\,ns-pre-prod" mongodb-enterprise-operator-staging

Al instalar el Operador de Kubernetes para monitorear recursos en uno o más namespaces distintos al namespace en el que está implementado el Operador de Kubernetes:

  1. Crea los siguientes recursos:

    • Un ClusterRole con acceso a múltiples recursos. Para obtener la definición completa del recurso, consulte el ejemplo operator-roles.yaml. Este es un recurso con ámbito de clúster.

    • Cree un ClusterRoleBinding para vincular ClusterRole con ServiceAccount. Este clusterRoleBinding asociará el clusterRole que creaste con el ServiceAccount que el Kubernetes Operador está usando en el namespace donde lo instales.

  2. Incluya el ClusterRole y ClusterRoleBinding en los archivos de configuración por defecto que se aplican durante la instalación.

  3. Cree ServiceAccounts:locales de Kubernetes

    Para cada namespace, cree algunas o todas las siguientes ServiceAccounts de Kubernetes locales:

    • Si deseas implementar una instancia de MongoDB en el namespace, utiliza mongodb-enterprise-database-pods.

    • Si deseas implementar Ops Manager en el namespace, utiliza mongodb-enterprise-appdb y mongodb-enterprise-ops-manager.

El siguiente ejemplo ilustra cómo el ClusterRole y el ClusterRoleBinding trabajan juntos en el clúster.

Supongamos que crea una ServiceAccount en el namespace mongodb y luego instala el Kubernetes Operator en este namespace. El Operador de Kubernetes utiliza esta cuenta de servicio.

Para configurar el ámbito del operador de Kubernetes para observar los namespaces ns1 y ns2:

  1. Usando estos privilegios, crea un ClusterRole a nivel de clúster, sin espacio de nombres.

  2. Cree un ClusterRoleBinding en tres namespaces: mongodb, ns1 y ns2. Este ClusterRoleBinding vinculará el ClusterRole a la ServiceAccount en el namespace mongodb. El clusterRoleBinding permitirá al Kubernetes Operator implementado en el namespace mongodb acceder a los recursos descritos en el clusterRole del namespace de destino, es decir, en mongodb, ns1 y ns2.

Consulta también operator.watchNamespace.

Puede establecer el alcance del operador de Kubernetes al clúster de Kubernetes. En este caso, el operador de Kubernetes monitorea MongoDB Ops Manager y los recursos de MongoDB en todos los namespaces en el clúster de Kubernetes.

Importante

Solo puedes implementar una sola instancia del Kubernetes Operator con un alcance a nivel de clúster por cada clúster de Kubernetes.

Para establecer un alcance a nivel de clúster para el operador de Kubernetes, selecciona tu plataforma.

Después de configurar el alcance para el MongoDB Enterprise Kubernetes Operator, puedes: