Aún no tienes acceso a esta clase

Crea una cuenta y continúa viendo este curso

Curso de Swarm

Curso de Swarm

Guido Vilariño

Guido Vilariño

Tu primer Docker Swarm

7/24
Recursos

Aportes 18

Preguntas 4

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad? Crea una cuenta o inicia sesión.

// Iniciar docker swarm

docker swarm init

// Obtener token para unir manager

docker swarm join-token manager

// Ver los nodos que tenemos

docker node ls

// Ver información del nodo

docker node inspect self

// Salir del modo swarm
  • Swarm no es un paquete aparte de docker, swarm es nativo.
  • Docker swarm init : inicia un nodo manager.
  • Debe existir como mínimo un manager para que exista swarm.
  • docker swarm join-token manager
  • docker node ls : muestra los nodos disponibles
  • Toda la comunicación entre nodos está encriptada usando certificados TLS.
  • docker node inspect --pretty self: inspecciona el nodo
  • docker swarm leave --force: cierra el modo swarm, regresa a docker normal.

Probable error:
docker swarm init
Error response from daemon: could not choose an IP address to advertise since this system has multiple addresses on interface wlp8s0 (::15c8:7991:b99f:9c71 and ::ae3d:603b:de2f:1d18) - specify one with --advertise-addr

Solucion:
docker swarm init --advertise-addr tu-ip

docker swarm init
docker node ls
docker node inspect self
docker node inspect --pretty self
docker swarm leave
docker swarm leave --force

Transport Layer Security (TLS), y su predecesor ahora obsoleto Secure Sockets Layer (SSL), son protocolos criptograficos disegados para proveer comunicación segura en nuestras redes de computadora.
Wikipedia

Tengo una inconsistencia cuando agrego un nodo. Resulta que los nodos estan en diferentes subredes entonces cuando inicializo el manager me da la ip de mi equipo que seria 192.168.40.71 y el nodo worker esta en una subred 192.168.0.0 entonces cuando le hago el join no me queda registrado con la ip de la maquina (192.168.0.57) si no con la ip de la puerta de enlace 192.168.200.100 como puedo cambiar esta ip?

El nodo manager, es también el load balancer?

Docker Swarm NO es un paquete o Plug-In que se tiene que instalar aparte de Docker, es un modo en que se ejecuta Docker.
Siempre que se ejecuta Docker Swarm init, se esta creando un nuevo Swarm (OJO con hacerlo más de una vez, ya que puede causar algún problema).
IMPORTANTE: Un BONUS de utilizar Swarm es el uso de la comunicación entre nodos mediante TLS/SSL.

Excelente!

nunca ejecutar un comando docker swarm leave --force si somos manager y tenemos workers activos conectados

Entendido

docker swarm init
docker swarm join-token manager
docker node ls
docker node inspect self
docker node inspect lv81fdas0w17izk6er5f984ba
docker node inspect --pretty self
docker swarm leave
docker swarm leave --force 

Por favor agregar los comandos que aparecen en el video.

– Iniciar docker swarm en este nodo, muestra el ID y nos dice que es el manager

docker swarm init --advertise-addr <MANAGER-IP>

– Obtener token para unir manager

docker swarm join-token manager

– Listar los nodos que tenemos, estamos en el nodo manager

docker node ls

– Ver información del nodo manager, observamos en TrustRoot: Certificado de verificacion

docker node inspect <ID>
docker node inspect self
docker node inspect --pretty self

– Salir del modo swarm, si me encuentro en el nodo manager dara error y agregamos el flag (-f: force)

docker swarm leave -f

– Ver la informacion de toda la instalacion de docker

docker info
  • Docker swarm es un modo de usar docker.
  • docker swarm init, para iniciar docker swarm. Cada vez que se inicia como swarm, el equipo se convierte en manager.
  • docker swarm join-token manager, para unirse como manager.
  • docker swarm join --token TOKEN server:puerto, para unir un nodo como worker al server con puerto 2377
  • docker node ls, para ver los nodos swarm de docker.
  • El manager cuenta con un certificado, con el cuál encripta la comunicación entre los workers y los managers.
  • docker node inspect --pretty self, para ver los datos del nodo y del certificado.
  • docker swarm leave, para salir de swarm de docker.
  • docker swarm leave --force, para forzar la salida del docker swarm, como cuando eres el último manager.

Y si quiero conectar contenedores que se encuentren en distintos servidores fisicos, como lo hago?

Hola, no he probardo porque aun no he podido armar un entorno decente para pruebas, pero en teoría, si tengo varios managers y hago docker swarm leave me daría el mismo error o los otros managers tomarían a los workers que quedaran “huérfanos” ?

Para generar un token para agregar un worker node:

docker swarm join-token worker

Para generar un token para agregar un manager node:

docker swarm join-token manager

Asi se puede checar el estatus de modo swarm:

docker info
# or
docker info | grep Swarm
# or
docker info --format "{{ json .Swarm }}"