bytes.cat

La wiki d'FP d'informàtica

Eines de l'usuari

Eines del lloc


docker_swarm_stacks

Diferències

Ací es mostren les diferències entre la revisió seleccionada i la versió actual de la pàgina.

Enllaç a la visualització de la comparació

Ambdós costats versió prèvia Revisió prèvia
Següent revisió
Revisió prèvia
docker_swarm_stacks [2023/06/28 14:34]
enric_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 33: Línia 33:
     * Ara sí que podem visualitzar la web de ''whoami'' al navegador a: <code>http://whoami.docker.local</code>     * Ara sí que podem visualitzar la web de ''whoami'' al navegador a: <code>http://whoami.docker.local</code>
 </WRAP> </WRAP>
 +
 +
 +<tabbox Traefik v3>
 +<file yaml whoami.stack.yml>
 +version: '3.8'
 +
 +services:
 +  traefik:
 +    image: traefik:v3.4
 +    command:
 +      - --api.insecure=true
 +      - --providers.docker=true
 +      - --providers.swarm=true
 +      - --providers.docker.exposedbydefault=false
 +      - --providers.swarm.exposedbydefault=false
 +      - --entrypoints.web.address=:80
 +    ports:
 +      - "80:80"
 +      - "8080:8080"  # Dashboard
 +    volumes:
 +      - /var/run/docker.sock:/var/run/docker.sock:ro
 +    deploy:
 +      placement:
 +        constraints:
 +          - node.role == manager
 +
 +  whoami:
 +    image: traefik/whoami
 +    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
 +
 +</file>
 +
 +<tabbox Traefik v1>
  
 <file yaml whoami.stack.yml> <file yaml whoami.stack.yml>
Línia 74: Línia 116:
   net:   net:
 </file> </file>
 +
 +</tabbox>
  
 Per posar en marxa el //stack// ho podem fer d'aquestes dues maneres (amb una basta!): Per posar en marxa el //stack// ho podem fer d'aquestes dues maneres (amb una basta!):
Línia 90: Línia 134:
   * Quan refresques t'apareix una IP diferent?   * Quan refresques t'apareix una IP diferent?
  
-Ara descomenta la línia amb ''- "traefik.backend.loadbalancer.sticky=true"'' i posa en marxa de nou el stack.+Ara descomenta les línies del final referents a ''sticky'' i posa en marxa de nou el stack.
   * Quan refresques t'apareix ara una IP diferent?   * Quan refresques t'apareix ara una IP diferent?
   * Canvia la IP si accedeixes a la web via ''curl''?   * Canvia la IP si accedeixes a la web via ''curl''?
 +    * **ULL SPOILER ;) amb el ''curl'' la IP ha de variar. Si no ho fa pot ser que no hagis escalat el servei ''whoami'' (o que hagis actualitzat amb ''docker stack deploy'' i s'haurà resetejat a 1 instància).**
 +    * Assegura't que tens diverses instàncies del servei ''whoami''.
   * Què creus que significa el paràmetre //sticky// i perquè creus que funciona al //browser// però no amb ''curl''?   * Què creus que significa el paràmetre //sticky// i perquè creus que funciona al //browser// però no amb ''curl''?
  
docker_swarm_stacks.1687962888.txt.gz · Darrera modificació: 2023/06/28 14:34 per enric_mieza_sanchez