Swarm

Cheatsheet · l'essaim et l'état désiré Semaine 4 · Module 1
évolutif

Monter l'essaim

docker swarm init --advertise-addr ADRESSE-IP

Le premier noeud devient gestionnaire et imprime le jeton d'entrée.

docker swarm join --token JETON ADRESSE-IP:2377

Sur chaque autre noeud : rejoindre l'essaim.

docker swarm join-token worker

Réafficher le jeton (aussi : join-token manager).

docker node ls

La liste des noeuds, vue du gestionnaire.

Les services

docker service create --name web --replicas 3 -p 80:80 wordpress

Déclarer l'état désiré : trois copies derrière le port 80.

docker service ls

Les services et leurs répliques prêtes.

docker service ps web

Les tâches du service : quelle copie tourne sur quel noeud.

docker service logs web

Les journaux de toutes les copies réunies.

La pile (stack)

docker stack deploy --compose-file docker-compose.yml mapile

Déployer la partition de la semaine 3, enrichie d'une section deploy. Swarm parle le même langage.

docker stack rm mapile

Retirer la pile entière de l'essaim.

docker network create -d overlay monreseau

Le réseau overlay : les services se parlent d'un noeud à l'autre.

Régler la voilure

docker service scale web=5

Passer de 3 à 5 copies d'une phrase : l'essaim réconcilie.

docker node update --availability drain NOEUD

Drainer un noeud : ses tâches renaissent ailleurs (entretien, panne simulée).

Débranchez un noeud pour le plaisir : les répliques renaissent sans que personne ne clique. C'est la réconciliation.

Le piège : tout ne se réplique pas pareil

Le web : sans état Chaque requête est indépendante : n'importe quelle copie peut répondre. Se réplique à volonté : 3, 10, 100 copies.
La base : avec état Ses données vivent dans UN volume, ancré sur UN noeud. Deux copies écrivant les mêmes fichiers = catastrophe. On l'ancre avec une contrainte de placement, en une seule réplique.

Trois façons de monter son essaim de trois noeuds

Conteneurs imbriqués (DinD) : léger, rapide, hors ligne. Trois noeuds qui sont eux-mêmes des conteneurs sur votre machine virtuelle.
Machines virtuelles : trois VM VirtualBox clonées. Le modèle mental le plus propre et l'entraînement parfait pour le projet final.
Serveurs infonuagiques : trois VPS jetables facturés à l'heure. De vraies machines, le vrai Internet, un vrai pare-feu à configurer.

Les techniques (init, join, deploy, scale, drain) et l'évaluation sont identiques dans les trois cas : l'orchestrateur se moque de l'infra.

Essaim : des machines qui agissent comme une seule. Gestionnaire : décide et distribue les tâches. Travailleur : exécute les conteneurs. Jeton : le laissez-passer pour rejoindre l'essaim. Service : la définition de ce qui doit tourner. Tâche : un conteneur précis sur un noeud précis. Réplique : le nombre de copies demandées. État désiré : ce que l'essaim maintient tout seul.

420-5A4-MT · Serveurs évolutifs · cliquer une commande la copie