Aquesta és una revisió antiga del document
DevOps Sesión 5 (2022-02-23)
Documentación relacionada
- 1-Despliegue de Aplicaciones Docker/2-Docker Swarm.pdf
Clase
- 1-Despliegue de Aplicaciones Docker/2-Docker Swarm.pdf pag 17
- modo replicado
- para no usar modo malla por defecto (solo abre puerto en el lugar (nodo) que se coloca), especificar mode=host en published
docker service create --replicas 1 --name web4 --publish published=8580,target=80,mode=host dockercloud/hello-world
- modo global
- se crea un servicio en cada nodo
- no permite escalar, ni permite
--replicas docker service create --mode global --name servicio4 --limit-memory 128MB --publish 8083:80 httpd
nodos
docker node …demote: degrada un manager a workerpromote: promueve un worker a managerinspect: información detalladals: listado de nodosps: serviciosrm: eliminar nodo (docker swarm leavepara salir del SWARM)update: actualizar el estado del nodo--availability active: modo normal de trabajo--availability drain: deja de recibir tareas, va vaciando las que tiene--availability pause: deja de recibir nuevas tareas, mantiene las actuales--label-add: añade etiqueta key=value--label-remove--role: worker/manager
docker swarm join-token worker- pag 20
etiquetar nodo
- relacionado con constrains
node.rolenode.hostnamenode.platform.os
- se pueden crear etiquetas sobre los nodos para aplicar constrains
docker nodes update --label-add etiqueta=valordocker service create --name servicio –constraint 'node.labels.etiqueta==valordocker service create --name servicio –constraint 'node.labels.etiqueta!=valor
stacks
- 1-Despliegue de Aplicaciones Docker/Ficheros Laboratorio Stack de servicios swarm/stack-wordpress-swarm
- problema de almacenamiento (volúmenes)
-
curl -L https://downloads.portainer.io/portainer-agent-stack.yml -o portainer-agent-stack.yml
- networks → attachable: permite que contenedores lanzados fuera del SWARM se puedan añadir a esa red
docker stack deploy -c portainer-agent-stack.yml portainerdocker stack lsdocker stack ps portainerdocker service ls
rolling
cluster
- primera máquina es Master/Worker a la vez
- otros nodos se pueden unir como Master o Worker
- otros nodos Master no tienen rol worker (no ejecutan contenedores) ← FALSE
- todos tienen rol Master/Worker, aunque se recomienda que los master solo hagan de master (haciendo un
docker node update --availability drain)
- mejor 1 Master + 2 Workers que 3 Master/Worker