Configuración de instalación de los controladores de MongoDB para el operador de Kubernetes: kubectl y oc
Para proporcionar opciones de configuración opcionales, edita el archivo YAML que corresponde a tu tipo de implementación en el directorio donde clonaste el repositorio del operador de Kubernetes:
Vanilla Kubernetes using kubectl: mongodb-kubernetes.yaml
OpenShift usando oc: mongodb-kubernetes-openshift.yaml
Si la configuración que deseas agregar no existe en el archivo YAML, agrégala como un nuevo arreglo de mapeos de pares clave-valor en spec.template.spec.containers.name.env. colección:
Establece el valor de la clave spec.template.spec.contenedores.name.env.name al nombre de la configuración.
Establezca el valor de la clave spec.template.spec.contenedores.name.env.value con el valor del ajuste.
Para completar los valores de las imágenes de contenedor, consulta Imágenes de contenedor.
spec: template: spec: serviceAccountName: mongodb-kubernetes-operator containers: - name: mongodb-kubernetes-operator image: <operatorVersionUrl> imagePullPolicy: <policyChoice> env: - name: INIT_APPDB_IMAGE_REPOSITORY value: quay.io/mongodb/mongodb-kubernetes-init-appdbAGENT_IMAGE
URL del repositorio del que el Kubernetes Operator descarga la imagen del MongoDB Agent para implementaciones de bases de datos no estáticas. Incluye la versión del MongoDB Agent. Para obtener más información, consulta Imágenes de contenedores.
spec: template: spec: serviceAccountName: mongodb-kubernetes-operator containers: - name: mongodb-kubernetes-operator image: <operatorVersionUrl> imagePullPolicy: <policyChoice> env: - name: AGENT_IMAGE value: quay.io/mongodb/mongodb-agent:<version>APPDB_AGENT_VERSION
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.
spec: template: spec: serviceAccountName: mongodb-kubernetes-operator containers: - name: mongodb-kubernetes-operator image: <operatorVersionUrl> imagePullPolicy: <policyChoice> env: - name: APPDB_AGENT_VERSION value: 10.2.15.5958-1_4.2.11APPDB_IMAGE_REPOSITORY
URL del repositorio desde el cual el Operador de Kubernetes descarga la imagen de la base de datos de la aplicación.
spec: template: spec: serviceAccountName: mongodb-kubernetes-operator containers: - name: mongodb-kubernetes-operator image: <operatorVersionUrl> imagePullPolicy: <policyChoice> env: - name: APPDB_IMAGE_REPOSITORY value: quay.io/mongodb/mongodb-kubernetes-appdb-ubiCLUSTER_CLIENT_TIMEOUT
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.
spec: template: spec: serviceAccountName: mongodb-kubernetes-operator containers: - name: mongodb-kubernetes-operator image: <operatorVersionUrl> imagePullPolicy: <policyChoice> env: - name: CLUSTER_CLIENT_TIMEOUT value: 10DATABASE_VERSION
Versión de la imagen de MongoDB Enterprise base de datos que implementa el operador de Kubernetes.
spec: template: spec: serviceAccountName: mongodb-kubernetes-operator containers: - name: mongodb-kubernetes-operator image: <operatorVersionUrl> imagePullPolicy: <policyChoice> env: - name: DATABASE_VERSION value: 1.6.1IMAGE_PULL_POLICY
Política de extracción para la imagen de base de datos MongoDB Enterprise que el operador de Kubernetes implementa.
El Operador de Kubernetes acepta los siguientes valores: Always, IfNotPresent, Never.
El valor por defecto es Always.
INIT_APPDB_IMAGE_REPOSITORY
URL del repositorio desde el cual se descargar la imagen initContainer que contiene los scripts de inicio de la base de datos de la aplicación y la sonda de preparación.
spec: template: spec: serviceAccountName: mongodb-kubernetes-operator containers: - name: mongodb-kubernetes-operator image: <operatorVersionUrl> imagePullPolicy: <policyChoice> env: - name: INIT_APPDB_IMAGE_REPOSITORY value: quay.io/mongodb/mongodb-kubernetes-init-appdbINIT_APPDB_VERSION
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.6.1.
spec: template: spec: serviceAccountName: mongodb-kubernetes-operator containers: - name: mongodb-kubernetes-operator image: <operatorVersionUrl> imagePullPolicy: <policyChoice> env: - name: INIT_APPDB_VERSION value: 1.6.1INIT_DATABASE_IMAGE_REPOSITORY
URL del repositorio desde el cual se descarga la imagen initContainer que contiene los scripts de inicio de MongoDB Agent y la sonda de preparación.
spec: template: spec: serviceAccountName: mongodb-kubernetes-operator containers: - name: mongodb-kubernetes-operator image: <operatorVersionUrl> imagePullPolicy: <policyChoice> env: - name: INIT_DATABASE_IMAGE_REPOSITORY value: quay.io/mongodb/mongodb-kubernetes-init-databaseINIT_DATABASE_VERSION
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.6.1.
spec: template: spec: serviceAccountName: mongodb-kubernetes-operator containers: - name: mongodb-kubernetes-operator image: <operatorVersionUrl> imagePullPolicy: <policyChoice> env: - name: INIT_DATABASE_VERSION value: 1.6.1INIT_OPS_MANAGER_IMAGE_REPOSITORY
URL del repositorio desde el cual se descarga la imagen initContainer que contiene los scripts de inicio de MongoDB Ops Manager y la sonda de preparación.
spec: template: spec: serviceAccountName: mongodb-kubernetes-operator containers: - name: mongodb-kubernetes-operator image: <operatorVersionUrl> imagePullPolicy: <policyChoice> env: - name: INIT_OPS_MANAGER_IMAGE_REPOSITORY value: quay.io/mongodb/mongodb-kubernetes-init-ops-managerINIT_OPS_MANAGER_VERSION
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.6.1.
spec: template: spec: serviceAccountName: mongodb-kubernetes-operator containers: - name: mongodb-kubernetes-operator image: <operatorVersionUrl> imagePullPolicy: <policyChoice> env: - name: INIT_OPS_MANAGER_VERSION value: 1.6.1LOG_FILE_PATH
Ruta a los archivos de copia de seguridad rotados de readiness.log mantenidos por la Prueba de preparación.
El valor por defecto es /var/log/mongodb-mms-automation/readiness.log.
spec: template: spec: serviceAccountName: mongodb-kubernetes-operator containers: - name: mongodb-kubernetes-operator image: <operatorVersionUrl> imagePullPolicy: <policyChoice> env: - name: LOG_FILE_PATH value: /var/log/mongodb-mms-automation/readiness.logCONTEXTOS DE SEGURIDAD GESTIONADOS
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.
spec: template: spec: serviceAccountName: mongodb-kubernetes-operator containers: - name: mongodb-kubernetes-operator image: <operatorVersionUrl> imagePullPolicy: <policyChoice> env: - name: MANAGED_SECURITY_CONTEXT value: falseEl valor por defecto es true.
spec: template: spec: serviceAccountName: mongodb-kubernetes-operator containers: - name: mongodb-kubernetes-operator image: <operatorVersionUrl> imagePullPolicy: <policyChoice> env: - name: MANAGED_SECURITY_CONTEXT value: trueMDB_AGENT_IMAGE_REPOSITORY
URL del repositorio desde donde el Kubernetes Operator descarga la imagen de MongoDB Agent para implementaciones de bases de datos. Si deseas obtener más información, consulta Imágenes de contenedores.
spec: template: spec: serviceAccountName: mongodb-kubernetes-operator containers: - name: mongodb-kubernetes-operator image: <operatorVersionUrl> imagePullPolicy: <policyChoice> env: - name: MDB_AGENT_IMAGE_REPOSITORY value: quay.io/mongodb/mongodb-agentMDB_APPDB_ASSUME_OLD_FORMAT
El valor por defecto es false, que actualiza automáticamente el sufijo de la imagen.
spec: template: spec: serviceAccountName: mongodb-kubernetes-operator containers: - name: mongodb-kubernetes-operator image: <operatorVersionUrl> imagePullPolicy: <policyChoice> env: - name: MDB_APPDB_ASSUME_OLD_FORMAT value: falseMDB_AUTOMATIC_RECOVERY_ENABLE
Indicador que determina si el Kubernetes Operator permite la recuperación automática de recursos MongoDB por pod.
El valor por defecto es true.
spec: template: spec: serviceAccountName: mongodb-kubernetes-operator containers: - name: mongodb-kubernetes-operator image: <operatorVersionUrl> imagePullPolicy: <policyChoice> env: - name: MDB_AUTOMATIC_RECOVERY_ENABLE value: falseMDB_AUTOMATIC_RECOVERY_BACKOFF_TIME_S
Número de segundos que un recurso personalizado puede permanecer en un estado Pending o Failed antes de que el Operador de Kubernetes recupere automáticamente tus recursos MongoDB.
El valor por defecto es de 1200 segundos (20 minutos).
Para desactivar la recuperación automática, establezca la variable de entorno MDB_AUTOMATIC_RECOVERY_ENABLE en false.
spec: template: spec: serviceAccountName: mongodb-kubernetes-operator containers: - name: mongodb-kubernetes-operator image: <operatorVersionUrl> imagePullPolicy: <policyChoice> env: - name: MDB_AUTOMATIC_RECOVERY_BACKOFF_TIME_S value: 3600MDB_DEFAULT_ARCHITECTURE
Determina la arquitectura de contenedor utilizada por todas sus implementaciones:
Los contenedores no estáticos por defecto que descargan el binario de MongoDB en tiempo de ejecución, o
Contenedores estáticos (Visualización pública) que son inmutables en tiempo de ejecución.
Para habilitar contenedores estáticos para una sola implementación, utilice metadata.annotations.mongodb.com/v1.architecture en el recurso de MongoDB en su lugar.
El valor es por defecto non-static.
Para habilitar contenedores estáticos, configúrelo en static.
spec: template: spec: serviceAccountName: mongodb-kubernetes-operator containers: - name: mongodb-kubernetes-operator image: <operatorVersionUrl> imagePullPolicy: <policyChoice> env: - name: MDB_DEFAULT_ARCHITECTURE value: staticMDB_IMAGE_TYPE
El sufijo de la imagen de la base de datos de la aplicación.
El valor es por defecto -ubi8.
spec: template: spec: serviceAccountName: mongodb-kubernetes-operator containers: - name: mongodb-kubernetes-operator image: <operatorVersionUrl> imagePullPolicy: <policyChoice> env: - name: MDB_IMAGE_TYPE value: ubi8MDB_WITH_AGENT_FILE_LOGGING
Controla si las entradas de registro se envían a la salida estándar, como cuando se ejecuta kubectl describe.
El valor es por defecto true.
spec: template: spec: serviceAccountName: mongodb-kubernetes-operator containers: - name: mongodb-kubernetes-operator image: <operatorVersionUrl> imagePullPolicy: <policyChoice> env: - name: MDB_WITH_AGENT_FILE_LOGGING value: trueMDB_MAX_CONCURRENT_RECONCILES
El número de procesos de reconciliación simultáneos que el Operador de Kubernetes puede realizar.
Ejemplo
spec: template: spec: serviceAccountName: mongodb-kubernetes-operator containers: - env: - name: MDB_MAX_CONCURRENT_RECONCILES value: "10"MDB_OPERATOR_TELEMETRY_ENABLED
Habilita al Operador de Kubernetes para recopilar y enviar telemetría a MongoDB para su análisis. Además, MDB_OPERATOR_TELEMETRY_SEND_ENABLED debe establecerse en true para que el operador de Kubernetes envíe telemetría a MongoDB.
El valor por defecto es true. Si se fija en false, el operador Kubernetes no recopila ni envía telemetría a MongoDB.
spec: template: spec: serviceAccountName: mongodb-kubernetes-operator containers: - env: - name: MDB_OPERATOR_TELEMETRY_ENABLED value: "true"MDB_OPERATOR_TELEMETRY_SEND_ENABLED
Permite que el Operador de Kubernetes envíe telemetría a MongoDB para su análisis. También se debe establecer MDB_OPERATOR_TELEMETRY_ENABLED en true para que el Operador de Kubernetes envíe telemetría.
El valor por defecto es true. Si se establece en false, el operador de Kubernetes recopila telemetría en el ConfigMap llamado mongodb-kubernetes-operator-telemetry, pero no la envía a MongoDB.
spec: template: spec: serviceAccountName: mongodb-kubernetes-operator containers: - env: - name: MDB_OPERATOR_TELEMETRY_SEND_ENABLED value: "true"MDB_PROPAGATE_PROXY_ENV
Permite que el operador de Kubernetes funcione en entornos con restricciones de proxy. Establezca esta variable en true junto con la configuración estándar de proxy (HTTP_PROXY, HTTPS_PROXY, NO_PROXY) para propagar estos ajustes de proxy desde su pod de operador de Kubernetes a los agentes de MongoDB, lo que permite que todos los componentes se comuniquen de manera efectiva a través de los proxies especificados.
Ejemplo
spec: template: spec: serviceAccountName: mongodb-kubernetes-operator containers: - env: - name: MDB_PROPAGATE_PROXY_ENV value: "true" - name: HTTP_PROXY value: "http://example-http-proxy:7312" - name: HTTPS_PROXY value: "https://secure-proxy:3242" - name: NO_PROXY value: "google.com"MONGODB_ENTERPRISE_DATABASE_IMAGE
URL de la imagen de la base de datos empresarial de MongoDB que despliega el Operador Kubernetes.
spec: template: spec: serviceAccountName: mongodb-kubernetes-operator containers: - name: mongodb-kubernetes-operator image: <operatorVersionUrl> imagePullPolicy: <policyChoice> env: - name: MONGODB_ENTERPRISE_DATABASE_IMAGE value: quay.io/mongodb/mongodb-kubernetes-databaseMONGODB_REPO_URL
URL del repositorio base para las imágenes oficiales del servidor de MongoDB.
El valor por defecto es quay.io/mongodb.
spec: template: spec: serviceAccountName: mongodb-kubernetes-operator containers: - name: mongodb-kubernetes-operator image: <operatorVersionUrl> imagePullPolicy: <policyChoice> env: - name: MONGODB_REPO_URL value: quay.io/mongodbOPERATOR_ENV
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 |
|---|---|---|
| debug | text |
| información | json |
El valor por defecto es prod.
OPS_MANAGER_IMAGE_PULL_POLICY
Política de extracción para las imágenes de Ops Manager que implementa el operador de Kubernetes.
El operador de Kubernetes admite los siguientes valores: Always (Siempre), IfNotPresent (Si no está presente) y Never (Nunca).
El valor por defecto es Always.
spec: template: spec: serviceAccountName: mongodb-kubernetes-operator containers: - name: mongodb-kubernetes-operator image: <operatorVersionUrl> imagePullPolicy: <policyChoice> env: - name: OPS_MANAGER_IMAGE_PULL_POLICY value: AlwaysOPS_MANAGER_IMAGE_REPOSITORY
URL del repositorio desde el cual se descarga la imagen para un recurso de Ops Manager.
spec: template: spec: serviceAccountName: mongodb-kubernetes-operator containers: - name: mongodb-kubernetes-operator image: <operatorVersionUrl> imagePullPolicy: <policyChoice> env: - name: OPS_MANAGER_IMAGE_REPOSITORY value: quay.io/mongodb/mongodb-enterprise-ops-manager-ubiREADINESS_PROBE_LOGGER_BACKUPS
La cantidad de archivos rotados de copia de seguridad de readiness.log mantenidos por la Sonda de Preparación.
El valor por defecto es 5.
spec: template: spec: serviceAccountName: mongodb-kubernetes-operator containers: - name: mongodb-kubernetes-operator image: <operatorVersionUrl> imagePullPolicy: <policyChoice> env: - name: READINESS_PROBE_LOGGER_BACKUPS value: 1REGISTRADOR DE COMPROBACIÓN DE PREPARACIÓN COMPRIMIR
Controla si los archivos de copia de seguridad rotados readiness.log mantenidos por la Prueba de Preparación se comprimen en readiness.log.gz archivos.
El valor por defecto es false, que deja los archivos readiness.log sin comprimir.
spec: template: spec: serviceAccountName: mongodb-kubernetes-operator containers: - name: mongodb-kubernetes-operator image: <operatorVersionUrl> imagePullPolicy: <policyChoice> env: - name: READINESS_PROBE_LOGGER_COMPRESS value: trueREADINESS_PROBE_LOGGER_MAX_SIZE
El tamaño máximo del archivo readiness.log en MB.
El valor es 100.
spec: template: spec: serviceAccountName: mongodb-kubernetes-operator containers: - name: mongodb-kubernetes-operator image: <operatorVersionUrl> imagePullPolicy: <policyChoice> env: - name: READINESS_PROBE_LOGGER_MAX_SIZE value: 125READINESS_PROBE_LOGGER_MAX_AGE
El número máximo de días para conservar los archivos rotados de readiness.log, comenzando con la fecha en la marca de tiempo del archivo. Si se establece en 0, el operador de Kubernetes no remueve archivos readiness.log en función de la antigüedad, sino que confía en READINESS_PROBE_LOGGER_BACKUPS para determinar la retención.
El valor por defecto es 0.
spec: template: spec: serviceAccountName: mongodb-kubernetes-operator containers: - name: mongodb-kubernetes-operator image: <operatorVersionUrl> imagePullPolicy: <policyChoice> env: - name: READINESS_PROBE_LOGGER_MAX_AGE value: 3WATCH_NAMESPACE
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-operatorque 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>.