Configuration d'un cluster Docker Swarm
Prérequis
Avant de configurer un cluster Docker Swarm, assurez-vous d'avoir les éléments suivants :
- Au moins deux hôtes Ubuntu 22.04 (physiques ou virtuels) avec le moteur Docker installé.
- 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]