Docs Menu
Docs Home
/ /

Configuración de instalación de Helm del operador Kubernetes de MongoDB Enterprise

Para proporcionar configuraciones opcionales, páselas a Helm usando el --set Argumento. Utilice los siguientes archivos que enumeran las configuraciones de valores para su tipo de implementación:

  • Vanilla Kubernetes: values.yaml

  • OpenShift: valores-openshift.yaml

Para obtener más información sobre las configuraciones de instalación opcionales del operador de Kubernetes, consulte Configuración de instalación de Operator Helm.

Ejecute el comando como en el siguiente ejemplo y las opciones que especificó se pasarán a su configuración:

helm upgrade enterprise-operator mongodb/enterprise-operator \
--set registry.pullPolicy='IfNotPresent'

Nombre de la imagen del agente de MongoDB. Esta configuración se añade a registry.agent y establece la variable de entorno MDB_AGENT_IMAGE_REPOSITORY en su valor completo. URL desde la que StatefulSet descarga la imagen del Agente MongoDB para las implementaciones de bases de datos. Para obtener más información, consulte Imágenes de contenedor.

El valor predeterminado es mongodb-agent-ubi.

agent:
name: mongodb-agent-ubi

Nombre de la imagen de la base de datos de la aplicación.

El valor predeterminado es mongodb-enterprise-appdb.

appDb:
name: mongodb-enterprise-appdb
version: 10.2.15.5958-1_4.2.11

Versión de la imagen que contiene el Agente MongoDB que utiliza la base de datos de la aplicación.

El valor predeterminado es 10.2.15.5958-1_4.2.11.

appDb:
name: mongodb-enterprise-appdb
version: 10.2.15.5958-1_4.2.11

Nombre de la imagen de la base de datos MongoDB Enterprise.

El valor predeterminado es mongodb-enterprise-database.

database:
name: mongodb-enterprise-database
version: 1.33

Versión de la imagen de la base de datos empresarial MongoDB que implementa el operador de Kubernetes.

database:
name: mongodb-enterprise-database
version: 1.33

Nombre de la imagen initContainer que contiene los scripts de inicio de la base de datos de la aplicación y la sonda de preparación.

El valor predeterminado es mongodb-enterprise-init-appdb.

database:
name: mongodb-enterprise-init-appdb
version: 1.33

Versión de la imagen initContainer que contiene los scripts de inicio de la base de datos de la aplicación y la sonda de preparación.

El valor predeterminado 1.33 es.

database:
name: mongodb-enterprise-init-appdb
version: 1.33

Nombre de la imagen initContainer que contiene los scripts de inicio del Agente MongoDB y la sonda de preparación.

El valor predeterminado es mongodb-enterprise-init-database.

database:
name: mongodb-enterprise-init-database
version: 1.33

Versión de la imagen initContainer que contiene los scripts de inicio del Agente MongoDB y la sonda de preparación.

El valor predeterminado 1.33 es.

database:
name: mongodb-enterprise-init-database
version: 1.33

Versión de la imagen initContainer que contiene los scripts de inicio de Ops Manager y la sonda de preparación.

El valor predeterminado es mongodb-enterprise-init-ops-manager.

database:
name: mongodb-enterprise-init-ops-manager
version: 1.33

Versión de la imagen initContainer que contiene los scripts de inicio de Ops Manager y la sonda de preparación.

El valor predeterminado 1.33 es.

database:
name: mongodb-enterprise-init-ops-manager
version: 1.33

Bandera que determina si el operador de Kubernetes hereda o no la configuración de securityContext que administra su clúster de Kubernetes.

Este valor debe ser verdadero si desea ejecutar el operador de Kubernetes en OpenShift o en un entorno restrictivo.

El valor predeterminado es falso.

# Set this to true if your cluster is managing SecurityContext for you.
# If running OpenShift (Cloud, Minishift, etc.), set this to true.
managedSecurityContext: false

El valor predeterminado es verdadero.

# Set this to true if your cluster is managing SecurityContext for you.
# If running OpenShift (Cloud, Minishift, etc.), set this to true.
managedSecurityContext: true

En el operador de 1.20 Kubernetes, el registro de contenedores cambió para la imagen de la base de datos de la aplicación y las imágenes usan un nuevo sufijo de etiqueta. Al actualizar el operador de Kubernetes, este actualiza automáticamente el sufijo-ent anterior,, para todas las imágenes que hacen referencia al nuevo registro de contenedores a -ubi8 o al sufijo definido en MDB_IMAGE_TYPE o mongodb.imageType.

Por ejemplo, el operador de Kubernetes cambia quay.io/mongodb/mongodb-enterprise-server:4.4.5 a quay.io/mongodb/mongodb-enterprise-server:4.4.5-ubi8.

Para evitar que el operador de Kubernetes actualice automáticamente el sufijo, configure MDB_APPDB_ASSUME_OLD_FORMAT o mongodb.appdbAssumeOldFormat truecomo. Por ejemplo, podría querer detener el cambio automático de sufijo si está duplicando esta imagen desde su propio repositorio.

El valor predeterminado es false, que actualiza automáticamente el sufijo de la imagen.

mongodb:
appdbAssumeOldFormat: false

El sufijo de la imagen de la base de datos de la aplicación.

En el operador de 1.20 Kubernetes, el registro de contenedores cambió para la imagen de la base de datos de la aplicación y las imágenes usan un nuevo sufijo de etiqueta. Al actualizar el operador de Kubernetes, este actualiza automáticamente el sufijo-ent anterior,, para todas las imágenes que hacen referencia al nuevo registro de contenedores a -ubi8 o al sufijo definido en MDB_IMAGE_TYPE o mongodb.imageType.

Por ejemplo, el operador de Kubernetes cambia quay.io/mongodb/mongodb-enterprise-server:4.4.5 a quay.io/mongodb/mongodb-enterprise-server:4.4.5-ubi8.

Para evitar que el operador de Kubernetes actualice automáticamente el sufijo, configure MDB_APPDB_ASSUME_OLD_FORMAT o mongodb.appdbAssumeOldFormat truecomo. Por ejemplo, podría querer detener el cambio automático de sufijo si está duplicando esta imagen desde su propio repositorio.

El valor predeterminado es ubi8. Recomendamos usar solo ubi imágenes para mantener la coherencia, pero si lo necesita, puede cambiar esta configuración a ubuntu2204.

mongodb:
imageType: ubi8

Tiempo, en segundos, que el operador de Kubernetes intenta conectarse al punto final del servidor de API de Kubernetes de un clúster. Este tiempo de espera se establece para todos los clústeres de Kubernetes en implementaciones de MongoDB con varios clústeres de Kubernetes. Si el operador de Kubernetes no recibe una respuesta del servidor de API de Kubernetes dentro del tiempo especificado, registra el estado del clúster como "incorrecto". Para obtener más información, consulte Solución de problemas de clústeres de Kubernetes.

El valor predeterminado 10 es.

multiCluster:
clusterClientTimeout: 10

espacios de nombres en los que desea implementar el operador de Kubernetes.

Para utilizar un espacio de nombres distinto del predeterminado, especifique el espacio de nombres en el que desea implementar el operador de Kubernetes.

El valor por defecto es mongodb.

# Name of the Namespace to use
namespace: mongodb

Determina si Kubernetes crea un ClusterRole que permite al operador de Kubernetes firmar certificados TLS mediante la API certificates.k8s.io.

needsCAInfrastructure: true

El valor predeterminado es verdadero.

Nombre del contenedor del operador de Kubernetes.

El valor predeterminado es mongodb-enterprise-operator.

operator:
deployment_name: mongodb-enterprise-operator

Etiqueta para el entorno de implementación de operadores de Kubernetes. Este valor afecta los tiempos de espera predeterminados, así como el nivel y el formato de registro:

Si el valor es
El nivel de registro está configurado en
El formato de registro está configurado en

dev

debug

text

prod

información

json

El valor predeterminado es prod.

operator:
# Execution environment for the operator, dev or prod.
# Use dev for more verbose logging
env: prod

El número máximo de conciliaciones simultáneas que el operador de Kubernetes puede realizar. Define MaxConcurrentReconciles. Para obtener más información, consulte "Operador de Kubernetes: Implementar varios conjuntos de réplicas de MongoDB".

Ejemplo

operator:
# Control how many reconciles can be performed in parallel.
# Increasing the number of concurrent reconciliations decreases the time needed to reconcile all watched resources,
# but it might result in request load spikes and increased load on the Ops Manager API, and the Kubernetes API server generally.
maxConcurrentReconciles: 10

Determina la arquitectura de contenedor utilizada por todas sus implementaciones:

El valor es por defecto non-static.

Para habilitar contenedores estáticos, configúrelo en static.

Nota

Esta configuración se aplica a todas sus implementaciones, incluidas las existentes. Para habilitar contenedores estáticos para una sola implementación, utilice en metadata.annotations.mongodb.com/v1.architecture el recurso MongoDB.

operator.mdbDefaultArchitecture: static

Nombre que Kubernetes asigna a los objetos del operador de Kubernetes, como implementaciones, cuentas de servicio, roles y pods.

Este valor también corresponde al nombre del registro de contenedores donde se encuentra el operador de Kubernetes.

El valor predeterminado es mongodb-enterprise-operator.

operator:
name: mongodb-enterprise-operator

Permite que el operador de Kubernetes recopile y envíe telemetría. El valor predeterminado para la siguiente configuración true es.

operator:
telemetry:
# Enables telemetry. Setting this to "false" will stop all telemetry.
enabled: true
# Adds RBAC clusterRole for kube-system UID detection for the Kubernetes cluster UID.
# Adds RBAC clusterRole for RBAC for nodes. We are listing exactly one node to detect the cluster provider (for example, eks).
# Adds RBAC clusterRole for /version query for detecting Kubernetes server version.
installClusterRole: true
collection:
# Controls how often the Kubernetes Operator collects and saves the data to the telemetry ConfigMap. It doesn't control whether this data is sent to MongoDB for analysis.
# Valid time units for frequency are "m", or "h". Anything less than one minute defaults to 1h.
frequency: 1h
# Enables the Kubernetes Operator to collect and send cluster-level telemetry.
# Note: the cluster UUID is unique but random and MongoDB has no way to map this to a customer.
clusters:
enabled: true
# Enables the Kubernetes Operator to collect and send deployment-level telemetry.
deployments:
enabled: true
# Enables the Kubernetes Operator to collect and send Kubernetes Operator-level telemetry.
operators:
enabled: true
# Enables sending the collected telemetry to MongoDB.
send:
enabled: true
# Controls how often the Kubernetes Operator sends the collected the data to MongoDB for analysis.
# Valid time units are "h". Anything less than one hour defaults to 168h, which is one week.
frequency: 168h

Determina si el operador de Kubernetes almacena secretos en HashiCorp Vault. Para obtener más información, consulte Configurar la herramienta de almacenamiento de secretos. Si usa TLS con Vault, también debe especificar operator.vaultSecretBackend.tlsSecretRef.

El valor predeterminado es falso.

operator:
# Set the following setting to "true" so that the MongoDB Kubernetes Operator stores secrets in Vault.
vaultSecretBackend: false

Obligatorio si usa TLS con Vault. El secreto TLS usado en ca.crt la ca.crt configuración de Vault contiene una entrada. El contenido de la entrada debe coincidir con el certificado de la CA utilizada para generar los certificados TLS de Vault. El operador de Kubernetes almacena este secreto TLS en su herramienta de almacenamiento de secretos. Para obtener más información, consulte Configurar el almacenamiento de secretos. Requiere que operator.vaultSecretBackend.enabled esté configurado true en.

operator:
vaultSecretBackend: true
tlsSecretRef: "vault-tls-secret"

Versión del operador de Kubernetes que desea implementar.

El valor predeterminado 1.33 es.

operator:
version: 1.33

Espacios de nombres que el operador de Kubernetes supervisa para MongoDB detectar cambios en el recurso. Si este espacio de nombres difiere del predeterminado, asegúrese de que la cuenta de servicio del operador de Kubernetes pueda acceder a él.

  • Para observar todos los espacios de nombres, especifique * y asigne ClusterRole a la mongodb-enterprise-operator ServiceAccount que utiliza para ejecutar el operador de Kubernetes.

  • Para ver un subconjunto de todos los espacios de nombres, especifíquelos en una lista separada por comas, escape cada coma con una barra invertida y rodee la lista entre comillas,"operator.watchNamespace=ns1\,ns2" como.

Monitorear un subconjunto de espacios de nombres es útil en implementaciones donde una sola instancia de Kubernetes Operator monitorea un tipo de recurso de clúster diferente. Por ejemplo, puede configurar Kubernetes Operator para que monitoree MongoDB recursos en un subconjunto de espacios de nombres y MongoDBMultiCluster recursos en otro. Para evitar condiciones de competencia durante la conciliación de recursos, asegúrese de asignar el alcance a un subconjunto de espacios de nombres distinto para cada tipo de recurso personalizado que desee que Kubernetes Operator monitorice.

Importante

Para implementar Ops Manager y MongoDB recursos en uno o más espacios de nombres distintos de aquel en el que implementa el operador de Kubernetes, consulte Establecer el alcance para la implementación del operador de Kubernetes de MongoDB Enterprise para conocer los valores que debe usar y los pasos adicionales que podría tener que realizar.

El valor predeterminado <metadata.namespace> es.

# 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

Recursos personalizados monitoreados por el Operador de Kubernetes.

El operador de Kubernetes instala CustomResourceDefinitions y supervisa únicamente los recursos que usted especifica.

El operador de Kubernetes acepta los siguientes valores:

Valor
Descripción

mongodb

Instale CustomResourceDefinitions para los recursos de la base de datos y observe dichos recursos.

mongodbusers

Instale CustomResourceDefinitions para los recursos de usuario de MongoDB y observe esos recursos.

opsmanagers

Instale CustomResourceDefinitions para los recursos de Ops Manager y supervise esos recursos.

operator:
watchedResources:
- mongodbusers
- mongodb
- opsmanagers

Nombre de la imagen de Ops Manager.

El valor predeterminado es mongodb-enterprise-ops-manager.

opsManager:
name: mongodb-enterprise-ops-manager

URL del registro de contenedores de Quay para imágenes de MongoDB. Se añade el nombre del agente y se establece la variable de entorno MDB_AGENT_IMAGE_REPOSITORY con la URL completa desde la que StatefulSet descarga la imagen del agente de MongoDB para las implementaciones de bases de datos. Para obtener más información, consulte Imágenes de contenedor.

El valor predeterminado es quay.io/mongodb.

registry:
agent: quay.io/mongodb/

URL del repositorio desde el cual el operador de Kubernetes descarga la imagen de la base de datos de la aplicación.

El valor predeterminado es quay.io/mongodb.

registry:
appDb: quay.io/mongodb

El valor predeterminado es registry.connect.redhat.com/mongodb.

registry:
appDb: registry.connect.redhat.com/mongodb

secreto que contiene las credenciales necesarias para extraer imágenes del repositorio.

Importante

OpenShift requiere esta configuración. Defínelo en la configuración imagePullSecrets en este archivo o pásalo cuando instales el Operador de Kubernetes usando Helm. Si se utiliza el Operador de Kubernetes para implementar recursos de MongoDB en múltiples espacios de nombres o con un alcance en todo el clúster, crea el secreto solo en el espacio de nombres donde instalaste el Operador de Kubernetes. El operador de Kubernetes sincroniza el secreto en todos los namespaces observados.

registry:
# Specify the secret in the ``imagePullSecrets`` setting. If you
# use the MongoDB Kubernetes Operator to deploy MongoDB resources
# into multiple namespaces, create the secret only in the namespace
# where you installed the Operator. The Operator synchronizes
# the secret across all watched namespaces.
imagePullSecrets: <openshift-pull-secret>

URL del repositorio desde el que initContainer se descarga la imagen que contiene los scripts de inicio de la base de datos de la aplicación y la sonda de preparación.

El valor predeterminado es quay.io/mongodb.

registry:
initAppDb: quay.io/mongodb

El valor predeterminado es registry.connect.redhat.com/mongodb.

registry:
initAppDb: registry.connect.redhat.com/mongodb

URL del repositorio desde el que initContainer se descarga la imagen que contiene los scripts de inicio de Ops Manager y la sonda de preparación.

El valor predeterminado es quay.io/mongodb.

registry:
initOpsManager: quay.io/mongodb

El valor predeterminado es registry.connect.redhat.com/mongodb.

registry:
initOpsManager: registry.connect.redhat.com/mongodb

Repositorio desde el cual se extrae la imagen del operador de Kubernetes. Especifique este valor si desea extraer la imagen del operador de Kubernetes desde un repositorio privado.

El valor predeterminado es quay.io/mongodb.

registry:
operator: quay.io/mongodb

El valor predeterminado es registry.connect.redhat.com/mongodb.

registry:
operator: registry.connect.redhat.com/mongodb

URL del repositorio desde el que se descarga la imagen de un recurso de Ops Manager.

El valor predeterminado es quay.io/mongodb.

registry:
opsManager: quay.io/mongodb

El valor predeterminado es registry.connect.redhat.com/mongodb.

registry:
opsManager: registry.connect.redhat.com/mongodb

Especificaciones para los límites de consumo de CPU y memoria del operador de Kubernetes.

Ejemplo

# operator cpu requests and limits
resources:
requests:
cpu: 500m
memory: 200Mi

Especificaciones para los límites de consumo de CPU y memoria del operador de Kubernetes.

Ejemplo

# operator cpu requests and limits
resources:
limits:
cpu: 1100m
memory: 1Gi

Indicador que indica si se pueden definir subrecursos en el operador de Kubernetes CustomResourceDefinition.

El valor predeterminado es verdadero.

subresourceEnabled: true

La bandera le permite configurar webhooks de admisión de validación de usuarios para roles de clúster de Kubernetes.

Establezca esta bandera en false si su implementación no permite roles de clúster de Kubernetes.

El valor predeterminado es verdadero.

webhook:
installClusterRole: false

Volver

Operador `kubectl` y `oc`