No tienes acceso a esta clase

隆Contin煤a aprendiendo! 脷nete y comienza a potenciar tu carrera

Curso de Swarm

Curso de Swarm

Guido Vilari帽o

Guido Vilari帽o

Administrando servicios en escala

12/24
Recursos

Aportes 22

Preguntas 0

Ordenar por:

Los aportes, preguntas y respuestas son vitales para aprender en comunidad. Reg铆strate o inicia sesi贸n para participar.

Comandos de la clase, con el ejemplo del servicio pinger

# Cambia el numero de tareas
docker service scale pinger=5

# Ver las tareas del servicio
docker service ps pinger

# Ver los logs del servicio
docker service logs -f pinger

# Ver la configuraci贸n del servicio
docker service inspect pinger

# actualizar alguna configuraci贸n del servicio
docker service update --args "ping www.amazon.com" pinger

# realiza rollback o cambia al spec anterior 
docker service rollback pinger

Docker swarm, cuando hace un update del servicio, guarda el contenido de la configuraci贸n anterior. Si hay un problema podemos hacer un rollback y volver a la configuraci贸n anterior. Se guarda en el entry 鈥PreviousSpec鈥.

docker service inspect [nombre_servicio]

para ver el entry mencionado.

Como est谩 explicado este curso me parece excelente. La verdad, as铆 deber铆a ser el de k8s. Quiz谩 en una actualizaci贸n puedan tomar como ejemplo este de aqu铆. Para quien lo sigue es mucho m谩s f谩cil llevar a cabo los ejercicios planteados por el tutor.

el rollback me encanto jajajaja

genial lo del 鈥渄ocker service rolleback鈥!!

Tenemos un swarm con multiples nodos, vamos a tratar de hacer es escalar nuestro servicio de pinger para que tenga muchas replicas

鈥 Ejecutar scale para 5 tareas

docker service scale <nameService>=<cantidad>
docker service scale pinger=5

鈥 Ver el estado de este servicio

docker service ps pinger

鈥 Listamos contenedores para ver que estan corriendo mas de un contenedor

docker ps

鈥 Vamos a ver los logs de este servicio, observamos que todo junto de todas las tareas sin perdernos ningun valor (Ctrl+C) Salir

docker service logs -f pinger 

鈥 Inspeccionamos el servicio para ver cuantas replicas tiene

docker service inspect pinger

鈥 Actualizar en caliente, cambiar configuracion

docker service update --args "ping www.amazon.com" pinger
docker service logs -f pinger 

鈥 Si hay algun problema podemos volver a un estado anterior, es decir hacer un rollback

docker service rollback pinger

鈥 Verificamos

docker service inspect pinger

Genial

docker service scale pinger=6
docker service ps pinger
docker ps
docker service logs -f pinger
docker service inspect pinger
docker service update --args "ping www.amazon.com" pinger
docker service logs -f pinger
docker service rollback pinger
docker service ps pinger

Docker esta configurado por defecto para actualizar las tareas de los servicios una por una, de esa manera se garantiza que siempre este disponible.

Increible lo del rollback, nunca falta la pifia!

Excelente! muy 煤til para mantener alta disponibilidad. https://labs.play-with-docker.com/ es una locura.

si desplegara multiples contenedores con esa tarea de ping a gran escala seria como un ataque de DNS?

docker service scale pinger=5 : escala y replica mi servicio

Super genial!!

node3] (local) root@192.168.0.26 ~
$ docker service ls
ID                  NAME                MODE                REPLICAS            IMAGE               PORTS
74rdxq9v4urj        pinger              replicated          5/5                 alpine:latest       
[node3] (local) root@192.168.0.26 ~
$ docker service ps pinger
ID                  NAME                IMAGE               NODE                DESIRED STATE       CURRENT STATE                 ERROR               PORTS
xqrohbjszrm5        pinger.1            alpine:latest       node3               Running             Running about a minute ago                        
ot6h0tav5shu         \_ pinger.1        alpine:latest       node3               Shutdown            Shutdown about a minute ago                       
pcx6r0es6oht         \_ pinger.1        alpine:latest       node3               Shutdown            Shutdown 6 minutes ago                            
2kj7lhqf5he3        pinger.2            alpine:latest       node3               Running             Running 2 minutes ago                             
f5a8zrufxi8g         \_ pinger.2        alpine:latest       node3               Shutdown            Shutdown 2 minutes ago                            
4hbb7f88bcoi         \_ pinger.2        alpine:latest       node3               Shutdown            Shutdown 6 minutes ago                         ```

Para escalar un servicio a varias r茅plicas usamos el siguiente comando:

  • docker service scale pinger=5
    En este caso, como solicitamos 5 r茅plicas y s贸lo tenemos 3 nodos, las dos r茅plicas restantes se asignar谩n entre esos nodos.

Para saber los servicios que est谩n corriendo desde el nodo master usamos:

  • docker service ps pinger

Para saber qu茅 contenedores est谩n corriendo en cada nodo, nos situamos en cada nodo y corremos:

  • docker ps

Para ver los logs del servicio ejecutamos:

  • docker service logs -f pinger

Para poder actualizar 鈥渆n caliente鈥 un servicio:

  • docker service update --args 鈥減ing urlDelSitio鈥 pinger
    Este proceso lo ejecuta uno por uno, para evitar el downtime.

Docker swarm, cuando hace un update del servicio, guarda el contenido de la configuraci贸n anterior. Si hay un problema podemos hacer un rollback y volver a la configuraci贸n anterior. Se guarda en el entry 鈥淧reviousSpec鈥.

  • docker service rollback pinger

Cambia el numero de tareas

docker service scale pinger=5

Ver las tareas del servicio

docker service ps pinger

Ver los logs del servicio

docker service logs -f pinger

Ver la configuraci贸n del servicio

docker service inspect pinger

actualizar alguna configuraci贸n del servicio

docker service update --args 鈥減ing amazon鈥 pinger

realiza rollback o cambia al spec anterior

docker service rollback pinger

Y cual es la diferencia entre Swarm y su rollback contra un gestionador de versiones como git?

  • docker service scale servicename=n, escala a n servicios el servicio servicename
  • docker service update --args "arguments" servicename, actualiza el servicio servicename con los argumentos indicados
  • docker service rollback servicename, realiza el rollback de los 煤ltimos cambios realizados del servicio servicename.

La caracter铆stica (_) en el nombre de los servicios significa que es un servicio con una versi贸n antigua.

disculpen mi ignorancia pero no veo la relacion de esto con IBM cloud que es el motivo por que el que estoy haciendo el curso鈥 espero alguien me pueda ayudar

En producci贸n si no es el el swarm donde corremos la base

bien