Catégorie : Tutoriels

  • Déploiement d’un cluster Docker Swarm

    Déploiement d’un cluster Docker Swarm




    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

  • Flasher une carte sd pour un Raspberry Pi

    Flasher une carte sd pour un Raspberry Pi

    Matériel nécessaire :

    1. Une carte SD (de préférence de classe 10 ou supérieure, avec au moins 8 Go d’espace).
    2. Un ordinateur avec un lecteur de carte SD.
    3. Un adaptateur de carte SD si votre ordinateur n’a qu’un port pour carte microSD.
    4. Un logiciel de flashage de carte SD (comme Balena Etcher ou Raspberry Pi Imager).

    Étapes à suivre :

    1. Télécharger le système d’exploitation :

    • Rendez-vous sur le site officiel du système d’exploitation que vous souhaitez installer et téléchargez l’image adaptée à votre modèle de Raspberry Pi.

    2. Télécharger et installer le logiciel de flashage :

    • Balena Etcher : Téléchargez et installez Balena Etcher depuis son site officiel. Il est disponible pour Windows, macOS et Linux.
    • Raspberry Pi Imager : Vous pouvez également utiliser Raspberry Pi Imager, disponible sur le site officiel de Raspberry Pi.

    3. Insérer la carte SD dans votre ordinateur :

    • Insérez la carte SD dans le lecteur de carte SD de votre ordinateur. Vous pouvez utiliser un adaptateur si nécessaire.

    4. Flasher la carte SD avec le système d’exploitation :

    • Avec Balena Etcher :
    1. Ouvrez Balena Etcher.
    2. Cliquez sur « Flash from file » et sélectionnez le fichier .img ou .zip de Raspberry Pi OS que vous avez téléchargé.
    3. Sélectionnez votre carte SD comme destination.
    4. Cliquez sur « Flash! » et attendez que le processus soit terminé.
    • Avec Raspberry Pi Imager :
    1. Ouvrez Raspberry Pi Imager.
    2. Cliquez sur « Choose OS » et sélectionnez le système d’exploitation de votre choix dans la liste. Si votre système d’exploitation n’est pas listé, choisissez « Use custom » pour sélectionner le fichier d’image que vous avez téléchargé.
    3. Cliquez sur « Choose SD Card » et sélectionnez votre carte SD.
    4. Cliquez sur « Write » et attendez que le processus soit terminé.

    5. Éjecter la carte SD en toute sécurité :

    • Une fois le flashage terminé, éjectez la carte SD de votre ordinateur en toute sécurité.

    6. Insérer la carte SD dans le Raspberry Pi :

    • Insérez la carte SD dans le slot de carte SD de votre Raspberry Pi.

    7. Démarrer le Raspberry Pi :

    • Connectez votre Raspberry Pi à un écran, un clavier et une souris, puis branchez l’alimentation. Le Raspberry Pi devrait démarrer automatiquement et vous pourrez suivre les instructions à l’écran pour configurer le système.

    Remarques :

    • Assurez-vous que la carte SD est correctement insérée dans le Raspberry Pi.
    • Si vous rencontrez des problèmes, vérifiez que le fichier d’image du système d’exploitation n’est pas corrompu et que la carte SD fonctionne correctement.

    En suivant ces étapes, vous devriez être en mesure de flasher une carte SD pour votre Raspberry Pi sans problème !

  • #TrouverIP

    #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.