Join us at MongoDB.local London on 7 May to unlock new possibilities for your data. Use WEB50 to save 50%.
Register now >
Docs Menu
Docs Home
/ /

Configuración de instalación de Helm para el operador de controladores MongoDB para Kubernetes

Para brindar 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 mongodb-kubernetes-operator mongodb/mongodb-kubernetes \
--set registry.pullPolicy='IfNotPresent'

Nombre de la imagen del agente de MongoDB. Esta configuración se añade a registry.agent y establece el Variable de entornoMDB_AGENT_IMAGE_REPOSITORY al máximo 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.

agent:
name: mongodb-agent

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

El valor por defecto es mongodb-kubernetes-appdb.

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

Versión de la imagen que contiene el MongoDB Agent que la Base de Datos de la Aplicación utiliza.

El valor predeterminado es 10.2.15.5958-1_4.2.11.

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

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

El valor por defecto es mongodb-enterprise-database.

database:
name: mongodb-enterprise-database
version: 1.2.0

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

database:
name: mongodb-enterprise-database
version: 1.2.0

Nombre de la imagen initContainer que contiene los scripts de inicio de la Base de Datos de la Aplicación y el chequeo de disponibilidad.

El valor por defecto es mongodb-kubernetes-init-appdb.

database:
name: mongodb-kubernetes-init-appdb
version: 1.2.0

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.2.0 es.

database:
name: mongodb-kubernetes-init-appdb
version: 1.2.0

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

El valor por defecto es mongodb-kubernetes-init-database.

database:
name: mongodb-kubernetes-init-database
version: 1.2.0

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

El valor predeterminado 1.2.0 es.

database:
name: mongodb-kubernetes-init-database
version: 1.2.0

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

El valor por defecto es mongodb-kubernetes-init-ops-manager.

database:
name: mongodb-kubernetes-init-ops-manager
version: 1.2.0

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.2.0 es.

database:
name: mongodb-kubernetes-init-ops-manager
version: 1.2.0

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

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

El valor por defecto es false.

# 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

El valor por defecto 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.

El valor por defecto es ubi8. Recomendamos utilizar 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 es 10.

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 usando certificates.k8s.io API.

needsCAInfrastructure: true

El valor predeterminado es verdadero.

Nombre del contenedor del operador de Kubernetes.

El valor predeterminado es mongodb-kubernetes-operator.

operator:
deployment_name: mongodb-kubernetes-operator

Etiqueta para el entorno de implementación de Kubernetes Operators. Este valor afecta los tiempos de espera por defecto y el nivel y formato del registro:

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

dev

debug

text

prod

información

json

El valor por defecto 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

Este ajuste se aplica a todas tus implementaciones, incluidas las existentes. Para habilitar contenedores estáticos para una única implementación, usa metadata.annotations.mongodb.com/v1.architecture en el recurso MongoDB en su lugar.

operator.mdbDefaultArchitecture: static

Nombre que Kubernetes asigna a los objetos de Kubernetes operador, 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-kubernetes-operator.

operator:
name: mongodb-kubernetes-operator

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

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 Secret almacenamiento. Si utiliza TLS con Vault, también debe especificar operator.vaultSecretBackend.tlsSecretRef.

El valor por defecto es false.

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.2.0 es.

operator:
version: 1.2.0

Espacios de nombres que el Operador de Kubernetes monitorea para cambios en los recursos de MongoDB. Si este namespace es diferente del por defecto, asegúrate de que la ServiceAccount del Operador de Kubernetes puede acceder a este namespace.

  • Para vigilar todos los namespaces, especifique * y asigne el ClusterRole en el ServiceAccount mongodb-kubernetes-operator que utiliza para ejecutar el Kubernetes operador.

  • 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 namespaces distintos al de la implementación del Kubernetes Operator, consulte Configurar el Alcance para Controladores de MongoDB para la implementación del Kubernetes Operator para ver los valores que debe utilizar y los pasos adicionales que podría tener que realizar.

El valor predeterminado <metadata.namespace> es.

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

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

Instala los CustomResourceDefinitions para recursos de base de datos y monitorea esos recursos.

mongodbusers

Instala las definiciones de recursos personalizados para los recursos de usuario de MongoDB y observa 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 por defecto es mongodb-enterprise-ops-manager.

opsManager:
name: mongodb-enterprise-ops-manager

URL para el Quay registro de contenedores para las imágenes de MongoDB. El agent.name se añade y establece la variable de entorno MDB_AGENT_IMAGE_REPOSITORY al URL completo desde donde el StatefulSet descarga la imagen del MongoDB Agent para implementaciones de la base de datos. Para aprender más, consulta Imágenes de contenedores.

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 por defecto 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 por defecto es registry.connect.redhat.com/mongodb.

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

URL del repositorio desde el cual se descarga la imagen initContainer que contiene los scripts de inicio de Ops Manager y la prueba de estado de disposición.

El valor predeterminado es quay.io/mongodb.

registry:
initOpsManager: quay.io/mongodb

El valor por defecto 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 por defecto 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 por defecto 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

El flag te permite configurar los webhooks de validación de admisión para Kubernetes roles de clúster .

Establece esta opción en false si tu implementación no permite roles de clúster de Kubernetes.

El valor predeterminado es verdadero.

webhook:
installClusterRole: false

Volver

Operador `kubectl` & `oc`