—
Déployer un cluster Docker Swarm avec GlusterFS et Keepalived : guide rapide étape par étape
Dans cet article, je vous guide dans le déploiement d’un cluster Docker Swarm haute disponibilité, avec un stockage partagé via GlusterFS et une IP virtuelle avec Keepalived. Chaque étape est détaillée pour que vous puissiez reproduire cette architecture chez vous.
—
Prérequis
3 machines ou plus (physiques ou virtuelles)
OS : Debian 11/12 ou Ubuntu 22.04 recommandé
Un accès sudo sur tous les nœuds
Une interface réseau commune (ex: eth0) sur tous les nœuds
Des noms d’hôtes configurés proprement
—
Étape 1 – Configuration réseau de base
Modifier /etc/hosts
Sur chaque nœud, éditez le fichier /etc/hosts pour inclure tous les nœuds :
sudo nano /etc/hosts
Ajoutez (adapter les IP/Noms) :
192.168.1.11 ds1
192.168.1.12 ds2
192.168.1.13 ds3
—
Étape 2 – Keepalived : IP virtuelle flottante
Nous allons créer une IP virtuelle (VIP) partagée entre deux nœuds (ds1 et ds2).
Installer Keepalived
Sur les deux nœuds concernés :
sudo apt install keepalived
Configuration sur le nœud principal (ds1)
sudo nano /etc/keepalived/keepalived.conf
vrrp_instance VI_1 {
state MASTER
interface eth0
virtual_router_id 51
priority 100
advert_int 1
authentication {
auth_type PASS
auth_pass secret
}
virtual_ipaddress {
192.168.1.100
}
}
Configuration sur le nœud secondaire (ds2)
Changer state en BACKUP et priority à 90.
vrrp_instance VI_1 {
state BACKUP
interface eth0
virtual_router_id 51
priority 90
advert_int 1
authentication {
auth_type PASS
auth_pass secret
}
virtual_ipaddress {
192.168.1.100
}
}
Démarrer Keepalived :
sudo systemctl enable –now keepalived
—
Étape 3 – Installation de GlusterFS
Nous allons créer un volume partagé et répliqué.
Installer GlusterFS
Sur chaque nœud :
sudo apt install glusterfs-server -y
sudo systemctl enable –now glusterd
Préparer les briques de stockage
Sur chaque nœud :
sudo mkdir -p /mnt/brick/volume1
(Si possible, utiliser un disque dédié monté ici)
Former le cluster
Depuis ds1 :
gluster peer probe ds2
gluster peer probe ds3
Vérifier :
gluster peer status
Créer le volume GlusterFS
Toujours sur ds1 :
gluster volume create docker-volume replica 3 \
ds1:/mnt/brick/volume1 \
ds2:/mnt/brick/volume1 \
ds3:/mnt/brick/volume1
gluster volume start docker-volume
Monter le volume
Sur chaque nœud :
sudo mkdir -p /mnt/docker
sudo mount -t glusterfs ds1:/docker-volume /mnt/docker
Pour rendre cela persistant :
echo « ds1:/docker-volume /mnt/docker glusterfs defaults,_netdev 0 0 » | sudo tee -a /etc/fstab
—
Étape 4 – Installation de Docker
Sur chaque nœud :
sudo apt update
sudo apt install -y \
ca-certificates \
curl \
gnupg \
lsb-release
Ajouter le dépôt officiel Docker :
curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg –dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
echo \
« deb [arch=$(dpkg –print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] \
https://download.docker.com/linux/debian \
$(lsb_release -cs) stable » | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
Installer Docker :
sudo apt update
sudo apt install docker-ce docker-ce-cli containerd.io -y
sudo systemctl enable docker –now
—
Étape 5 – Initialisation de Docker Swarm
Initialiser le cluster (sur ds1)
docker swarm init –advertise-addr 192.168.1.11
Note le token donné pour l’ajouter sur les autres nœuds.
Joindre les autres nœuds (ds2, ds3)
docker swarm join –token SWMTKN-… 192.168.1.11:2377
Promouvoir en manager (si besoin) :
docker node promote ds2
docker node promote ds3
—
Étape 6 – Installation de Portainer
Portainer permet de gérer ton cluster via une interface web.
Créer un volume pour Portainer
docker volume create portainer_data
Déployer Portainer dans Swarm
docker service create \
–name portainer \
–publish 9000:9000 \
–constraint ‘node.role == manager’ \
–mount type=bind,src=/var/run/docker.sock,dst=/var/run/docker.sock \
–mount type=volume,src=portainer_data,dst=/data \
–replicas=1 \
portainer/portainer-ce:latest
Accessible via : http://<IP-VIRTUELLE>:9000
—
Et après ?
Déploie tes stacks dans /mnt/docker
Utilise docker stack deploy pour les lancer
Ajoute des nœuds ou services à volonté
Pense à superviser ton cluster et tes volumes
Étiquette : Debian
-
Déploiement d’un cluster Docker Swarm
-
#Debian
Debian est l’un des systèmes d’exploitation basés sur Linux les plus anciens et les plus respectés. Développé par une communauté de bénévoles du monde entier, Debian est connu pour sa stabilité, sa sécurité et son engagement envers le logiciel libre. Voici un aperçu de ce qui fait de Debian un choix populaire parmi les utilisateurs et les développeurs.
Histoire de Debian
Debian a été créé en 1993 par Ian Murdock, qui a combiné les mots « Debra » (le prénom de sa femme) et « Ian » pour former le nom « Debian ». Le projet a été lancé avec l’objectif de créer une distribution Linux entièrement libre et open-source, accessible à tous. Depuis sa création, Debian a évolué pour devenir l’une des distributions Linux les plus influentes, servant de base à de nombreuses autres distributions populaires comme Ubuntu.
Caractéristiques Clés de Debian
- Stabilité et Fiabilité: Debian est réputé pour sa stabilité. Les versions stables de Debian sont rigoureusement testées, ce qui en fait un choix fiable pour les serveurs et les environnements de production.
- Gestion des Paquets: Debian utilise le système de gestion de paquets APT (Advanced Package Tool), qui permet une installation, une mise à jour et une suppression faciles des logiciels. Le vaste dépôt de logiciels de Debian contient des milliers de paquets prêts à l’emploi.
- Engagement envers le Logiciel Libre: Debian adhère strictement aux principes du logiciel libre. Tous les composants de la distribution stable sont conformes aux directives du logiciel libre de Debian (DFSG).
- Communauté Active: Le développement de Debian est soutenu par une communauté mondiale de développeurs et de contributeurs. Cette communauté assure la maintenance continue et l’amélioration de la distribution.
- Compatibilité Matérielle: Debian prend en charge une large gamme de matériel, des ordinateurs de bureau aux serveurs en passant par les architectures embarquées.
Versions de Debian
Debian propose trois versions principales :
- Stable: La version recommandée pour la plupart des utilisateurs, offrant une grande stabilité et fiabilité.
- Testing: Une version en cours de développement qui contient des paquets plus récents que la version stable. Elle est utilisée pour tester les nouvelles fonctionnalités avant leur inclusion dans la version stable.
- Unstable (Sid): La version en développement actif, où les nouveaux paquets sont d’abord introduits. Elle est destinée aux développeurs et aux testeurs avancés.
Utilisations de Debian
Debian est utilisé dans divers environnements, des serveurs web aux postes de travail de bureau, en passant par les systèmes embarqués. Sa flexibilité et sa robustesse en font un choix populaire pour les administrateurs système et les développeurs.
Conclusion
Debian reste une distribution Linux incontournable grâce à son engagement envers le logiciel libre, sa stabilité et sa communauté active. Que vous soyez un utilisateur débutant ou un administrateur système expérimenté, Debian offre une plateforme fiable et flexible pour répondre à vos besoins informatiques.
Mistral AI