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
/ /

Controladores MongoDB para la configuración de instalación de Helm del operador de Kubernetes

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

  • Vanilla Kubernetes: values.yaml

  • OpenShift: values-openshift.yaml

Para obtener más información sobre los ajustes opcionales de instalación del Operador de Kubernetes, consulta Ajustes de Instalación de Helm del Operador.

Ejecuta el comando como en el siguiente ejemplo y las opciones que hayas especificado se pasarán a tu configuración:

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

Nombre de la imagen del MongoDB Agent. Esta configuración se agrega a registry.agent y establece el MDB_AGENT_IMAGE_REPOSITORY variable de entorno a la totalidad URL de la que el StatefulSet descarga la imagen del MongoDB Agent para la implementación de la base de datos. Para obtener más información, consulte Imágenes de contenedores.

El valor por defecto es mongodb-agent-ubi.

agent:
name: mongodb-agent-ubi

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 por defecto 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.1.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.1.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.1.0

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

El valor por defecto es 1.1.0.

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

Nombre de la imagen initContainer que contiene los scripts de inicio del MongoDB Agent y la verificación de disponibilidad.

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

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

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

El valor por defecto es 1.1.0.

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

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

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

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

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

El valor por defecto es 1.1.0.

database:
name: mongodb-kubernetes-init-ops-manager
version: 1.1.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 por defecto es true.

# 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 servidor API de Kubernetes del clúster. Este tiempo de espera se establece para todos los clústeres de Kubernetes en las implementaciones de MongoDB con múltiples clústeres de Kubernetes. Si el operador de Kubernetes no recibe una respuesta del servidor API de Kubernetes dentro del tiempo especificado, registra el estado del clúster como "no saludable". Para obtener más información, consulta Solución de problemas de clústeres de Kubernetes.

El valor por defecto es 10.

multiCluster:
clusterClientTimeout: 10

namespaces en los que quieres implementar el operador de Kubernetes.

Para utilizar un namespace distinto al por defecto, especifica el namespace en el que deseas implementar el Kubernetes Operator.

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 por defecto es true.

Nombre del contenedor del operador de Kubernetes.

El valor por defecto 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 reconciliaciones concurrentes que el Operador de Kubernetes puede realizar. Establece MaxConcurrentReconciles. Para aprender más, vea el Operador de Kubernetes Despliegue de Múltiples Conjuntos de Réplicas 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 Kubernetes Operator.

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

Requerido si se utiliza TLS con Vault. El secreto TLS utilizado en tu configuración Vault que contiene una entrada de ca.crt. El contenido del registro ca.crt 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 en true.

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

Versión del operador de Kubernetes que desea implementar.

El valor por defecto es 1.1.0.

operator:
version: 1.1.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 monitorear un subconjunto de todos los espacios de nombres, especifícalos en una lista separada por comas, escapa cada coma con una barra invertida y rodea la lista con comillas, como en "operator.watchNamespace=ns1\,ns2".

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.

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 por defecto es <metadata.namespace>.

# 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 las CustomResourceDefinitions para y supervisa únicamente los recursos que especifique.

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

Instala los CustomResourceDefinitions para los recursos de Ops Manager y observa 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 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 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 cual la imagen initContainer que contiene los scripts de inicio de la base de datos de la aplicación y el probe de preparación se descarga.

El valor 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 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 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 cual se descarga la imagen para un recurso de Ops Manager.

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

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

El valor por defecto es true.

subresourceEnabled: true

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 por defecto es true.

webhook:
installClusterRole: false

Volver

Operador `kubectl` & `oc`