Étiquette : Auto-hébergement

  • 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

  • #linux

    #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

    1. 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.
    2. Personnalisation : Les utilisateurs peuvent personnaliser presque tous les aspects de leur système, des environnements de bureau aux logiciels installés.
    3. Coût : La plupart des distributions Linux sont gratuites, réduisant ainsi les coûts liés aux licences logicielles.
    4. 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

  • #Pleroma

    #Pleroma

    Pleroma est une plateforme de microblogging décentralisée et open-source qui permet aux utilisateurs de créer et de gérer leurs propres serveurs sociaux. Elle est souvent comparée à Mastodon, une autre plateforme de microblogging décentralisée, mais se distingue par plusieurs caractéristiques techniques et philosophiques. Voici un aperçu de ce qu’est Pleroma et de ses principales fonctionnalités :

    Qu’est-ce que Pleroma ?

    Pleroma est un logiciel de réseau social qui permet aux utilisateurs de publier de courts messages, appelés « toots », et de suivre d’autres utilisateurs. Contrairement aux réseaux sociaux centralisés comme Twitter, Pleroma est décentralisé, ce qui signifie qu’il n’y a pas de serveur central contrôlant l’ensemble du réseau. Au lieu de cela, chaque utilisateur ou communauté peut héberger son propre serveur, appelé « instance », qui peut interagir avec d’autres instances via un protocole standardisé.

    Fonctionnalités principales

    1. Décentralisation : Chaque instance de Pleroma est indépendante, mais peut interagir avec d’autres instances via le protocole ActivityPub. Cela permet une grande flexibilité et résilience, car il n’y a pas de point de défaillance unique.

    2. Légèreté : Pleroma est conçu pour être léger et performant, même sur des serveurs avec des ressources limitées. Cela le rend accessible à un plus grand nombre de personnes souhaitant héberger leur propre instance.

    3. Personnalisation : Les administrateurs d’instances peuvent personnaliser l’apparence et les fonctionnalités de leur serveur. Les utilisateurs peuvent également choisir parmi plusieurs interfaces utilisateur pour accéder à leur compte Pleroma.

    4. Confidentialité et contrôle : Les utilisateurs ont un contrôle total sur leurs données et peuvent choisir de les partager uniquement avec des personnes spécifiques ou de les rendre publiques. Les instances peuvent également définir des règles de modération adaptées à leur communauté.

    5. Interopérabilité : Pleroma est compatible avec d’autres plateformes utilisant le protocole ActivityPub, comme Mastodon, PeerTube, et Friendica. Cela permet aux utilisateurs de différentes plateformes de s’abonner les uns aux autres et d’interagir.

    Philosophie

    Pleroma met l’accent sur la simplicité, la performance et la liberté. Le projet vise à fournir une alternative légère et efficace aux réseaux sociaux centralisés, tout en offrant aux utilisateurs le contrôle total sur leurs données et leur expérience en ligne. La communauté autour de Pleroma est également très active et contribue régulièrement à l’amélioration du logiciel.

    Conclusion

    Pleroma représente une approche innovante du microblogging, en mettant l’accent sur la décentralisation, la personnalisation et la performance. Que vous soyez un utilisateur soucieux de sa vie privée ou une communauté cherchant à créer son propre espace social en ligne, Pleroma offre une solution flexible et puissante.