Compartir comentarios
Las respuestas se generan en base a la documentación.

Primeros pasos con el modo Swarm

Este tutorial te presenta las características del modo Swarm de Docker Engine. Quizás quieras familiarizarte con los conceptos clave antes de comenzar.

El tutorial te guiará a través de:

  • Inicializar un clúster de motores de Docker (Docker Engines) en modo Swarm
  • Añadir nodos al swarm
  • Implementar servicios de aplicaciones en el swarm
  • Administrar el swarm una vez que tengas todo funcionando

Este tutorial utiliza comandos de la CLI de Docker Engine ingresados en la línea de comandos de una ventana de terminal.

Si eres completamente nuevo en Docker, consulta Acerca de Docker Engine.

Preparación

Para ejecutar este tutorial, necesitas:

Tres máquinas host en red

Este tutorial requiere tres hosts Linux que tengan Docker instalado y puedan comunicarse a través de una red. Pueden ser máquinas físicas, máquinas virtuales, instancias de Amazon EC2 o estar alojados de alguna otra manera. Consulta Implementar en un Swarm para conocer una posible configuración de los hosts.

Una de estas máquinas es un administrador (llamado manager1) y dos de ellas son trabajadores (worker1 y worker2).

Note

También puedes seguir muchos de los pasos del tutorial para probar un swarm de un solo nodo, en cuyo caso solo necesitas un host. Los comandos para múltiples nodos no funcionarán, pero puedes inicializar un swarm, crear servicios y escalarlos.

Instalar Docker Engine en máquinas Linux

Si estás utilizando ordenadores físicos basados en Linux o computadoras proporcionadas en la nube como hosts, sigue las instrucciones de instalación en Linux para tu plataforma. Inicia las tres máquinas y estarás listo. Puedes probar escenarios de swarm tanto de un solo nodo como de múltiples nodos en máquinas Linux.

La dirección IP de la máquina administradora

La dirección IP debe estar asignada a una interfaz de red disponible para el sistema operativo host. Todos los nodos del swarm necesitan conectarse al administrador en esa dirección IP.

Dado que otros nodos se comunicarán con el nodo administrador en su dirección IP, deberías usar una dirección IP fija.

Puedes ejecutar ifconfig en Linux o macOS para ver una lista de las interfaces de red disponibles.

El tutorial utiliza manager1 : 192.168.99.100.

Puertos y protocolos abiertos entre los hosts

Los siguientes puertos deben estar disponibles. En algunos sistemas, estos puertos están abiertos de forma predeterminada.

  • Puerto 2377 TCP para la comunicación con y entre los nodos administradores
  • Puerto 7946 TCP/UDP para el descubrimiento de nodos en la red superpuesta (overlay network)
  • Puerto 4789 UDP (configurable) para el tráfico de la red superpuesta

Si tienes planeado crear una red superpuesta con cifrado (--opt encrypted), también debes asegurarte de que se permita el tráfico del protocolo IP 50 (IPSec ESP).

El puerto 4789 es el valor predeterminado para el puerto de la ruta de datos de Swarm, también conocido como puerto VXLAN. Es importante evitar que cualquier tráfico no confiable llegue a este puerto, ya que VXLAN no proporciona autenticación. Este puerto solo debe abrirse a una red confiable y nunca en un cortafuegos perimetral.

Si la red por la que viaja el tráfico de Swarm no es completamente de confianza, se sugiere encarecidamente utilizar redes superpuestas cifradas. Si se utilizan exclusivamente redes superpuestas cifradas, se recomiendan algunas medidas adicionales de seguridad:

# Example iptables rule (order and other tools may require customization)
iptables -I INPUT -m udp --dport 4789 -m policy --dir in --pol none -j DROP

Siguientes pasos

A continuación, crearás un swarm.

Crear un swarm