—
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 : Réseau
-
Déploiement d’un cluster Docker Swarm
-
#TrouverIP
Méthode 1 : Via votre routeur
1. Accéder à l’interface de votre routeur :
– Ouvrez un navigateur web et entrez l’adresse IP de votre routeur (généralement `192.168.1.1` ou `192.168.0.1`) sur ma Freebox c’est 192.168.0.254 Connectez-vous avec vos identifiants.2. Consulter la liste des appareils connectés :
– Allez dans la section qui liste les appareils connectés à votre réseau. Cherchez un appareil nommé « Raspberry Pi » ou similaire. Notez l’adresse IP associée.Méthode 2 : Utiliser un scanner de réseau
1. Télécharger une application de scanner de réseau :
– Téléchargez une application comme Fing sur votre smartphone (disponible sur iOS et Android).2. Scanner le réseau :
– Ouvrez l’application et scannez votre réseau local. Cherchez un appareil nommé « Raspberry Pi » ou similaire. Notez l’adresse IP associée.Méthode 3 : Utiliser un ordinateur sous Linux ou macOS
1. Ouvrir le terminal :
– Ouvrez une fenêtre de terminal sur votre ordinateur.2. Utiliser la commande `arp-scan` ou `nmap` :
– Pour `arp-scan` :
« `bash
sudo apt install arp-scan
sudo arp-scan –localnet
« `
– Pour `nmap` :
« `bash
sudo apt install nmap
sudo nmap -sn 192.168.1.0/24
« `
– Remplacez `192.168.1.0/24` par la plage d’adresses IP de votre réseau local. Cherchez un appareil nommé « Raspberry Pi » ou similaire. -
#linux
Introduction à Linux
Linux est un système d’exploitation open-source qui a révolutionné le monde de l’informatique depuis sa création en 1991 par Linus Torvalds. Contrairement aux systèmes d’exploitation propriétaires comme Windows ou macOS, Linux est développé par une communauté mondiale de développeurs et est disponible gratuitement.
Historique et Philosophie
Linux a été initialement conçu comme un projet personnel par Linus Torvalds, alors étudiant à l’Université d’Helsinki. Inspiré par le système d’exploitation Unix, Torvalds a publié la première version du noyau Linux en 1991. Depuis, le projet a évolué grâce aux contributions de milliers de développeurs à travers le monde. La philosophie de Linux repose sur les principes de l’open-source : transparence, collaboration et liberté d’utilisation.
Distributions Linux
Linux n’est pas un système d’exploitation unique, mais plutôt une famille de distributions, chacune adaptée à des besoins spécifiques. Parmi les plus populaires, on trouve :
- Ubuntu : Connu pour sa facilité d’utilisation, Ubuntu est souvent recommandé aux débutants.
- Fedora : Apprécié pour ses fonctionnalités avancées et ses mises à jour fréquentes.
- Debian : Réputé pour sa stabilité, Debian est souvent utilisé sur les serveurs.
- Arch Linux : Destiné aux utilisateurs avancés, Arch offre une grande flexibilité et personnalisation.
Avantages de Linux
- Sécurité : Linux est réputé pour sa sécurité robuste, avec moins de vulnérabilités que les systèmes d’exploitation propriétaires.
- Personnalisation : Les utilisateurs peuvent personnaliser presque tous les aspects de leur système, des environnements de bureau aux logiciels installés.
- Coût : La plupart des distributions Linux sont gratuites, réduisant ainsi les coûts liés aux licences logicielles.
- Communauté : Une vaste communauté de développeurs et d’utilisateurs offre un soutien constant et des ressources abondantes.
Utilisations de Linux
Linux est utilisé dans une variété de contextes, des serveurs web aux superordinateurs, en passant par les appareils embarqués et les ordinateurs personnels. Sa flexibilité et sa robustesse en font un choix populaire pour les développeurs, les administrateurs système et les passionnés de technologie.
Conclusion
Linux continue d’évoluer et de s’adapter aux besoins changeants du monde numérique. Que vous soyez un utilisateur novice ou un développeur expérimenté, Linux offre une plateforme puissante et flexible pour explorer et innover.
Mistral AI
-
#StockageIntelligent
Un NAS, ou « Network Attached Storage » en anglais, est un dispositif de stockage connecté à un réseau qui permet de centraliser et partager des données au sein d’un réseau local. Voici quelques caractéristiques et avantages d’un NAS :
1. Stockage centralisé : Un NAS permet de stocker tous vos fichiers (documents, photos, vidéos, etc.) en un seul endroit, accessible depuis n’importe quel appareil connecté au réseau.
2. Partage de fichiers : Plusieurs utilisateurs peuvent accéder aux fichiers stockés sur le NAS simultanément, ce qui facilite le partage et la collaboration.
3. Sauvegarde : Les NAS sont souvent utilisés pour sauvegarder des données importantes, offrant une solution de récupération en cas de perte de données sur un ordinateur ou un autre appareil.
4. Accessibilité à distance : Certains NAS permettent d’accéder aux fichiers à distance via Internet, ce qui est pratique pour les personnes qui voyagent ou travaillent à distance.
5. Sécurité : Les NAS offrent généralement des options de sécurité comme le chiffrement des données et la gestion des utilisateurs pour contrôler l’accès aux fichiers.
6. Extensibilité : Vous pouvez souvent ajouter des disques durs supplémentaires pour augmenter la capacité de stockage du NAS.
Les NAS sont populaires à la fois pour les particuliers et les entreprises, car ils offrent une solution flexible et évolutive pour la gestion des données.