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 [2021/12/05 17:43]
enrique_mieza_sanchez [Wordpress escalable]
docker_swarm_stacks [2023/11/14 18:34] (actual)
enric_mieza_sanchez [Sticky sessions]
Línia 7: Línia 7:
 {{ docker-swarm-3.png }} {{ docker-swarm-3.png }}
  
-{{tag> #Ceti #CetiMp03 #Ciber #CiberMp03 docker swarm stack contenidors traefik load_balancer DevOps}}+{{tag> #FpInfor #Ceti #CetiMp03 #Ciber #CiberMp03 docker swarm stack contenidors traefik load_balancer DevOps}}
  
 \\ \\
Línia 14: Línia 14:
  
 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 //load balancer// i proxy invers per gestionar el balanceig de càrrega.
  
-Podràs visualitzar 2 frontends (l'exemple és amb la IP que tenim configurada al Vagrantfile de [[Docker Swarm]]:+ 
 +<WRAP tip> 
 +[[https://doc.traefik.io/traefik/|Traefik]] és un balancejador de càrrega i proxy invers basat en el llenguatge de programació Go! de Google molt emprat en orquestradors de contenidors. 
 + 
 +{{ traefik-architecture.png?400 }} 
 +</WRAP> 
 + 
 + 
 +<WRAP info> 
 +Podràs visualitzar 2 webs (l'exemple és amb la IP que tenim configurada al Vagrantfile de [[Docker Swarm]]:
   * 10.100.199.200:8080 : veuràs el panell d'administració de //traefik//.   * 10.100.199.200:8080 : veuràs el panell d'administració de //traefik//.
-  * 10.100.199.200 : port 80 on podràs veure el frontend de traefik, però de moment ens mostra un ''Error 404: page not found''+  * 10.100.199.200 : port 80 on podràs veure el //frontend// de traefik, però de moment ens mostra un ''Error 404: page not found''
-    * Si volem veure la web, caldrà que configureu l'arxiu ''/etc/hosts'' i apuntar el domini whoami.docker.local a la IP de la màquina //swarm//.+    * **Si volem veure la web, caldrà que configureu l'arxiu ''/etc/hosts'' i apuntar el domini ''whoami.docker.local'' a la IP de la màquina //swarm//**. 
 +    * OJU perquè el ''/etc/hosts'' que s'ha d'actualitzar és el de la màquina on estiguem executant el //browser//, probablement serà la teva màquina física. 
 +    * Ara sí que podem visualitzar la web de ''whoami'' al navegador a: <code>http://whoami.docker.local</code> 
 +</WRAP>
  
 <file yaml whoami.stack.yml> <file yaml whoami.stack.yml>
Línia 63: Línia 75:
 </file> </file>
  
-Per posar en marxa el //stack//: +Per posar en marxa el //stack// ho podem fer d'aquestes dues maneres (amb una basta!)
-  docker stack deploy --compose-file whoami.stack.yml hello +  docker stack deploy --compose-file whoami.stack.yml who 
-  docker stack deploy -c whoami.stack.yml hello +  docker stack deploy -c whoami.stack.yml who 
-  docker stack scale hello_whoami=5+ 
 +I ara, escalem el servei ''whoami'': 
 +  docker service scale who_whoami=5
   docker stack ls   docker stack ls
  
Línia 79: Línia 93:
   * 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''?
  
Línia 86: Línia 102:
  
 ===== Wordpress en swarm ===== ===== Wordpress en swarm =====
 +Anem a fer una implementació de Wordpress amb Docker Swarm seguint l'arquitectura proposada en aquest diagrama:
 +
 +{{ wordpress_swarm.png?580 }}
  
 <WRAP todo> <WRAP todo>
Línia 127: Línia 146:
     - 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'arxius distribuit com GlusterFS.
 +
 +Tens aquí algunes referències per instal·lar-lo:
 +  * https://thenewstack.io/tutorial-create-a-docker-swarm-with-persistent-storage-using-glusterfs/
 +  * [[https://docs.gluster.org/en/v3/Administrator%20Guide/Start%20Stop%20Daemon/|Documentació oficial Gluster FS]].
 +
 +\\
 +
  
  
docker_swarm_stacks.1638726200.txt.gz · Darrera modificació: 2021/12/05 17:43 per enrique_mieza_sanchez