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-compose [2021/10/26 15:29] enrique_mieza_sanchez [Balanç de càrrega amb HAProxy] escalant wordpress |
docker-compose [2023/10/17 18:28] (actual) enric_mieza_sanchez [Escalat amb Wordpress] |
||
|---|---|---|---|
| Línia 12: | Línia 12: | ||
| Segueix a: | Segueix a: | ||
| * [[Docker upgrade de containers]] | * [[Docker upgrade de containers]] | ||
| + | * [[Dockerfile]] | ||
| - | {{tag> #Asix #Ceti #Ciber #CetiMp03 #CiberMp03 }} | + | {{tag> |
| ===== Instal·lació ===== | ===== Instal·lació ===== | ||
| Línia 75: | Línia 76: | ||
| A la mostra veiem que cada node té assignat un port, començant pel 49159. Els nombres de port i de container no tenen perquè ser correlatius. Podem accedir-hi mitjançant el //browser// a la URL: | A la mostra veiem que cada node té assignat un port, començant pel 49159. Els nombres de port i de container no tenen perquè ser correlatius. Podem accedir-hi mitjançant el //browser// a la URL: | ||
| http:// | http:// | ||
| - | | + | |
| + | \\ | ||
| ===== Balanç de càrrega amb HAProxy ===== | ===== Balanç de càrrega amb HAProxy ===== | ||
| Per a arrodonir aquest exercici necessitem un balancejador de càrrega que enllaci amb un o altre node web. | Per a arrodonir aquest exercici necessitem un balancejador de càrrega que enllaci amb un o altre node web. | ||
| Línia 103: | Línia 106: | ||
| Ho aixequem tot amb: | Ho aixequem tot amb: | ||
| - | docker-compose up -d –scale web=3 | + | docker-compose up -d --scale web=3 |
| | | ||
| Comprovem que estan en marxa els 3 nodes web amb + el HAProxy amb: | Comprovem que estan en marxa els 3 nodes web amb + el HAProxy amb: | ||
| Línia 116: | Línia 119: | ||
| <WRAP todo> | <WRAP todo> | ||
| + | Anem a fer un '' | ||
| * Crea un docker-compose a partir de l' | * Crea un docker-compose a partir de l' | ||
| * Configura' | * Configura' | ||
| - | * Afegeix també un '' | + | * Afegeix també un LB (o //load balancer// |
| * En total ha de tenir 3 serveis: wordpress, db i lb. | * En total ha de tenir 3 serveis: wordpress, db i lb. | ||
| + | * Assegura' | ||
| + | * El //service// '' | ||
| + | * No t' | ||
| + | * El LB apunta al servei '' | ||
| * Comprova que funciona correctament escalant a 4 instàncies de Wordpress i que pots connectar-te a través del port configurat al HAProxy. | * Comprova que funciona correctament escalant a 4 instàncies de Wordpress i que pots connectar-te a través del port configurat al HAProxy. | ||
| - | * Per assegurar-nos de que realment HAProxy alterna entre els diferents nodes, | + | * Per assegurar-nos de que realment HAProxy alterna entre els diferents nodes, |
| - | $ sudo vi / | + | * Edita l' |
| + | $ sudo vi / | ||
| + | </ | ||
| + | * Introdueix aquesta línia just després del '' | ||
| + | echo "IP Address: " | ||
| </ | </ | ||
| - | | + | <tabbox Opció hack 2 (theme twentytwentyone)> |
| - | * Introdueix aquesta línia després del get_header():< | + | * Activa |
| + | * Edita l' | ||
| + | $ sudo vi /var/lib/docker/volumes/ | ||
| + | </ | ||
| + | | ||
| echo "IP Address: " | echo "IP Address: " | ||
| </ | </ | ||
| - | | + | </ |
| + | * **Comprova ara que a l'anar a la //main page// del Wordpress es visualitza la IP i que al recarregar anem alternant entre les diverses IPs**. | ||
| </ | </ | ||
| - | |||
| - | |||
| - | ===== Escalat de Wordpress ===== | ||
| - | |||
| - | Anem a veure com escalar el sistema Wordpress que hem muntat amb el docker-compose oficial. | ||
| - | |||
| - | Aixeca' | ||
| - | $ docker-compose up -d | ||
| - | |||
| - | Prova d' | ||
| - | $ docker-compose up --scale wordpress=3 | ||
| - | |||
| - | Veurem que no ens deixa i ens dona un error de que el port està en ús: | ||
| - | Cannot start service wordpress: ... : Bind for 0.0.0.0: | ||
| - | |||
| - | És normal ja que no puc replicar diversos contenidors que es publiquin al mateix port de la màquina //host//. La solució és canviar la línia de publicació del port 80 i substituir-la per aquesta, on no s' | ||
| - | <file yml docker-compose.yml> | ||
| - | ... | ||
| - | wordpress: | ||
| - | ... | ||
| - | ports: | ||
| - | - 80 # abans era 8080:80 | ||
| - | ... | ||
| - | </ | ||
| - | |||
| - | Per poder publicar tots els contenidors al mateix rang, podem destruir els contenidors wordpress i no el de la BD: | ||
| - | $ docker-compose rm -f wordpress | ||
| - | |||
| - | I els tornem a aixecar amb: | ||
| - | $ docker-compose up -d --scale wordpress=3 | ||
| - | |||
| - | Podem veure els contenidors creats amb: | ||
| - | $ docker-compose ps | ||
| - | |||
| - | \\ | ||