Operador de Kubernetes de MongoDB Enterprise 1.25
Operador de Kubernetes de MongoDB Enterprise 1.25.0
Publicado el 2024-04-30
Cambio decisivo
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.
Nuevas características:
Recurso MongoDBOpsManager: 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 el
MDB_DEFAULT_ARCHITECTUREVariable de entorno en el nivel de operador de Kubernetes astatic. Alternativamente, anote un recurso personalizado específicoMongoDBoOpsManagerconmongodb.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.internalConnectivitycampo para permitir anulaciones del servicio utilizado por el operador de Kubernetes para garantizar la conectividad interna con losOpsManagerpods 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.
Puedes definir anotaciones Para servicios externos administrados por el operador de Kubernetes que contienen 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 personalice las anotaciones en cada servicio con valores relevantes y únicos para cada pod. Para obtener más información, consulte:
MongoDBresource:spec.externalAccess.externalService.annotationsMongoDBMultiClusterespecificación de recurso.acceso externo.servicio externo.anotaciones
El complemento
kubectl mongodb: le permite imprimir información de compilación al usar el complemento.El
setupcomando delkubectl mongodbcomplemento: Agrega la configuración registry.imagePullSecrets. Si se especifica, las cuentas de servicio creadas hacen referencia al secreto especificado en elimagePullSecretscampo.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_CONFIGURATIONopcional 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 estrue. La variable se establece enfalsepara las implementaciones de OLM y OpenShift.
Cambios en la instalación del gráfico de Helm
Añade un nuevo parámetro
operator.webhook.registerConfigurationque controla si el operador de Kubernetes debe configurar automáticamente el webhook de admisión mediante la variable de entornoMDB_WEBHOOK_REGISTER_CONFIGURATION. El valor predeterminado estrue. La variable se establece enfalsepara las implementaciones de OLM y OpenShift.Cambia el valor predeterminado
agent.versiona107.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.additionalArgumentscon el valor predeterminado de[]para permitirle pasar argumentos adicionales para el binario del operador de Kubernetes.Añade la variable
operator.createResourcesServiceAccountsAndRolescon el valor predeterminadotruepara controlar si se instalan roles y cuentas de servicio para los recursosMongoDByOpsManager. Al usar el complementokubectl mongodbpara 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.
Correcciones de errores
Recurso MongoDBMultiCluster: Se solucionó un problema por el cual el operador de Kubernetes informaba que
spec.externalAccess.externalDomainspec.clusterSpecList[*].externalAccess.externalDomainslos 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 unaspec.externalAccessestructura definida. A partir de esta versión, el operador de Kubernetes comprueba la unicidad de los dominios externos solo cuando se definen en las configuracionesspec.externalAccess.externalDomainspec.clusterSpecList[*].externalAccess.externalDomainso.RecursoMongoDB: corrige un error en el cual, al eliminar un
MongoDBrecurso, lascontrolledFeaturepolí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-keyse eliminaba el secreto al eliminar el recursoOpsManagerpersonalizado. La corrección de laadmin-keyeliminació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
OpsManagerrecurso personalizado, el operador de Kubernetes omitió la verificación de TLS, incluso si habilitó TLS.
Mejoras
Plugin de Kubectl: Los
kubectl mongodbbinarios 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. Loskubectl mongodbbinarios 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.
Operador de Kubernetes de MongoDB Enterprise 1.24
Operador de Kubernetes de MongoDB Enterprise 1.24.0
Publicado el 2023-12-21
MongoDBOpsManager Resource
Nuevas características:
Agrega soporte para la próxima serie Ops Manager 7.0.x.
Correcciones de errores
Corrige un problema que impedía finalizar una copia de seguridad correctamente.
Operador de Kubernetes de MongoDB Enterprise, serie 1.23
Operador de Kubernetes de MongoDB Enterprise 1.23.0
Publicado el 13 de noviembre de 2023
Advertencias y cambios importantes
Alinea los números de versión de las imágenes de componentes con la etiqueta de lanzamiento del operador de Kubernetes para que quede claro qué imágenes corresponden a cada versión del operador de Kubernetes. Esto afecta a las siguientes imágenes:
quay.io/mongodb/mongodb-enterprise-database-ubiquay.io/mongodb/mongodb-enterprise-init-database-ubiquay.io/mongodb/mongodb-enterprise-init-appdb-ubiquay.io/mongodb/mongodb-enterprise-init-ops-manager-ubi
Para obtener más información, consulte Configuración de instalación de MongoDB Enterprise Kubernetes Operator kubectl y oc y Configuración de instalación de MongoDB Enterprise Kubernetes Operator Helm.
Reemplaza
spec.exposedExternally(obsoleto en Kubernetes Operator 1.19)spec.externalAccesscon.
Correcciones de errores
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 de los registros de auditoría del agente de automatización y de MongoDB, se enviaran a los registros del pod de Kubernetes. A partir de Kubernetes Operator 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-databasese transmitan directamente a los registros de Kubernetes:agent-launcher-scriptmonitoring-agentbackup-agent
Corrige un problema que impedía almacenar el recurso
MongoDBUseren el espacio de nombres establecido enspec.mongodbResourceRef.namespace.
Operador de Kubernetes de MongoDB Enterprise serie 1.22
Operador de Kubernetes de MongoDB Enterprise 1.22.0
Publicado el 21 de septiembre de 2023
Cambios radicales
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.
MongoDBOpsManager Resource
Mejoras
Agrega soporte para configurar logRotate en el Agente MongoDB para la base de datos de la
MongoDBOpsManageraplicación agregando los siguientes campos nuevos al recurso:Ahora puede configurar systemLog para enviar registros a una ubicación personalizada distinta del
/var/log/mongodb-mms-automationdirectorio predeterminado utilizando los siguientes campos nuevos en elMongoDBOpsManagerrecurso: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.clusterSpecListo 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.
MongoDB Resource
Mejoras
Añade un mecanismo de recuperación automática para los recursos
MongoDBcuando un recurso personalizado permanece en estadoPendingoFaileddurante 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
MongoDBa los registros del pod de Kubernetes. Asegúrese de escribir los registros de auditoría del recursoMongoDBen 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-auditen 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'
Correcciones de errores
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.
Operador de Kubernetes de MongoDB Enterprise, serie 1.21
Operador de Kubernetes de MongoDB Enterprise 1.21.0
Publicado el 25 de agosto de 2023
Cambios radicales
Cambia el nombre de la variable de entorno
CURRENT_NAMESPACENAMESPACEa. Esta variable rastrea el espacio de nombres del operador de Kubernetes. Si configuró esta variable editando losMongoDBrecursos, actualiceCURRENT_NAMESPACEaNAMESPACEal actualizar el operador de Kubernetes.
Correcciones de errores
Corrige un problema en el que las etiquetas de anulación
StatefulSetno podían anularStatefulSet.
Mejoras
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
MongoDBMultiClusterrecursos 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 recursosMongoDB,MongoDBMultiClusteryMongoDBOpsManager. Este contenedor permite anularmetadata.Labelsymetadata.Annotations.
MongoDBOpsManager Resource
Cambios importantes y desuso
El
appdb-cano se agrega automáticamente al almacén de confianza de JVM en Ops Manager. Elappdb-caes el CA guardada en el ConfigMap especificado en. Esto le afectaspec.applicationDatabase.security.tls.casi:Utilice el mismo certificado personalizado para
appdb-cay su almacén de instantáneas S3.Utiliza una versión de Kubernetes Operator anterior a 1.17.0 o ha montado su propio almacén de confianza en Ops Manager.
Si necesita utilizar el mismo certificado personalizado para
appdb-cay el almacén de instantáneas S3, especifiquespec.backup.s3Stores.customCertificateSecretRefsla CA con.Se desestiman las
spec.backup.s3Stores.customCertificatespec.backup.s3OpLogStores.customCertificateconfiguraciones y.spec.backup.s3OpLogStores.customCertificateSecretRefsUtilice y en suspec.backup.s3Stores.customCertificateSecretRefslugar.
Correcciones de errores
Corrige un problema que impedía establecer un número de puerto arbitrario para al usar
spec.externalConnectivity.portelLoadBalancertipo 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.
Mejoras
Admite la configuración del recurso
MongoDBOpsManagercon una base de datos de aplicaciones de alta disponibilidad en varios clústeres de Kubernetes agregando los siguientes campos nuevos al recursoMongoDBOpsManager:El valor predeterminado del nuevo campo opcional
spec.applicationDatabase.topologyessingleClustery se utiliza si se omite. Para actualizar a Kubernetes Operator 1.21, no es necesario actualizar losMongoDBOpsManagerrecursos. Esto permite que la adición de laspec.applicationDatabase.topologyconfiguración sea retrocompatible con las implementaciones de clústeres de Kubernetes individuales de la base de datos de aplicaciones. Para obtener más información, consulte Implementar un recurso de Ops Manager y la Especificación de recursos de Ops Manager.Le permite agregar una lista de certificados personalizados para copias de seguridad en el almacén de instantáneas de S3 utilizando los
spec.backup.s3Stores.customCertificateSecretRefscamposspec.backup.s3OpLogStores.customCertificateSecretRefsy en el recurso.MongoDBOpsManager
Notas de versiones anteriores
Para ver las notas de la versión de versiones anteriores del operador, haga clic aquí.