El operador de Kubernetes de los controladores de MongoDB es un controlador de Kubernetes que amplía la API de Kubernetes con definiciones de recursos personalizados (CRD) para implementaciones de bases de datos de MongoDB y MongoDB Ops Manager. Comprender cómo se asignan estos recursos personalizados a las primitivas de Kubernetes, cómo el operador de Kubernetes concilia los cambios y cómo se conectan los componentes entre sí es esencial antes de planificar su primera implementación.
Esta sección cubre la arquitectura de cada recurso que gestiona el operador de Kubernetes, desde una implementación autónoma de un solo clúster hasta una topología de MongoDB Ops Manager de varios clústeres con infraestructura de copia de seguridad.
Descripción general del operador
El operador de Kubernetes se ejecuta como una implementación en un namespace dedicado. Supervisa los recursos personalizados de tipo MongoDB, MongoDBOpsManager, MongoDBUser y MongoDBMultiCluster. Cuando crea o actualiza uno de estos recursos, el operador de Kubernetes lee la especificación, la valida y concilia los objetos de Kubernetes (StatefulSets, Services, Secrets, ConfigMaps) necesarios para alinear el estado real con el estado declarado.
El operador de Kubernetes proporciona una imagen de contenedor para el MongoDB Agent en Ops Manager, lo que le permite gestionar e implementar clústeres de bases de datos MongoDB con supervisión completa, copias de seguridad y automatización. El contenedor de Kubernetes actúa como host, donde el Gestor de Operaciones (Ops Manager) orquesta la instalación de procesos mongod y despliega la configuración del clúster.
Como parte de la implementación, el operador de Kubernetes crea PersistentVolumes para los StatefulSets. Los contenedores utilizan estos PersistentVolumes para mantener el estado del clúster entre reinicios.
El siguiente diagrama ilustra el flujo de configuración de una instancia de Kubernetes mediante el operador de Kubernetes:
La arquitectura del operador de Kubernetes consta de dos familias de recursos primarios:
La
MongoDBOpsManagerrecurso personalizado, a través del cual el operador de Kubernetes implementa los componentes de MongoDB Ops Manager: la base de datos de la aplicación, la aplicación de MongoDB Ops Manager y el daemon de copias de seguridad. Una vez que la implementación esté operativa, los componentes de MongoDB Ops Manager conciliarán las actualizaciones que realice en la configuración del clúster de MongoDB. Para obtener más información, consulte Arquitectura de recursos de MongoDB Ops Manager.La
MongoDBrecurso personalizado, a través del cual el operador de Kubernetes implementa instancias de base de datos (autónomas, set de réplicas o clúster particionado) y los recursosMongoDBUser. Después de la implementación, estos recursos concilian las actualizaciones que realice en la configuración del clúster de MongoDB o del usuario. Para obtener más información, consulta Arquitectura de recursos de la base de datos de MongoDB.
Guías de arquitectura
- Arquitectura de recursos de bases de datos MongoDB
- Tipos de implementación (autónomo, set de réplicas, clúster particionado), composición de StatefulSet, flujos de trabajo de reconciliación de MongoDB y MongoDBUser con diagramas.
- Arquitectura de recursos de Ops Manager
- Base de datos de la aplicación, aplicación de MongoDB Ops Manager, arquitectura de componentes de daemon de copias de seguridad, consideraciones de topología y el flujo de trabajo de conciliación de MongoDB Ops Manager.
- Arquitectura multi-clúster
- Modos de clúster único frente a clúster múltiple, limitaciones, diferencias de capacidad, diagramas de implementación (con y sin malla de servicios), diagrama de clúster múltiple de Ops Manager, redes, equilibrio de carga, requisitos de malla de servicios y consideraciones de rendimiento.
Tip
Especificación de recursos de base de datos de MongoDB — especificación de recursos de base de datos de MongoDB
Especificación de recursos de Ops Manager — Especificación de recursos de Ops Manager
Especificación de recursos de clústeres múltiples de Kubernetes — Especificación de clústeres múltiples
Prerrequisitos de implementación Multi-clúster — Prerrequisitos Multi-clúster
Implementar recursos de Ops Manager en varios clúster de Kubernetes — Implementar Ops Manager en varios clúster
Recuperación ante desastres para recursos de MongoDB Ops Manager y AppDB — Procedimientos de recuperación ante desastres
Arquitecturas de referencia — Arquitecturas de referencia