Comment ajouter un nœud travailleur à un cluster Docker Swarm

DockerDockerBeginner
Pratiquer maintenant

💡 Ce tutoriel est traduit par l'IA à partir de la version anglaise. Pour voir la version originale, vous pouvez cliquer ici

Introduction

Ce tutoriel vous guidera tout au long du processus d'ajout d'un nœud worker à un cluster Docker Swarm. À la fin de cet article, vous comprendrez comment configurer et gérer un environnement Docker Swarm, ainsi que comment ajouter sans effort de nouveaux nœuds à votre cluster pour mettre à l'échelle vos applications conteneurisées.

Introduction à Docker Swarm

Docker Swarm est une solution de clustering et d'orchestration native pour les conteneurs Docker. Elle vous permet de gérer un groupe d'hôtes Docker et de déployer des applications sur ces derniers, offrant une haute disponibilité, un équilibrage de charge et une évolutivité.

Qu'est-ce que Docker Swarm ?

Docker Swarm est une fonctionnalité intégrée au moteur Docker qui vous permet de regrouper plusieurs hôtes Docker en un seul hôte Docker virtuel. Cela vous permet de gérer et de mettre à l'échelle vos applications conteneurisées sur plusieurs hôtes, offrant une tolérance aux pannes et une haute disponibilité.

Concepts clés dans Docker Swarm

  1. Swarm : Un Swarm est un groupe d'hôtes Docker (physiques ou virtuels) qui exécutent le moteur Docker et qui se sont joints pour former un cluster.
  2. Nœud : Un Nœud est un seul hôte Docker faisant partie d'un Swarm. Les nœuds peuvent être soit des gestionnaires (Manager) soit des travailleurs (Worker).
  3. Nœud Gestionnaire (Manager Node) : Les nœuds gestionnaires sont responsables de la gestion de l'état du Swarm, de la planification des tâches et du maintien de l'état souhaité du cluster.
  4. Nœud Travailleur (Worker Node) : Les nœuds travailleurs sont responsables de l'exécution des conteneurs réels selon les instructions des nœuds gestionnaires.
  5. Service : Un Service est une manière déclarative de définir comment une application doit être déployée et mise à l'échelle dans le Swarm.
graph TD A[Docker Host] --> B[Docker Host] B[Docker Host] --> C[Docker Host] C[Docker Host] --> D[Docker Host] D[Docker Host] --> A[Docker Host] A --- E[Manager Node] B --- F[Worker Node] C --- G[Worker Node] D --- H[Worker Node]

Avantages de Docker Swarm

  • Haute disponibilité : Docker Swarm assure un équilibrage de charge automatique et un basculement, garantissant que vos applications sont hautement disponibles.
  • Évolutivité : Vous pouvez facilement augmenter ou diminuer l'échelle de vos applications en ajoutant ou en supprimant des nœuds du Swarm.
  • Simplicité : Docker Swarm est une fonctionnalité intégrée au moteur Docker, ce qui facilite sa configuration et sa gestion.
  • Intégration : Docker Swarm s'intègre parfaitement avec d'autres outils et services Docker, tels que Docker Compose et Docker Registry.

Configuration d'un cluster Docker Swarm

Prérequis

Avant de configurer un cluster Docker Swarm, assurez-vous d'avoir les éléments suivants :

  1. Au moins deux hôtes Ubuntu 22.04 (physiques ou virtuels) avec le moteur Docker installé.
  2. Accès SSH aux hôtes.

Étape 1 : Initialiser le Swarm

Sur l'un des hôtes, exécutez la commande suivante pour initialiser le Swarm :

docker swarm init --advertise-addr <HOST_IP_ADDRESS>

Remplacez <HOST_IP_ADDRESS> par l'adresse IP de l'hôte.

Cette commande affichera un jeton d'adhésion (join token) que vous utiliserez pour ajouter d'autres nœuds au Swarm.

Étape 2 : Ajouter des nœuds travailleurs (Worker Nodes) au Swarm

Sur les autres hôtes, exécutez la commande fournie à l'étape précédente pour rejoindre le Swarm en tant que nœud travailleur :

docker swarm join --token <TOKEN> <HOST_IP_ADDRESS>:2377

Remplacez <TOKEN> par le jeton fourni lors de l'initialisation du Swarm et <HOST_IP_ADDRESS> par l'adresse IP du nœud gestionnaire (Manager node).

Étape 3 : Vérifier le Swarm

Exécutez la commande suivante sur le nœud gestionnaire pour afficher les nœuds du Swarm :

docker node ls

Vous devriez voir le nœud gestionnaire et les nœuds travailleurs dans la sortie.

Étape 4 : Déployer un service

Pour tester votre configuration Swarm, déployez un service simple :

docker service create --name nginx --publish 80:80 nginx

Cela créera un service nommé "nginx" et le déploiera sur le Swarm.

graph TD A[Manager Node] --> B[Worker Node] B[Worker Node] --> C[Worker Node] C[Worker Node] --> A[Manager Node] A -- "docker swarm init" --> D[Swarm] B -- "docker swarm join" --> D[Swarm] C -- "docker swarm join" --> D[Swarm] D -- "docker service create" --> E[Nginx Service]

Ajout d'un nœud travailleur (Worker Node) au Swarm

Prérequis

Avant de pouvoir ajouter un nœud travailleur au Swarm, assurez-vous d'avoir les éléments suivants :

  1. Un cluster Docker Swarm en cours d'exécution avec au moins un nœud gestionnaire (Manager node).
  2. Accès SSH à l'hôte que vous souhaitez ajouter en tant que nœud travailleur.

Étape 1 : Obtenir la commande d'adhésion

Sur le nœud gestionnaire, exécutez la commande suivante pour obtenir la commande d'adhésion pour un nœud travailleur :

docker swarm join-token worker

Cela affichera une commande similaire à la suivante :

docker swarm join --token SWMTKN-1-49nj1cmql0jkz5s7p15g43pits9-8y0wywnrwwt7a4vox4vx9v68r 192.168.0.16:2377

Étape 2 : Rejoindre le Swarm en tant que nœud travailleur

Sur l'hôte que vous souhaitez ajouter en tant que nœud travailleur, exécutez la commande obtenue à l'étape précédente :

docker swarm join --token SWMTKN-1-49nj1cmql0jkz5s7p15g43pits9-8y0wywnrwwt7a4vox4vx9v68r 192.168.0.16:2377

Cela permettra à l'hôte de rejoindre le Swarm en tant que nœud travailleur.

Étape 3 : Vérifier que le nœud a rejoint le Swarm

Sur le nœud gestionnaire, exécutez la commande suivante pour lister les nœuds du Swarm :

docker node ls

Vous devriez voir le nouveau nœud travailleur dans la sortie.

graph TD A[Manager Node] --> B[Worker Node] B[Worker Node] --> C[Worker Node] C[Worker Node] --> A[Manager Node] A -- "docker swarm join-token worker" --> D[Join Command] B -- "docker swarm join" --> A[Manager Node]

En suivant ces étapes, vous pouvez facilement ajouter un nouveau nœud travailleur à votre cluster Docker Swarm, augmentant ainsi la capacité et la résilience de vos applications conteneurisées.

Résumé

Dans ce tutoriel Docker, vous avez appris à configurer un cluster Docker Swarm et à ajouter un nœud travailleur à celui-ci. En ajoutant de nouveaux nœuds à votre Swarm, vous pouvez facilement mettre à l'échelle vos applications basées sur Docker et créer un environnement distribué hautement disponible. Grâce aux connaissances acquises dans ce guide, vous pouvez désormais gérer et développer en toute confiance votre infrastructure Docker Swarm pour répondre aux besoins croissants de votre entreprise.