0% ont trouvé ce document utile (0 vote)
42 vues5 pages

Déploiement Docker Swarm

Ce document est un guide détaillé pour déployer et gérer un cluster Docker Swarm, incluant la configuration des machines, l'initialisation du cluster, l'ajout de nœuds, et le déploiement de services comme Nginx. Il couvre également la gestion des nœuds, la création d'un réseau overlay et la mise en place d'un registry privé. Chaque étape est accompagnée de commandes précises et d'explications pour faciliter la compréhension.

Transféré par

Elysee Woto
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats DOCX, PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
42 vues5 pages

Déploiement Docker Swarm

Ce document est un guide détaillé pour déployer et gérer un cluster Docker Swarm, incluant la configuration des machines, l'initialisation du cluster, l'ajout de nœuds, et le déploiement de services comme Nginx. Il couvre également la gestion des nœuds, la création d'un réseau overlay et la mise en place d'un registry privé. Chaque étape est accompagnée de commandes précises et d'explications pour faciliter la compréhension.

Transféré par

Elysee Woto
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats DOCX, PDF, TXT ou lisez en ligne sur Scribd

D'accord, nous allons procéder étape par étape pour réaliser ce TP sur

Docker Swarm. Je vais t'expliquer chaque commande et chaque concept en


détail.

🔹 Partie I : Déploiement de Docker Swarm


Dans cette partie, nous allons créer un cluster Docker Swarm en configurant
une machine comme Manager et deux autres comme Workers.

1️⃣Préparation des machines virtuelles


Avant tout, assure-toi d’avoir 3 machines virtuelles avec Docker installé. Tu
peux vérifier si Docker est bien installé avec :
bashCopierModifierdocker --version

Si Docker n'est pas installé, installe-le avec la commande suivante :


bashCopierModifiercurl -fsSL [Link] | sh

Vérifie que le service Docker est bien démarré :


bashCopierModifiersudo systemctl start docker
sudo systemctl enable docker

2️⃣Initialisation du cluster Swarm (sur la machine Manager)


Sur la machine qui va jouer le rôle de Manager, exécute la commande :
bashCopierModifierdocker swarm init --advertise-addr [Link]

📌 Explication :
 docker swarm init : Initialise un cluster Docker Swarm.

 --advertise-addr [Link] : Spécifie l'adresse IP utilisée pour


communiquer avec les autres nœuds.

Après l'exécution, la commande affiche un token d'authentification


permettant aux Workers de rejoindre le cluster.

3️⃣Ajout des Workers au cluster


Sur chaque machine Worker, exécute la commande fournie par la
machine Manager :
bashCopierModifierdocker swarm join --token
letokenrenvoyeparleswarminit [Link]

📌 Explication :
 docker swarm join : Permet à un nœud de rejoindre un cluster Swarm
existant.

 --token : Utilise le token fourni par le Manager pour s'authentifier.

 [Link] : Indique l'adresse et le port du Manager.

📌 Vérification des Workers ajoutés


Sur la machine Manager, tape :
bashCopierModifierdocker node ls

Cela affiche la liste des nœuds (Manager et Workers).

4️⃣Visualisation de l’infrastructure
Ajoute un visualiseur de l’état du cluster avec :
bashCopierModifierdocker service create --name=viz --publish
mode=host,target=8080,published=8080 \
--mode=global --constraint=[Link]==manager \

--mount=type=bind,src=/var/run/[Link],dst=/var/run/[Link] \
dockersamples/visualizer

📌 Accéder au visualiseur :
Ouvre ton navigateur et entre l'URL :
cppCopierModifier[Link]

5️⃣Récupération du token Swarm (si perdu)


Si tu as perdu le token du Swarm, utilise ces commandes sur le Manager :
 Pour récupérer le token des Workers :

bashCopierModifierdocker swarm join-token worker

 Pour récupérer le token des Managers :

bashCopierModifierdocker swarm join-token manager

6️⃣Promotion d’un Worker en Manager


Tu peux avoir plusieurs machines Manager en exécutant :
bashCopierModifierdocker node promote nom_du_noeud

Inversement, pour le remettre en Worker :


bashCopierModifierdocker node demote nom_du_noeud

7️⃣Quitter et rejoindre le cluster


 Pour enlever un Worker du cluster (exécuté sur le Worker) :

bashCopierModifierdocker swarm leave

 Pour le remettre dans le cluster (exécuté sur le Manager) :

bashCopierModifierdocker swarm join-token worker

🔹 Partie II : Usage d'un cluster Swarm


Ici, nous allons exécuter des services dans le cluster.

1️⃣Déploiement de Nginx en mode Swarm


Sur le Manager, exécute :
bashCopierModifierdocker service create --name web --publish 80:80 --
replicas=3 nginx:latest

📌 Explication :
 --name web : Nomme le service "web".

 --publish 80:80 : Mappe le port 80 du container au port 80 de l’hôte.

 --replicas=3 : Exécute 3 instances du service.

2️⃣Vérifications
 Lister tous les services :

bashCopierModifierdocker service ls

 Lister toutes les instances du service :

bashCopierModifierdocker service ps web

 Obtenir des détails sur un service :

bashCopierModifierdocker service inspect web

3️⃣Mise à l’échelle du service


 Augmenter à 5 réplicas :
bashCopierModifierdocker service scale web=5

 Réduire à 1 réplica :

bashCopierModifierdocker service scale web=1

 Supprimer un service (ne pas exécuter ici) :

bashCopierModifierdocker service rm web

4️⃣Test de la tolérance aux pannes


1. Supprime un container depuis un Worker :

bashCopierModifierdocker kill id_du_container

2. Observe que Swarm relance automatiquement une nouvelle instance.

🔹 Partie III : Gestion des nœuds


1️⃣Mettre un Worker en maintenance
Sur le Manager :
bashCopierModifierdocker node update --availability drain
nom_du_worker

📌 Explication :
 drain empêche l'exécution de nouveaux services sur ce Worker.

Pour le remettre en ligne :


bashCopierModifierdocker node update --availability active
nom_du_worker

2️⃣Promotion et rétrogradation
 Promouvoir un Worker en Manager :

bashCopierModifierdocker node promote nom_du_worker

 Rétrograder un Manager en Worker :

bashCopierModifierdocker node demote nom_du_manager

🔹 Partie IV : Réseau Overlay


1. Supprime les services existants (sauf Viz) :
bashCopierModifierdocker service rm web

2. Crée un réseau overlay :

bashCopierModifierdocker network create --driver overlay --


subnet=[Link]/24 --attachable reseau

3. Déploie Nginx sur ce réseau :

bashCopierModifierdocker service create --name web --network


reseau --publish 80:80 --replicas=3 nginx

4. Vérifie l’adressage IP :

bashCopierModifierdocker inspect web

🔹 Partie V : Création d'un registry privé


1. Crée un service de registry :

bashCopierModifierdocker service create --name registry --publish


5000:5000 registry:2

2. Pour le forcer à tourner sur le Manager :

bashCopierModifierdocker service create --name registry --publish


5000:5000 --constraint '[Link]==manager' registry:2

3. Tester le registry :

bashCopierModifierdocker pull hello-world


docker tag hello-world localhost:5000/my-hello-world
docker push localhost:5000/my-hello-world
docker rmi hello-world localhost:5000/my-hello-world
docker pull localhost:5000/my-hello-world

Voilà un guide détaillé pour chaque partie du TP. Dis-moi si tu as besoin


d’aide pour un point spécifique ! 🚀

Vous aimerez peut-être aussi