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'
agente.name
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 base de datos de aplicaciones
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 appDb
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.base.de.datos
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
base de datos.versión
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
initAppDb.nombre
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
initAppDb.version
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
initDatabase.nombre
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
initDatabase.versión
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
initOpsManager.nombre
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
initOpsManager.versión
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
Contexto de seguridad gestionada
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
mongodb.appdbAssumeOldFormat
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
mongodb.imageType
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
multiCluster.clusterClientTimeout
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
namespace
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
needsCAInfrastructure
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.
operador.nombre_de_implementación
Nombre del contenedor del operador de Kubernetes.
El valor predeterminado es mongodb-enterprise-operator.
operator: deployment_name: mongodb-enterprise-operator
operador.env
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 |
|---|---|---|
| debug | text |
| 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
operador.maxConcurrentReconciles
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
operador.mdbDefaultArchitecture
Determina la arquitectura de contenedor utilizada por todas sus implementaciones:
Los contenedores no estáticos predeterminados que descargan el binario de MongoDB en tiempo de ejecución, o
Contenedores estáticos (vista previa pública) que son inmutables en tiempo de ejecución.
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
operador.nombre
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
operador.telemetría
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
operador.vaultSecretBackend.enabled
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
operador.vaultSecretBackend.tlsSecretRef
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"
operador.versión
Versión del operador de Kubernetes que desea implementar.
El valor predeterminado 1.33 es.
operator: version: 1.33
operador.watchNamespace
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-operatorServiceAccount 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
operador.watchedResources
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 |
|---|---|
| Instale CustomResourceDefinitions para los recursos de la base de datos y observe dichos recursos. |
| Instale CustomResourceDefinitions para los recursos de usuario de MongoDB y observe esos recursos. |
| Instale CustomResourceDefinitions para los recursos de Ops Manager y supervise esos recursos. |
operator: watchedResources: - mongodbusers - mongodb - opsmanagers
opsManager.nombre
Nombre de la imagen de Ops Manager.
El valor predeterminado es mongodb-enterprise-ops-manager.
opsManager: name: mongodb-enterprise-ops-manager
agente de registro
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/
registro.appDb
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
registro.imagePullSecrets
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>
registry.initAppDb
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
registro.initOpsManager
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
operador de registro
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
registro.opsManager
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
operador.recursos.solicitudes
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
operador.recursos.límites
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
subrecurso habilitado
Indicador que indica si se pueden definir subrecursos en el operador de Kubernetes CustomResourceDefinition.
El valor predeterminado es verdadero.
subresourceEnabled: true
webhook.installClusterRole
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