Docs Menu
Docs Home
/
Enterprise Kubernetes Operator

Notas de versión para MongoDB Enterprise Kubernetes Operator

Publicado el 2024-10-02

  • RecursosMongoDB, AppDB y MongoDBMultiCluster: corrige un error en el que el init contenedor no obtenía el contexto de seguridad predeterminado, que luego era marcado por las políticas de seguridad.

  • Recurso MongoDBMultiCluster: Corrige un error donde no se realizaban validaciones de recursos como parte del ciclo de reconciliación.

Publicado el 2024-08-27

  • Lanzador del agente: Se solucionó un problema que, en algunos casos de resincronización, podía provocar que los datos del diario en /journal se corrompieran. El agente ahora garantiza que no existan datos de diario conflictivos y prioriza los datos /data/journal de. Para desactivar este comportamiento, configure la variable de entorno MDB_CLEAN_JOURNAL en el operador de Kubernetes con un valor distinto 1 de.

  • Recursos MongoDB, AppDB, MongoDBMulti: corrige un problema que garantiza que se utilicen dominios externos connectionString en, si lo configura.

  • Recurso MongoDB: Se elimina la respuesta de pánico si se proporciona una configuración de Horizon con un número inferior al de miembros. El operador de Kubernetes ahora emite un error descriptivo en el estado del recurso MongoDB en estos casos.

  • RecursoMongoDB: corrige un problema por el cual, al crear un recurso en un nuevo proyecto nombrado como prefijo de otro proyecto, fallaba, lo que impedía la creación del recurso MongoDB.

Publicado el 2024-06-21

  • Mejora la utilización de la CPU y el escalamiento vertical del operador de Kubernetes y logra una conciliación más rápida de todos los recursos administrados al permitirle controlar la cantidad de conciliaciones que el operador de Kubernetes puede realizar en paralelo.

    Puede establecer MDB_MAX_CONCURRENT_RECONCILES para la implementación del Operador de Kubernetes o operator.maxConcurrentReconciles en el diagrama de Helm de la instalación del Operador de Kubernetes. Si no se proporciona, el valor predeterminado 1 es. La posibilidad de controlar el número de conciliaciones podría aumentar la carga en Ops Manager y el servidor de la API de Kubernetes en el mismo período. Observe el uso de recursos del Operador de Kubernetes y ajuste operator.resources.requests y operator.resources.limits si es necesario. Para obtener más información,consulte "Administración de recursos para pods y contenedores" en la documentación de Kubernetes.

  • Añade compatibilidad con OpenShift.4.15 Para obtener más información, consulte Compatibilidad de operadores de MongoDB Enterprise y Kubernetes.

  • Añade un parámetro operator.maxConcurrentReconciles que permite controlar el número de conciliaciones que el operador de Kubernetes puede realizar en paralelo. El valor predeterminado es 1.

  • Añade el parámetro operator.webhook.installClusterRole que controla si se instala el rol de clúster, lo que permite al operador de Kubernetes configurar webhooks de admisión. Establezca este parámetro en false cuando no se permitan los roles de clúster. El valor predeterminado true es.

  • MongoDB recurso: corrige un error donde configurar un recurso MongoDB con múltiples entradas en spec.agent.startupOptions provocaba una reconciliación innecesaria adicional del subyacente StatefulSet.

  • Recursos de MongoDB, MongoDBMultiCluster: corrige un error en el que el operador de Kubernetes no observaba los cambios en los509 certificados X- configurados para la autenticación del agente de MongoDB.

  • Recurso MongoDB: corrige un error en el que los indicadores booleanos pasados ​​al Agente MongoDB no se pueden establecer en false si su valor predeterminado true es.

Publicado el 2024-04-30

  • RecursoMongoDBOpsManager. El operador de Kubernetes ya no es compatible con Ops Manager. 5.0 Actualice a una versión posterior de Ops Manager. Si bien Ops Manager 5.0 puede seguir funcionando con el operador de Kubernetes, MongoDB no probará el operador de Kubernetes con Ops 5.0 Manager.

  • RecursoMongoDBOpsManager: Añade compatibilidad para implementar la aplicación Ops Manager en varios clústeres de Kubernetes. Para obtener más información, consulte Implementar recursos de Ops Manager en varios clústeres de Kubernetes.

  • (Vista previa pública) MongoDB, recursos deOpsManager: presenta contenedores estáticos opcionales (vista previa pública) para todo tipo de implementaciones.

    • En esta versión, use contenedores estáticos solo para pruebas. Es posible que se conviertan en la opción predeterminada en una versión posterior.

    • Para activar el modo de contenedores estáticos, configure la variable de entorno MDB_DEFAULT_ARCHITECTURE en el nivel de operador de Kubernetes como static. Como alternativa, anote un recurso personalizado MongoDB o OpsManager específico con mongodb.com/v1.architecture: "static".

    • El operador de Kubernetes facilita la migración fluida entre las arquitecturas estáticas y no estáticas. Para obtener más información, consulte:

  • Recurso OpsManager: agrega el spec.internalConnectivity campo para permitir anulaciones del servicio utilizado por el operador de Kubernetes para garantizar la conectividad interna con los OpsManager pods que alojan el recurso.

  • Recurso deMongoDB: Puede recuperar un recurso debido a una configuración de automatización defectuosa en clústeres fragmentados. En versiones anteriores, se podían recuperar otros tipos de recursos, pero no clústeres fragmentados. Para obtener más información, consulte Recuperar un recurso debido a una configuración de automatización defectuosa.

  • Recursos MongoDB, MongoDBMultiCluster: estos recursos ahora le permiten agregar marcadores de posición en servicios externos.

    • Puede definir anotaciones para servicios externos administrados por el operador de Kubernetes que contengan marcadores de posición que se reemplazarán automáticamente con los valores adecuados. Anteriormente, el operador de Kubernetes configuraba las mismas anotaciones para todos los servicios externos creados para cada pod. A partir de esta versión, puede agregar marcadores de posición para que el operador de Kubernetes pueda personalizar las anotaciones en cada servicio con valores relevantes y únicos para cada pod. Para obtener más información, consulte:

  • El complemento kubectl mongodb: le permite imprimir información de compilación al usar el complemento.

  • El setup comando del kubectl mongodb complemento: Agrega la configuración registry.imagePullSecrets. Si se especifica, las cuentas de servicio creadas hacen referencia al secreto especificado en el imagePullSecrets campo.

  • Mejora el manejo de las configuraciones cuando el operador de Kubernetes supervisa más de un espacio de nombres y cuando se instala el operador de Kubernetes en un espacio de nombres que difiere del espacio de nombres en el que el operador de Kubernetes supervisa los recursos.

  • Optimiza la configuración de roles y permisos en los clústeres de Kubernetes miembro mediante una única cuenta de servicio por clúster de Kubernetes con roles y enlaces de roles configurados correctamente (no se necesitan roles de clúster) para cada espacio de nombres supervisado.

  • Amplía el proceso de conciliación basado en eventos existente con una conciliación basada en tiempo que se activa cada 24 horas. Esto garantiza que todos los agentes de monitorización se actualicen siempre de forma oportuna.

  • Operador de OpenShift y OLM: Se elimina el requisito de permisos para todo el clúster. Anteriormente, el operador de Kubernetes necesitaba estos permisos para configurar los webhooks de admisión. A partir de esta versión,OLM configura automáticamente los webhooks.

  • Añade una variable de entorno MDB_WEBHOOK_REGISTER_CONFIGURATION opcional para el operador de Kubernetes. Esta variable controla si el operador de Kubernetes debe configurar automáticamente el webhook de admisión. El valor predeterminado es true. La variable se establece en false para las implementaciones de OLM y OpenShift.

  • Cambia el valor predeterminado agent.version a 107.0.0.8502-1. Esto cambia el agente predeterminado que se usa en las implementaciones de Kubernetes Operator que se instalan mediante un gráfico de Helm.

  • Agrega la variable operator.additionalArguments con el valor predeterminado de [] para permitirle pasar argumentos adicionales para el binario del operador de Kubernetes.

  • Añade la variable operator.createResourcesServiceAccountsAndRoles con el valor predeterminado true para controlar si se instalan roles y cuentas de servicio para los recursos MongoDB y OpsManager. Al usar el complemento kubectl mongodb para configurar el operador de Kubernetes en una implementación de varios clústeres de Kubernetes, el complemento instala todos los roles y cuentas de servicio necesarios. Por lo tanto, para evitar conflictos, en algunos casos no instale esos roles mediante el gráfico Helm del operador de Kubernetes.

  • Recurso MongoDBMultiCluster: Se solucionó un problema por el cual el operador de Kubernetes informaba que spec.externalAccess.externalDomain spec.clusterSpecList[*].externalAccess.externalDomains los campos y eran obligatorios aunque no se utilizaban. El operador de Kubernetes activaba prematuramente una validación para estos campos cuando los recursos personalizados contenían una spec.externalAccess estructura definida. A partir de esta versión, el operador de Kubernetes comprueba la unicidad de los dominios externos solo cuando se definen en las configuraciones spec.externalAccess.externalDomain spec.clusterSpecList[*].externalAccess.externalDomains o.

  • RecursoMongoDB: corrige un error en el cual, al eliminar un MongoDB recurso, las controlledFeature políticas permanecían establecidas en la instancia relacionada de Ops Manager o Cloud Manager, lo que hacía imposible la limpieza en la interfaz de usuario en caso de perder el operador de Kubernetes.

  • Recurso deOpsManager: Se solucionó un problema por el cual admin-key se eliminaba el secreto al eliminar el recurso OpsManager personalizado. La corrección de la admin-key eliminación del secreto facilita la reinstalación de Ops Manager.

  • Sonda de preparación de MongoDB: Corrige un mensaje de error engañoso para la sonda de preparación:. "... kubelet Readiness probe failed:..." Esto afecta a todas las implementaciones de MongoDB.

  • Operador: corrige casos en los que, en algunas instancias, al comunicarse con el OpsManager recurso personalizado, el operador de Kubernetes omitió la verificación de TLS, incluso si habilitó TLS.

  • Plugin de Kubectl: Los kubectl mongodb binarios del plugin ya están firmados y las firmas se publican con los recursos de la versión. La clave pública está disponible en esta dirección. Los kubectl mongodb binarios del plugin también están notarizados para macOS.

  • Imágenes publicadas firmadas: Todas las imágenes de contenedor publicadas para el operador de Kubernetes están firmadas criptográficamente. Esto es visible en el registro de MongoDB Quay. Puede verificar las firmas con la clave pública de MongoDB. Las imágenes publicadas están disponibles en esta dirección.

Publicado el 2023-12-21

  • Agrega soporte para la próxima serie Ops Manager 7.0.x.

  • Corrige un problema que impedía finalizar una copia de seguridad correctamente.

Publicado el 2023-11-13

  • Soluciona un problema con el escalado de un set de réplicas en una implementación de MongoDB de varios clústeres de Kubernetes cuando un clúster nodo ha perdido la conectividad. La solución aborda ambos procedimientos de recuperación manual y automatizada.

  • Se solucionó un problema que impedía que, al cambiar los nombres del agente de automatización y los registros de auditoría de MongoDB, se enviaran a los registros del pod de Kubernetes. A partir del operador de Kubernetes 1.22, no hay restricciones en los nombres de archivo de los registros de auditoría de MongoDB.

  • Permite que los siguientes nuevos tipos de registros del contenedor mongodb-enterprise-database se transmitan directamente a los registros de Kubernetes:

    • agent-launcher-script

    • monitoring-agent

    • backup-agent

  • Corrige un problema que impedía almacenar el recurso MongoDBUser en el espacio de nombres establecido en spec.mongodbResourceRef.namespace.

Publicado el 2023-09-21

El operador de Kubernetes ya no usa el estado Reconciling para todos los recursos personalizados. En la mayoría de los casos, este estado se ha reemplazado por Pending y su mensaje correspondiente. Si usa herramientas de monitorización con los recursos personalizados de MongoDB implementados con el operador de Kubernetes, es posible que deba ajustar sus paneles y reglas de alerta para usar el nombre de estado Pending.

  • Agrega soporte para configurar logRotate en el Agente MongoDB para la base de datos de la MongoDBOpsManager aplicación agregando los siguientes campos nuevos al recurso:

    • spec.applicationDatabase.agent.logRotate

    • spec.applicationDatabase.agent.logRotate.numTotal

    • spec.applicationDatabase.agent.logRotate.numUncompressed

    • spec.applicationDatabase.agent.logRotate.percentOfDiskspace

    • spec.applicationDatabase.agent.logRotate.sizeThresholdMB

    • spec.applicationDatabase.agent.logRotate.timeThresholdHrs

  • Ahora puede configurar systemLog para enviar registros a una ubicación personalizada distinta del /var/log/mongodb-mms-automation directorio predeterminado utilizando los siguientes campos nuevos en el MongoDBOpsManager recurso:

  • Mejora el manejo de clústeres de bases de datos de aplicaciones en implementaciones MongoDB de clústeres multi-Kubernetes.

    En la última versión, para reducir la escala de los procesos, el operador de Kubernetes requería una conexión al clúster de Kubernetes. Esto podría bloquear el proceso de reconciliación debido a una interrupción completa del clúster.

    En esta versión, el Kubernetes operador gestiona satisfactoriamente los clústeres restantes y saludables siempre que tengan la mayoría de votos para elegir un primario. El Kubernetes operador no remueve los procesos asociados de la configuración de automatización ni de la configuración del set de réplicas. El Kubernetes operador borra estos procesos solo si borras el clúster correspondiente desde spec.applicationDatabase.clusterSpecList o cambias el número de miembros del clúster a cero. Cuando el Kubernetes operador borra estos procesos, escala a la baja el set de réplicas removiendo los procesos vinculados a ese clúster uno por uno.

  • Añade un mecanismo de recuperación automática para los recursos MongoDB cuando un recurso personalizado permanece en estado Pending o Failed durante un periodo prolongado. Además, introduce las siguientes variables de entorno:

    Para obtener más información, consulte Recuperar recursos debido a una configuración de automatización rota.

  • Permite enrutar los registros de auditoría del recurso MongoDB a los registros del pod de Kubernetes. Asegúrese de escribir los registros de auditoría del recurso MongoDB en el archivo /var/log/mongodb-mms-automation/mongodb-audit.log. El pod que aloja el recurso supervisa este archivo y añade su contenido a sus registros de Kubernetes.

    Para enviar registros de auditoría a los registros del pod de Kubernetes, utilice la siguiente configuración de ejemplo en el recurso MongoDB:

    spec:
    additionalMongodConfig:
    auditLog:
    destination: file
    format: JSON
    path: /var/log/mongodb-mms-automation/mongodb-audit.log

    El operador de Kubernetes etiqueta las entradas del registro de auditoría con la clave mongodb-audit en los registros del pod.

    Para extraer entradas del registro de auditoría, utilice un comando similar al siguiente ejemplo:

    kubectl logs -c mongodb-enterprise-database replica-set-0 | \
    jq -r 'select(.logType == "mongodb-audit") | .contents'

Corrige un problema por el cual no se podía establecer spec.backup.autoTerminateOnDeletion el true valor en para clústeres fragmentados. Este valor controla si el operador de Kubernetes detiene y finaliza la copia de seguridad al eliminar un recurso de MongoDB. Si se omite, el valor predeterminado false es.

Publicado el 2023-08-25

  • Cambia el nombre de la variable de entorno CURRENT_NAMESPACE NAMESPACEa. Esta variable rastrea el espacio de nombres del operador de Kubernetes. Si configuró esta variable editando los MongoDB recursos, actualice CURRENT_NAMESPACE a NAMESPACE al actualizar el operador de Kubernetes.

  • Corrige un problema en el que las etiquetas de anulación StatefulSet no podían anular StatefulSet.

  • Admite la configuración de copias de seguridad de la base de datos de la aplicación y MongoDB para el recurso MongoDBMultiCluster.

  • Añade documentación para configurar una implementación de MongoDBMultiCluster recursos en un entorno de GitOps. Para obtener más información, consulta Configurar recursos para GitOps.

  • Añade MetadataWrapper, un contenedor de etiquetas y anotaciones, a los recursos MongoDB, MongoDBMultiCluster y MongoDBOpsManager. Este contenedor permite anular metadata.Labels y metadata.Annotations.

  • Corrige un problema que impedía establecer un número de puerto arbitrario para al usar spec.externalConnectivity.port el LoadBalancer tipo de servicio para exponer Ops Manager externamente.

  • Corrige un problema que causaba que el Ops Manager rechazara los certificados al habilitar que el operador de Kubernetes importe el appdb-ca, que es un paquete de CAs, en el almacén de confianza JVM de Ops Manager.

Para ver las notas de la versión de versiones anteriores del operador, haga clic aquí.