- Como mínimo necesitamos tres manager.
- Podemos configurar grupos de workers según la necesidad de computo.
- El número de manager debe ser impar. Hay un único líder, y se rotan el liderazgo en un intervalo de tiempo
Conceptos básicos
Escalado de Aplicaciones con Docker Swarm
Administración y Escalabilidad con Docker Swarm
Escalabilidad y Disponibilidad con Docker Swarm
Arquitectura de Docker Swarm: Managers y Workers
Preparación de Aplicaciones para Docker Swarm: Los 12 Factores
Primeros pasos
Instalación de Docker en Mac, Windows y Ubuntu Linux
Uso de Docker Swarm: Configuración y Gestión Básica
Creación de Servicios en Docker Swarm
Gestión de Servicios en Docker Swarm: Estados, Tareas y Logs
Uso de Play with Docker para Aprender Docker Swarm Multinodo Gratis
Creación y Gestión de Swarm Multinodo en Docker
Administrando Servicios
Escalado y Actualización de Servicios en Docker Swarm
Gestión de actualizaciones y fallos en Docker Swarm
Publicación de Servicios en Docker Swarm con Puertos Externos
Swarm avanzado
Funcionamiento del Routing Mesh en Docker Swarm
Gestión de Tareas en Docker Swarm: Asignación y Restricciones
Gestión de nodos y servicios en Docker Swarm
Redes Overlay en Docker Swarm: Comunicación entre Servicios
Despliegue de Servicios con Docker Swarm y Stack Files
Implementación de Reverse Proxy con Traefik en Docker Swarm
Swarm productivo
Implementación de Docker Swarm en Producción: Arquitectura y Gestión
Administración de Swarm con Portainer: Gestión y Despliegue
Optimización de Swarm: Mantenimiento, Logs y Monitoreo Avanzado
Conclusiones
Examen Final del Curso de Docker Swarm en Platzi
No tienes acceso a esta clase
¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera
El uso de Docker Swarm en producción es un tema crítico para maximizar la eficiencia y la resiliencia de las operaciones en la nube. Docker Swarm permite gestionar un conjunto de nodos de manera eficiente, asegurando que las cargas de trabajo se distribuyan adecuadamente. En este punto, debes haber notado que los managers en Docker Swarm se configuran en números impares, y hay una buena razón para ello: evitar empates en la elección de un líder.
En Docker Swarm, el concepto de líder es central para la toma de decisiones. Un solo manager asume la función de líder, tomando decisiones cruciales, como el registro de nuevos nodos o la creación de servicios. Para evitar conflictos y mantener la armonía en el sistema, el número de managers debe ser impar. Esto se debe a que utilizan el algoritmo Raft, el cual requiere una votación entre los managers para elegir al líder. Al ser impares, nunca hay empates en la votación, garantizando que siempre haya un líder definitivo.
En cuanto a los workers, la flexibilidad es clave. Puedes crear diferentes grupos de workers según las necesidades específicas de tu aplicación, optimizando así el uso de recursos. Por ejemplo, es posible que necesites un grupo de workers con altas capacidades de RAM para tareas intensivas en memoria, como el procesamiento de imágenes. Mientras que otros workers con mayor capacidad de CPU pueden ser más útiles para tareas en tiempo real que requieren una respuesta rápida.
A modo de ejemplo, en Mural, una herramienta de colaboración visual, se utilizan diferentes tipos de workers para tareas específicas: generación de miniaturas de murales o reescalado de imágenes en tiempo real. Esto permite adaptar la infraestructura a diversas cargas de trabajo mientras se optimizan los recursos disponibles.
Un Docker Swarm eficiente debe ser elástico, respondiendo dinámicamente a los cambios en la carga de trabajo. Aquí algunos aspectos críticos a considerar:
En conclusión, el diseño de un Docker Swarm productivo requiere de una planificación estratégica y una comprensión clara de las necesidades de tu infraestructura. No se trata solo de agregar más servidores, sino de cómo se configuran y utilizan de manera óptima para satisfacer las demandas específicas de tu aplicación. Utilizar Docker Swarm de manera eficiente requiere un enfoque integral en la arquitectura del sistema y en la gestión de recursos, lo que te permitirá mejorar la resiliencia y escalar de manera efectiva.
Aportes 8
Preguntas 1
Hola! esta muy bueno poder tener maquinas con hardware diferente para necesidades diferentes, pero entonces como le digo al contenedor que corra es ese tipo de maquina? con labels?
-Para que Docker Swarm funcione (utilizando buenas practicas), tiene que haber un número impar de Managers.
-En la arquitectura de Swarm debe haber un Nodo Manager Leader que toma la decisión final (creación, asignación, destrucción, tareas, servicios, etc.) y los otros replican lo que dice el líder.
-Cada cierto tiempo se rota el Status Leader entre los nodos Managers utilizando un algoritmo: [Raft] Utilizado en Clustering.
Cada worker lo tenes con un server fisico?
Muy interesante los concejos de los ambientes productivos.
El número de managers tiene que ser impar, el mínimo recomendable es 3. Los estados del nodo son tres: Leader, candidate and follower.
¿Qué pasa si por alguna razón se va la luz en el nodo 1 manager (de 3 nodos manager y 2 workers)? Si tengo un frontend en React por ejemplo, ¿Cómo hago para que la petición se haga a otro nodo automáticamente en caso de que se apague un nodo manager al que le estoy apuntando?
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?