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

Controlando el despliegue de servicios

13/24
Recursos

Aportes 18

Preguntas 4

Ordenar por:

驴Quieres ver m谩s aportes, preguntas y respuestas de la comunidad?

o inicia sesi贸n.

Comandos usados en la clase con el servicio ejemplo pinger

# Actualizar las replicas de un servicio
docker service update --replicas=20 pinger

# Actualizar paralelismo y orden de la configuraci贸n de update en el servicio pinger
docker service update --update-parallelism 4 --update-order start-first pinger

# Actualizar accion en fallo y radio maximo de falla de la configuraci贸n de update en el servicio pinger
docker service update --update-failure-action rollback --update-max-failure-ratio 0.5 pinger

# Actualizar paralelismo de la configuracion de rollback en el servicio de pinger
docker service update --rollback-parallelism 0 pinger

En el entry 鈥淯pdateConfig鈥 se puede ver como est谩 configurado el servicio para comportarse cuando tiene que hacer un update y cuando tiene que rotar sus tareas.

  "UpdateConfig": {
                "Parallelism": 1,
                "FailureAction": "pause",
                "Monitor": 5000000000,
                "MaxFailureRatio": 0,
                "Order": "stop-first"
            }

que hacemos cuando --rollback-failure-action falla!
esas cosas que no te dejan dormir!

Que buena clase y muy practica

docker service scale pinger=10
docker service  update --replicas=20 pinger
docker service  update -d --replicas=20 pinger
docker service inspect pinger
docker service  update --update-parallelism 4 --update-order start-first pinger
docker service inspect pinger
docker service update --args "ping www.facebook.com" pinger
docker service ps pinger
docker service update --update-failure-action rollback --update-max-failure-ratio 0.5 pinger
docker service update --rollback-parallelism 0 pinger
docker service update --args "ping www." pinger
  • Podemos configurar la forma de actuar cuando falle una actualizaci贸n, podemos indicar que se pause, siga adelante o haga un rollback.

Si quieren leer un poco m谩s sobre los estados de las tareas cuando se actualiza el servicio ac谩 dejo el link de la Documentaci贸n oficial de Docker
https://docs.docker.com/engine/swarm/how-swarm-mode-works/swarm-task-states/

Intentando hacer roolback de un rolback

  • docker service update --replicas=<n> <servicename>, actualiza el numero de replicas del servicio.
  • docker service update --update-parallelism <n> --update-order <start-first> <servicename>, configura los n nodos que se actualizaran en paralelo, as铆 como se indica el update order.
  • docker service update --update-failure-action rollback --update-max-failure-ratio <n> <servicename>, configura el max n de fallas de un update antes de realizar un rollback del servicio.
  • docker service update --rollback-parallelism <n> <servicename>, configura los n nodos que se haran rollback en paralelo, [0=todos]

Joya.

Que excelente clase. Con esto ya podemos prevenirnos de subir cualquier servicio roto

tengo una duda, habias puesto de ejemplo real de si el servidor normalmente tarda 5 segundos en arrancar y detecta que ya pas贸 ese tiempo entonces se produce el error y swarm automaticamente hace el rollback, ahora bien como hacemos para que swarm haga esto mismo pero con errores de codigo que no afectan de manera directa como por ej: dar un error 500 o tirar el server abajo, si no que da帽a el flujo interno al solo ser error de codigo, te doy un ejemplo, no poder conectarse a mysql desde php, hay maneras de hacer un catch de ese tipo de errores y asi podemos tambien hacer que swarm se adapte a nuestro contexto de errores?

docker service update --update-parallelism 4 --update-order start-first pinger

docker service update --update-failure-action rollback --update-max-failure-ratio 0.5 pinger

que cosa mas poderosa alfin estoy trabajando en un cluster , algo que siempre eh querido hacer!!

鈥 Actualizar las replicas de un servicio, agregando mas replicas

docker service update --replicas=20 pinger
docker service update -d --replicas=20 pinger

鈥 Actualizar paralelismo y orden de la configuraci贸n de update en el servicio pinger (stop-first: Arranca con esta cantidad de tareas, start-first: Creame mas tareas cuando esten listas las nuevas y borramela las viejas)

docker service update --update-parallelism 4 --update-order start-first pinger
docker service inspect pinger
docker service update --args "ping www.facebook.com" pinger

鈥 Actualizar accion en fallo y radio maximo de falla de la configuraci贸n de update en el servicio pinger

docker service update --update-failure-action rollback --update-max-failure-ratio 0.5 pinger

鈥 Actualizar paralelismo de la configuracion de rollback en el servicio de pinger

docker service update --rollback-parallelism 0 pinger

Qu茅 buena clase. 隆Gracias Guido!

Buena clase.

Para hacer inspect del valor UpdateConfig de un servicio podemos hacer:

docker service inspect --format="{{ json .Spec.UpdateConfig }}" pinger