Limitaciones
Existen las siguientes limitaciones para las implementaciones de MongoDB en clústeres de Kubernetes múltiples:
Utilice versiones de Ops Manager posteriores a 5.0.7.
Use solo secretos de Kubernetes para su herramienta de almacenamiento de secretos. La herramienta de almacenamiento de secretos HashiCorp Vault no es compatible.
Para las implementaciones en las que la misma instancia de Kubernetes Operator no administra los recursos personalizados MongoDBOpsManager y MongoDB, debe configurar manualmente Configuración del cliente de cifrado de copias de seguridad deKMIP en Ops Manager. Para obtener más información, consulte Configurar manualmente el cifrado de copias de seguridad de KMIP.
No agregue un ServiceMonitor a su
MongoDBMultiClusterRecursos. El operador de Kubernetes no admite la integración con Prometheus.Puede crear una nueva implementación de MongoDB con varios clústeres de Kubernetes y contactar con el soporte de MongoDB para que le ayuden a migrar datos de su implementación de Kubernetes existente a una implementación de MongoDB con varios clústeres de Kubernetes. No puede extender una implementación de un solo clúster de Kubernetes existente a nuevos clústeres de Kubernetes.
Capacidades de implementación de múltiples clústeres
Esta sección describe las capacidades de implementación de MongoDB en varios clústeres de Kubernetes que puedes configurar utilizando los mismos procedimientos que para clústeres individuales de recursos de MongoDB implementados con el Operador de Kubernetes. Otras capacidades de implementación de MongoDB en varios clústeres de Kubernetes tienen su propia documentación en esta guía.
Administrar la seguridad de los usuarios de la base de datos
Configura respaldos consultables para recursos de Ops Manager de un solo clúster
Conectarse con registros SRV deDNS
Para conectarse como usuario a la base de datos de la implementación de MongoDB en varios clústeres de Kubernetes, puede usar la cadena connectionString.standardSrv de conexión: lista de semillas DNS. Esta cadena se incluye en el secreto que el operador de Kubernetes crea para su implementación de MongoDB en varios clústeres de Kubernetes. Para conectarse a la implementación de MongoDB en varios clústeres de Kubernetes, siga el mismo procedimiento que para los clústeres individuales implementados con el operador de Kubernetes. Consulte "Conectarse a un recurso de base de datos de MongoDB desde Kubernetes" y seleccione la pestaña. Using the Kubernetes Secret.
Administrar la seguridad de los usuarios de la base de datos
Utilice estos métodos para gestionar la seguridad de los usuarios de la base de datos:
Estos procedimientos son los mismos que los procedimientos para clústeres individuales implementados con el operador de Kubernetes, con las siguientes excepciones:
Los procedimientos se aplican únicamente a conjuntos de réplicas. Las implementaciones de MongoDB en clústeres multi-Kubernetes no admiten la creación de clústeres fragmentados.
En
mongodbResourceRef, especifique el nombre del conjunto de réplicas de implementación de MongoDB del clúster multi-Kubernetes:name: "<my-multi-cluster-replica-set>".
Configura respaldos consultables para recursos de Ops Manager de un solo clúster
Si implementa una instancia de Ops Manager en un solo clúster de Kubernetes con el operador de Kubernetes, el clúster que aloja el operador también podría alojar Ops Manager. En este caso, puede configurar copias de seguridad consultables para los recursos de Ops Manager. Las copias de seguridad consultables no se admiten en implementaciones de recursos de Ops Manager en varios clústeres de Kubernetes.
Arquitectura y diagramas de implementación
Puede crear implementaciones de MongoDB en varios clústeres de Kubernetes con o sin una malla de servicios. Para obtener más información, consulte "Planificar la conectividad externa: ¿Debería usar una malla de servicios?".
En los siguientes diagramas, el operador de Kubernetes de MongoDB Enterprise realiza estas acciones:
Monitorea la creación de la especificación del recurso
MongoDBMultiClusteren el clúster del operador.Utiliza el archivo
kubeconfigmontado para comunicarse con los clústeres miembros.Crea los recursos necesarios, como ConfigMaps, Secrets, Services y objetos StatefulSet de Kubernetes en cada clúster miembro correspondiente a la cantidad de miembros del conjunto de réplicas en el clúster MongoDB.
Identifica el clúster para implementar cada conjunto de réplicas de MongoDB utilizando la especificación de recurso
MongoDBMultiClustercorrespondiente e implementa los conjuntos de réplicas de MongoDB.Relojes para los eventos
CentralClusteryMemberCluster.Reconcilia los recursos que creó para confirmar que la implementación de MongoDB del clúster multi-Kubernetes se encuentra en el estado deseado.
Una implementación de MongoDB en un clúster de Kubernetes múltiple que utiliza el operador de Kubernetes de MongoDB Enterprise consta de un clúster de operador y uno o más clústeres miembros en Kubernetes:
El clúster de operadores tiene la siguiente función:
Aloja el operador Kubernetes de MongoDB Enterprise
Actúa como plano de control para la implementación de MongoDB en múltiples clústeres Kubernetes
Aloja la especificación de recursos
MongoDBMultiClusterpara el set de réplicas de MongoDB.Hosts Ops Manager, si implementa Ops Manager con el operador de Kubernetes
También puede alojar miembros del conjunto de réplicas de MongoDB
Importante
El clúster de operadores también se conoce como clúster de operadores. Las referencias al clúster de operadores podrían cambiar de nombre en futuras versiones.
Los nodos clústeres alojan los conjuntos de réplicas de MongoDB.
Tenga en cuenta que si el clúster del operador (también conocido como clúster del operador) falla, no puede utilizar el Operador de Kubernetes para cambiar su implementación hasta que restablezca el acceso a este clúster o hasta que vuelva a implementar el Operador de Kubernetes en otro clúster de Kubernetes disponible. Para obtener más información, consulta Recuperación ante desastres.
Diagrama: Implementación de clústeres múltiples de Kubernetes con un service mesh
El siguiente diagrama muestra la arquitectura general de una implementación de MongoDB con múltiples clústeres de Kubernetes en diferentes regiones y zonas de disponibilidad. Esta implementación utiliza una malla de servicios, como Istio. La malla de servicios:
Administra el descubrimiento de nodos MongoDB implementados en diferentes clústeres miembros de Kubernetes.
Maneja la comunicación entre los miembros del conjunto de réplicas.
Puede alojar su aplicación en cualquiera de los clústeres miembros dentro de la malla de servicio, como:
En clústeres de Kubernetes fuera de los que implementa con el operador de Kubernetes, o
En los clústeres miembros de una implementación de MongoDB de varios clústeres de Kubernetes.
Diagrama: Implementación de múltiples clústeres de Kubernetes sin una malla de servicios
El siguiente diagrama muestra la arquitectura general de una implementación de MongoDB con varios clústeres de Kubernetes en diferentes regiones y zonas de disponibilidad. Esta implementación no depende de una malla de servicios para la conectividad entre los clústeres de Kubernetes que alojan pods con instancias de MongoDB.
Para manejar la comunicación externa entre los miembros del conjunto de réplicas de MongoDB alojados en pods en distintos clústeres de Kubernetes, utilice dominios externos y zonas DNS.
Puede alojar su aplicación en cualquiera de los clústeres miembros.