Learn the "why" behind slow queries and how to fix them in our 2-Part Webinar.
Register now >
Docs Menu
Docs Home
/ /

Preguntas frecuentes

Un operador es un mecanismo estándar que amplía el plano de control de Kubernetes para gestionar recursos personalizados de Kubernetes. Dado que cada operador está creado para sus propios Recursos Personalizados (CR), puede contener lógica que aborde el tipo de servicio para el que se crea el operador. Para el Operador de Kubernetes, el operador incluye la lógica para la implementación de instancias de MongoDB Server y Ops Manager.

Cada CR utilizado por el Operador de Kubernetes representa un elemento de una implementación de MongoDB Server en Kubernetes y ofrece opciones para personalizar esa parte de la implementación. Una vez que configures estos objetos en la implementación de Kubernetes, el operador compila objetos nativos de Kubernetes, como conjuntos con estado, que son necesarios para crear pods de acuerdo con tus requerimientos especificados para servidores MongoDB. El Operador de Kubernetes también facilita la configuración de las funcionalidades de MongoDB Server, como las copias de seguridad de la base de datos, a través de la interacción con MongoDB Cloud Manager u Ops Manager.

Ejecutar MongoDB en Kubernetes simplifica la configuración y la gestión del auto-hospedaje de MongoDB.

El operador de Kubernetes trabaja con MongoDB y Ops Manager para automatizar la configuración utilizando archivos de recursos personalizados que cree para definir su configuración. Esto te permite gestionar la configuración utilizando las herramientas que ya tienes para gestionar aplicaciones en Kubernetes, incluidas las herramientas que permiten un flujo de trabajo GitOps donde la configuración se gestiona en un repositorio Git. El alto nivel de automatización y abstracción de la complejidad hace que Kubernetes y el Operador de Kubernetes sean especialmente adecuados para ejecutar MongoDB como un servicio, tanto para usuarios internos como para clientes externos.

Kubernetes permite que MongoDB aproveche la escalabilidad y la resiliencia automatizada que ofrece Kubernetes, como la sustitución automática de un pod perdido que forma parte de un set de réplicas o clúster. Esto permite que MongoDB sea altamente escalable y resistente cuando se ejecuta en Kubernetes.

MongoDB dentro de Kubernetes es tan escalable como MongoDB en bare metal o VM. Para muchos clientes, la escalabilidad es más fácil de lograr dentro de Kubernetes. El Operador de Kubernetes y Kubernetes trabajan juntos sin problemas para permitir una fácil escalabilidad horizontal, incluida la capacidad de extender implementaciones de MongoDB a través de varios clústeres de Kubernetes para la resiliencia multinivel y multisitio.

El escalado vertical es tan sencillo como cambiar los recursos de una implementación desde el recurso personalizado que la define.

Todo esto permite que MongoDB se escale para satisfacer cualquier demanda.

No existen desventajas desde una perspectiva técnica. MongoDB en Kubernetes es tan eficiente y escalable como MongoDB ejecutándose en cualquier hardware o infraestructura.

Pero, como con cualquier infraestructura, existe un requisito inherente para que los clientes tengan familiaridad y experiencia con la tecnología, en este caso, Kubernetes. Mientras que el Operador de Kubernetes simplifica y automatiza la configuración de MongoDB dentro de Kubernetes, sigue existiendo una dependencia de los recursos y capacidades subyacentes que forman parte del clúster de Kubernetes, como el almacenamiento de estado, la red, la seguridad y la computación. Esto significa que los clientes aún deben asegurarse de que esos servicios y recursos estén disponibles y configurados correctamente para admitir MongoDB, al igual que sería necesario si se ejecutara en servidores físicos o máquinas virtuales.

MongoDB Server es compatible con cualquier plataforma que se base en Kubernetes nativo sin modificar la lógica o el comportamiento predeterminados. En la práctica, esto significa que MongoDB Server es compatible con cualquier plataforma de Kubernetes certificada por la Cloud Native Computing Foundation. Para obtener más información, consulte Compatibilidad del Operador de Kubernetes de MongoDB.

Kubernetes operador puede gestionar cientos de implementaciones. Para facilitar las operaciones de reconciliación en paralelo y evitar tiempos prolongados de reconciliación, incremente el número de threads de su instancia de Kubernetes Operator.

Para ayudar a minimizar la latencia, considere colocar su base de datos y aplicaciones en el mismo clúster de Kubernetes si su arquitectura de implementación lo permite.

Sí. Para obtener más información, consulta Implementar recursos MongoDB en múltiples clústeres de Kubernetes. Para obtener ayuda, contacta a Soporte de MongoDB.

Para utilizar el operador de Kubernetes para gestionar una implementación de MongoDB en un clúster multi-Kubernetes, debes configurar un conjunto específico de Roles, ClusterRoles, RoleBindings, ClusterRoleBindings y ServiceAccounts.

El operador de Kubernetes utilizado para una implementación de MongoDB con varios clústeres de Kubernetes también puede reconciliar un único recurso de clúster de Kubernetes. Para obtener más información, consulte ¿MongoDB admite la ejecución de más de una instancia de operador de Kubernetes?

Si es posible, recomendamos que configure una única instancia de Kubernetes operador para supervisar uno, varios o todos los namespaces dentro de su clúster de Kubernetes. Por defecto, el Operador de Kubernetes supervisa todos los Recursos personalizados tipos que elijas implementar, y no necesitas configurarlo para supervisar tipos de recursos específicos.

Sin embargo, una vez que se alcanza un límite de rendimiento para el número de implementaciones que una sola instancia de Kubernetes operador puede soportar, es posible configurar una instancia adicional de Kubernetes operador. En este punto, considere cómo desea dividir la gestión de los recursos en el clúster de Kubernetes. Utiliza las siguientes recomendaciones listadas en orden de prioridad:

  • Asegúrate de que cada instancia del operador de Kubernetes esté vigilando diferentes namespaces que no se superpongan dentro del clúster de Kubernetes.

  • Como alternativa, configura distintas instancias del Operador de Kubernetes para supervisar distintos tipos de recursos, ya sea en diferentes espacios de nombres o en espacios de nombres superpuestos.

    Si elige utilizar espacios de nombres superpuestos, asegúrese de que cada instancia del operador de Kubernetes supervise diferentes tipos de recursos para evitar conflictos que podrían resultar en dos instancias del operador de Kubernetes que intenten administrar los mismos recursos.

Nota

Antes de configurar otra instancia del Operador de Kubernetes, asegúrate de que ninguno de sus namespaces esté incluido en el subconjunto de namespaces de la instancia ya existente del Operador de Kubernetes.

Volver

Licencias de Terceros