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/05/27 16:22] enrique_mieza_sanchez [Primer docker stack amb traefik] |
docker_swarm_stacks [2025/06/19 17:29] (actual) enric_mieza_sanchez [Sticky sessions] traefik v3 |
||
---|---|---|---|
Línia 15: | 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 26: | ||
<WRAP info> | <WRAP info> | ||
- | Podràs visualitzar 2 frontends | + | 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' | + | * **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 73: | 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 service scale hello_whoami=5 | + | docker stack deploy --compose-file whoami.stack.yml |
+ | docker stack deploy -c whoami.stack.yml | ||
+ | |||
+ | I ara, escalem el servei '' | ||
+ | docker service scale who_whoami=5 | ||
docker stack ls | docker stack ls | ||
Línia 86: | 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 '' | ||