Introducing
Your new presentation assistant.
Refine, enhance, and tailor your content, source relevant images, and edit visuals quicker than ever before.
Trending searches
Examined By :
Achieved By :
Costruire un'architettura distribuita costituita da 3 Virtual Machines (Ubuntu Server 16.04). Le tre macchine saranno inserite in un Docker Swarm e condivideranno un file system grazie alla tecnologia di GlusterFS. Lo Swarm ospiterà i seguenti container:
Edit > Virtual Network Editor
VMnet3
VMnet8
Creazione VM
File > New Virtual Machine > Custom (advanced) > Next > Hardware: Workstation 15.x > Next
Hard Disk
Formattazione:
Setup
VM > SSH > Connect to SSH
Docker-compose:
Clonazione
VM1
VM3
VM2
VM2
Settare la rete di VM1:
Sostituire 192.168.75.12
VM3
Sostituire 192.168.75.13
Assegnare un nome all'indirizzo IP
Controllare il network:
Testare la connettività:
Verificare la connettività con il nome:
Settare VM1 manager:
Aggiungere i worker (VM2 e VM3)
Mostrare i nodi:
Settare Gluster network
Assegnare un nome all'indirizzo IP
Check
Fare questi passaggi per le altre macchine!
Per fare partire il servizio:
Ogni server deve sapere degli altri:
Per controllare lo stato:
Settare le cartelle dove risiede il bricks:
Aggiungere la riga al file /etc/fstab sulle VM (i bricks vengono “montati” all’avvio del SO)
Montare filesystems:
Creare un nuovo volume gfs:
Fai partire il volume:
Visualizza informazioni e stato:
Autorizzare le tre VM a connettersi al gfs su ogni nodo:
Montare il volume:
Modificare l’owner di /gfs con l’utente corrente:
Creare un file su una macchina virtuale:
Mostrare lo spazio del volume montato:
Verificare che si veda nelle altre due:
Creare le cartelle dei servizi:
Examined By :
Achieved By :
Build delle immagini di Joomla & Phpmyadmin:
Fare questi passaggi per le altre macchine!
Visualizzare stack e servizi:
Incoerenza nei dati (o nei metadati del file) tra i bricks di una replica.
Non ci sono abbastanza informazioni per scegliere in modo autorevole una copia come originale (curando così le "bad copies"), nonostante tutti i bricks siano attivi e online.
Replica volume 3 offre High Availability rispetto a Arbiter volume ma occupa più risorse.
Attenuano il problema MA non lo risolvono.
Fonte:
https://docs.gluster.org/en/latest/Administrator%20Guide/Split%20brain%20and%20ways%20to%20deal%20with%20it/
Mostra lista dei file in condizione di "split-brains":
Individuati i file in Split-brains condition, utilizzo come sorgente:
Opzione di policy: cluster.favorite-child-policy
Quando è settata ad una delle policy disponibili, risolve in automatico lo Split-brains.
Fonti:
Load Balancing
Fonte:
https://mysqlhighavailability.com/setting-up-mysql-group-replication-with-mysql-docker-images/
Graphic Map
Traefik
"traefik.http.services.monitor.loadbalancer.server.port=<PORT>"
Traefik è in grado di fornire, nativamene, servizi di load balancing verso le repliche dello Swarm.
Single point of failure
Taefik è eseguito sullo Swarm Manager, ciò presenta la problematica di "Single point of failure".
Soluzione:
Eseguire traefik su un Worker e, in ogni caso, utilizzare un numero maggiore di Manager, possibilmente in numero dispari come spiegato nella guida:
https://docs.docker.com/engine/swarm/how-swarm-mode-works/nodes/
Stack
Swarm
Aggiungere un manager allo swarm:
Comandi per promuovere o togliere un manager:
Per tirare giù una macchina:
Per riattivarla:
Prometheus
Fonti:
https://awesome-prometheus-alerts.grep.to/rules.html