Ací es mostren les diferències entre la revisió seleccionada i la versió actual de la pàgina.
| Ambdós costats versió prèvia Revisió prèvia Següent revisió | Revisió prèvia | ||
|
docker_swarm_stacks [2022/01/17 14:29] enrique_mieza_sanchez [Docker Swarm: treballant amb stacks] |
docker_swarm_stacks [2025/06/19 17:29] (actual) enric_mieza_sanchez [Sticky sessions] traefik v3 |
||
|---|---|---|---|
| Línia 1: | Línia 1: | ||
| - | ~~REVEAL~~ | ||
| ====== Docker Swarm: treballant amb stacks ===== | ====== Docker Swarm: treballant amb stacks ===== | ||
| Línia 16: | Línia 15: | ||
| Anem a posar en marxa una xarxa amb dos serveis: | Anem a posar en marxa una xarxa amb dos serveis: | ||
| * **whoami** : container que mostra la IP i algunes dades internes per a fer proves. | * **whoami** : container que mostra la IP i algunes dades internes per a fer proves. | ||
| - | * **traefik** : conegut load balancer per gestionar el balanceig de càrrega. | + | * **traefik** : conegut |
| <WRAP tip> | <WRAP tip> | ||
| - | [[https:// | + | [[https:// |
| {{ traefik-architecture.png? | {{ traefik-architecture.png? | ||
| Línia 26: | Línia 25: | ||
| - | Podràs visualitzar 2 frontends | + | <WRAP info> |
| + | Podràs visualitzar 2 webs (l' | ||
| * 10.100.199.200: | * 10.100.199.200: | ||
| - | * 10.100.199.200 : port 80 on podràs veure el frontend de traefik, però de moment ens mostra un '' | + | * 10.100.199.200 : port 80 on podràs veure el //frontend// de traefik, però de moment ens mostra un '' |
| - | * Si volem veure la web, caldrà que configureu l' | + | |
| + | * OJU perquè el ''/ | ||
| + | * Ara sí que podem visualitzar la web de '' | ||
| + | </ | ||
| + | |||
| + | |||
| + | <tabbox Traefik v3> | ||
| + | <file yaml whoami.stack.yml> | ||
| + | version: ' | ||
| + | |||
| + | services: | ||
| + | traefik: | ||
| + | image: traefik: | ||
| + | command: | ||
| + | - --api.insecure=true | ||
| + | - --providers.docker=true | ||
| + | - --providers.swarm=true | ||
| + | - --providers.docker.exposedbydefault=false | ||
| + | - --providers.swarm.exposedbydefault=false | ||
| + | - --entrypoints.web.address=: | ||
| + | ports: | ||
| + | - " | ||
| + | - " | ||
| + | volumes: | ||
| + | - / | ||
| + | deploy: | ||
| + | placement: | ||
| + | constraints: | ||
| + | - node.role == manager | ||
| + | |||
| + | whoami: | ||
| + | image: traefik/ | ||
| + | deploy: | ||
| + | replicas: 4 | ||
| + | labels: | ||
| + | - traefik.enable=true | ||
| + | - traefik.http.routers.whoami.rule=Host(`whoami.docker.local`) | ||
| + | - traefik.http.routers.whoami.entrypoints=web | ||
| + | - traefik.http.services.whoami.loadbalancer.server.port=80 | ||
| + | #- traefik.http.services.whoami.loadbalancer.sticky=true | ||
| + | #- traefik.http.services.whoami.loadbalancer.sticky.cookie.name=whoami_cookie | ||
| + | #- traefik.http.services.whoami.loadbalancer.sticky.cookie.secure=false | ||
| + | |||
| + | </ | ||
| + | |||
| + | <tabbox Traefik v1> | ||
| <file yaml whoami.stack.yml> | <file yaml whoami.stack.yml> | ||
| Línia 72: | Línia 117: | ||
| </ | </ | ||
| - | Per posar en marxa el // | + | </ |
| - | docker stack deploy --compose-file whoami.stack.yml | + | |
| - | docker stack deploy -c whoami.stack.yml | + | Per posar en marxa el // |
| - | docker | + | docker stack deploy --compose-file whoami.stack.yml |
| + | docker stack deploy -c whoami.stack.yml | ||
| + | |||
| + | I ara, escalem el servei '' | ||
| + | docker | ||
| docker stack ls | docker stack ls | ||
| Línia 85: | Línia 134: | ||
| * Quan refresques t' | * Quan refresques t' | ||
| - | Ara descomenta | + | Ara descomenta |
| * Quan refresques t' | * Quan refresques t' | ||
| * Canvia la IP si accedeixes a la web via '' | * Canvia la IP si accedeixes a la web via '' | ||
| + | * **ULL SPOILER ;) amb el '' | ||
| + | * Assegura' | ||
| * Què creus que significa el paràmetre //sticky// i perquè creus que funciona al //browser// però no amb '' | * Què creus que significa el paràmetre //sticky// i perquè creus que funciona al //browser// però no amb '' | ||
| Línia 95: | Línia 146: | ||
| ===== Wordpress en swarm ===== | ===== Wordpress en swarm ===== | ||
| + | Anem a fer una implementació de Wordpress amb Docker Swarm seguint l' | ||
| - | {{ wordpress_swarm.png? | + | {{ wordpress_swarm.png? |
| <WRAP todo> | <WRAP todo> | ||
| Línia 138: | Línia 190: | ||
| - mysql_password | - mysql_password | ||
| - external: true | - external: true | ||
| + | |||
| + | \\ | ||
| + | |||
| + | ===== Gluster Filesystem ===== | ||
| + | Per tal de facilitar la interoperativitat dels nodes en un Swarm es pot utilitzar un sistema d' | ||
| + | |||
| + | Tens aquí algunes referències per instal·lar-lo: | ||
| + | * https:// | ||
| + | * [[https:// | ||
| + | |||
| + | \\ | ||
| + | |||