Semaine 4 · Laboratoire · Individuel

Mon essaim
à moi

Trois noeuds, l'infrastructure de votre choix, et WordPress qui se réplique sous vos yeux.

420-5A4-MT · Acte 3 · L'essaim
La mission du jour

À la fin de la séance, vous aurez :

Ce laboratoire est individuel : chacun son essaim. Le choix d'infrastructure ne change pas l'évaluation, les gestes sont les mêmes partout.

Étape 0 · Le choix

Choisir son infrastructure, et le justifier

Conteneurs imbriqués

Gratuit, rapide, hors ligne. Demande peu de mémoire. Le moins réaliste : les noeuds sont des conteneurs.

3 VM VirtualBox

Gratuit, hors ligne, modèle mental propre. Demande de la mémoire vive. Prépare directement au projet final.

3 VPS Linode

Quelques cents l'heure. Le plus authentique : vraies machines, vrai Internet. Exige la rigueur du pare-feu et des clés SSH.

Micro-exercice à remettre : en 3 à 5 phrases, votre choix et ses raisons (coût, mémoire disponible, réalisme, dépendance au réseau). Analyser une infrastructure avant de la monter, c'est déjà le métier.

Étape 1

Préparer ses trois noeuds

Un exercice guidé pas à pas existe pour chaque option sur le site du cours. Dans tous les cas, le point d'arrivée est le même : trois machines avec Docker, qui se voient sur le réseau.

Option Linode : les instances sont facturées à l'heure. On les crée en début de labo, on les détruit en fin de labo. Des machines jetables, c'est exactement la leçon infonuagique.

Étape 2

Initialiser l'essaim

# sur le premier noeud (le futur gestionnaire) :
sudo docker swarm init --advertise-addr ADRESSE_DU_NOEUD
Swarm initialized: current node is now a manager.
To add a worker to this swarm, run: docker swarm join --token SWMTKN-1-...
# sur les deux autres noeuds, coller la commande join :
sudo docker swarm join --token SWMTKN-1-... ADRESSE_DU_NOEUD:2377
This node joined a swarm as a worker.
# retour sur le gestionnaire, la photo de famille :
sudo docker node ls

Trois noeuds Ready : votre essaim existe. Peu importe l'infrastructure choisie, ces commandes sont identiques.

Étape 3

Déployer la pile WordPress

La partition de la semaine 3, enrichie d'une section deploy : web en trois répliques, base ancrée par contrainte de placement.

sudo docker stack deploy --compose-file wordpress-essaim.yml entreprise
sudo docker service ls
sudo docker service ps entreprise_web
Étape 4

Les gestes de l'orchestration

# grossir puis degonfler le service web :
sudo docker service scale entreprise_web=5
sudo docker service scale entreprise_web=2
# vider un noeud en douceur (maintenance) :
sudo docker node update --availability drain NOM_DU_NOEUD
# la panne brutale : eteindre un noeud travailleur...
sudo docker service ps entreprise_web
# ... et regarder les taches renaitre ailleurs

Gardez le visualiseur ouvert pendant chaque geste : c'est là que l'orchestration devient concrète. L'état désiré est maintenu, sans vous.

Avant de partir

Vérifications, nettoyage, devoir

La semaine prochaine, l'acte 4 : le pivot vertical. Mille visiteurs, le serveur souffle, et les premiers curieux malveillants rôdent. L'entreprise s'équipe d'yeux, de serrures et d'un filet.

Version de départ · ce diaporama va s'enrichir