GNU/Linux >> Tutoriels Linux >  >> Debian

Comment installer Saltstack Master et Minion sur Debian 11

SaltStack est un logiciel de gestion de configuration et d'automatisation gratuit, open source et basé sur Python. Il s'agit d'un outil de ligne de commande qui vous aide à gérer votre infrastructure à partir d'un emplacement central. SoltStack est composé de quatre composants. Une brève explication de chaque composant est présentée ci-dessous :

  • Maître du sel agit comme un contrôleur de ligne de commande pour ses sbires. Il est utilisé pour contrôler et gérer un certain nombre de sbires.
  • Sbires de sel sont des démons esclaves qui reçoivent des configurations et des commandes du maître.
  • Formule est des fichiers de gestion de configuration.
  • Exécution est un certain nombre de commandes et de modules qui sont exécutés sur les minions.

Dans cet article, je vais vous montrer comment installer les systèmes SaltStack Master et Minion sur Debian 11.

Prérequis

  • Deux serveurs exécutant Debian 11.
  • Un mot de passe root est configuré sur le serveur.

Installer Saltstack Master

Par défaut, SaltStack n'est pas inclus dans le référentiel par défaut de Debian 11. Vous devrez donc ajouter le référentiel SaltStack à APT. Vous pouvez l'ajouter en exécutant la commande suivante :

curl -fsSL -o /usr/share/keyrings/salt-archive-keyring.gpg https://repo.saltproject.io/py3/debian/11/amd64/latest/salt-archive-keyring.gpg 
echo "deb [signed-by=/usr/share/keyrings/salt-archive-keyring.gpg arch=amd64] https://repo.saltproject.io/py3/debian/11/amd64/latest bullseye principal " | tee /etc/apt/sources.list.d/salt.list

Une fois le référentiel ajouté, mettez à jour le cache du référentiel à l'aide de la commande suivante :

apt-get update -y

Ensuite, installez les dépendances requises à l'aide de la commande suivante :

apt-get install python3 salt-common -y

Ensuite, installez le maître SaltStack avec la commande suivante :

apt-get install salt-master -y

Une fois l'installation réussie, vous pouvez passer à l'étape suivante.

Configurer le maître Saltstack

Ensuite, vous devrez définir l'interface de liaison dans le fichier de configuration SaltSTack.

nano /etc/salt/master

Modifiez la ligne suivante :

interface :0.0.0.0

Enregistrez et fermez le fichier puis redémarrez le maître SaltStack avec la commande suivante :

systemctl restart salt-master

Vous pouvez maintenant vérifier l'état du SaltStack avec la commande suivante :

statut systemctl salt-master

Vous obtiendrez le résultat suivant :

 ? salt-master.service - Le serveur Salt Master chargé :chargé (/lib/systemd/system/salt-master.service ; activé ; préréglage du fournisseur :activé) Actif :actif (en cours d'exécution) depuis sam. 2022-02-12 07:39 :48 UTC ; Il y a 9 s Docs :man:salt-master(1) file:///usr/share/doc/salt/html/contents.html https://docs.saltproject.io/en/latest/contents.html PID principal :19403 (salt-master) Tâches :32 (limite :2 341) Mémoire :201,5 M CPU :6,109 s Groupe de contrôle :/system.slice/salt-master.service ??19403 /usr/bin/python3 /usr/bin/salt- maître ??19407 /usr/bin/python3 /usr/bin/salt-master ??19431 /usr/bin/python3 /usr/bin/salt-master ??19434 /usr/bin/python3 /usr/bin/salt -master ??19435 /usr/bin/python3 /usr/bin/salt-master ??19436 /usr/bin/python3 /usr/bin/salt-master ??19437 /usr/bin/python3 /usr/bin/ salt-master ??19444 /usr/bin/python3 /usr/bin/salt-master ??19445 /usr/bin/python3 /usr/bin/salt-master ??19446 /usr/bin/python3 /usr/bin /salt-master ??19448 /usr/bin/python3 /usr/bin/salt-master ??19451 /usr/bin/python3 /usr/bin/salt-master ??19454 /usr/bin/python3 /usr/bin/salt-masterFeb 12 07:39:48 debian11 systemd[1] :Démarrage de Salt Master Server...Feb 12 07:39:48 debian11 systemd[1] :Démarrage du serveur Salt Master.

Une fois que vous avez terminé, vous pouvez passer à l'étape suivante.

Installer et configurer Saltstack Minion

À ce stade, SaltStack Master est installé et configuré. Maintenant, connectez-vous à une autre machine et ajoutez le référentiel SaltStack Minion avec la commande suivante :

curl -fsSL -o /usr/share/keyrings/salt-archive-keyring.gpg https://repo.saltproject.io/py3/debian/11/amd64/latest/salt-archive-keyring.gpg 
echo "deb [signed-by=/usr/share/keyrings/salt-archive-keyring.gpg arch=amd64] https://repo.saltproject.io/py3/debian/11/amd64/latest bullseye principal " | tee /etc/apt/sources.list.d/salt.list

Une fois le référentiel ajouté, mettez à jour le cache du référentiel à l'aide de la commande suivante :

apt-get update -y

Ensuite, installez SaltStack Minion avec la commande suivante :

apt-get install salt-minion -y

Une fois l'installation réussie, modifiez le fichier de configuration de SaltStack Minion et définissez l'adresse IP principale.

nano /etc/salt/minion

Modifiez la ligne suivante :

maître :sel-maître-ip

Enregistrez et fermez le fichier lorsque vous avez terminé.

Ensuite, vous devrez authentifier les sbires à l'aide de l'empreinte publique du maître.

Sur la machine Salt Master, répertoriez toutes les empreintes digitales à l'aide de la commande suivante :

salt-key --finger-all

Vous obtiendrez le résultat suivant :

Clés locales :master.pem :b7:f0:ed:19:bf:e8:e0:9d:c3:9c:a2:09:2c:97:2f:6b:0f:cb:eb:76 :3d:d7:d5:a9:7d:0c:3a:60:6e:9f:d7:78master.pub :5e:4f:2b:37:41:cc:4b:9c:b0:ed:cb:0a :fb:c7:59:54:5f:11:34:ab:d2:99:96:c1:e7:ef:4d:95:b0:7c:d3:d1

Maintenant, copiez la ligne d'empreinte digitale master.pub et ajoutez-la au fichier de configuration de Minion.

Sur la machine Minion, modifiez le fichier de configuration :

nano /etc/salt/minion

Ajoutez l'empreinte principale comme indiqué ci-dessous :

master_finger :'5e:4f:2b:37:41:cc:4b:9c:b0:ed:cb:0a:fb:c7:59:54:5f:11:34:ab:d2:99 :96:c1:e7:ef:4d:95:b0:7c:d3:d1'

Vous devrez également définir le nom du Minion :

identifiant :Minion1

Enregistrez et fermez le fichier puis redémarrez le SaltStack Minion à l'aide de la commande suivante :

systemctl redémarrer salt-minion

Vous pouvez également vérifier l'état de SaltStack Minion avec la commande suivante :

statut systemctl salt-minion

Vous obtiendrez le résultat suivant :

 ? salt-minion.service - Le Salt Minion chargé :chargé (/lib/systemd/system/salt-minion.service ; activé ; préréglage du fournisseur :activé) Actif :actif (en cours d'exécution) depuis le sam. 2022-02-12 07:46 :04 UTC ; Il y a 7 s Docs :man:salt-minion(1) file:///usr/share/doc/salt/html/contents.html https://docs.saltproject.io/en/latest/contents.html PID principal :2324 (salt-minion) Tâches :8 (limite :2341) Mémoire :59,9 M CPU :1,185 s Groupe de contrôle :/system.slice/salt-minion.service ??2324 /usr/bin/python3 /usr/bin/salt- minion ??2326 /usr/bin/python3 /usr/bin/salt-minion ??2328 /usr/bin/python3 /usr/bin/salt-minionFeb 12 07:46:04 debian11 systemd[1] :Démarrage de Salt Minion... 12 février 07:46:04 debian11 systemd[1] :Démarrage de Salt Minion.

Vous pouvez également vérifier l'empreinte du minion à l'aide de la commande suivante :

salt-call key.finger --local

Vous obtiendrez le résultat suivant :

local :14:12:ef:33:d2:1e:49:23:7b:a2:74:8d:19:fc:be:5e:6d:a6:57:ec:4f:a9:da :23:69:3f:62:1b:6b:4b:2f:27

Sur la machine SaltStack Master, faites correspondre l'empreinte digitale à l'aide de la commande suivante :

salt-key --finger-all

Vous obtiendrez le résultat suivant :

Clés locales :master.pem :b7:f0:ed:19:bf:e8:e0:9d:c3:9c:a2:09:2c:97:2f:6b:0f:cb:eb:76 :3d:d7:d5:a9:7d:0c:3a:60:6e:9f:d7:78master.pub :5e:4f:2b:37:41:cc:4b:9c:b0:ed:cb:0a :fb:c7:59:54:5f:11:34:ab:d2:99:96:c1:e7:ef:4d:95:b0:7c:d3:d1Clés non acceptées :Minion1 :14:12:ef:33 :d2:1e:49:23:7b:a2:74:8d:19:fc:be:5e:6d:a6:57:ec:4f:a9:da:23:69:3f:62:1b:6b :4b:2f:27

Sur le SaltStack Master, acceptez le Minion à l'aide de la commande suivante :

salt-key -a Minion1

Vous obtiendrez le résultat suivant :

Les clés suivantes vont être acceptées :Clés non acceptées :Minion1Proceed ? [n/Y] Clé Y pour minion Minion1 acceptée.

Maintenant, vérifiez la connexion entre Master et Minion à l'aide de la commande suivante :

salt Minion1 test.ping

Vous obtiendrez le résultat suivant :

Minion1 :Vrai

Une fois que vous avez terminé, vous pouvez passer à l'étape suivante.

Contrôlez les Minions depuis le Maître

Après la connexion réussie entre Master et Minion. Commençons à exécuter quelques commandes sur les Minions.

Exécutez la commande suivante pour répertorier l'espace disque disponible sur Minion :

salt '*' disk.usage

Vous obtiendrez le résultat suivant :

Minion1 :---------- / :---------- 1K-blocks :51538400 disponibles :47658628 capacité :4 % système de fichiers :/dev/sda1 utilisé :1661604 /dev :---------- blocs 1K :998936 disponibles :998936 capacité :0 % système de fichiers :udev utilisé :0 /dev/shm :---------- blocs 1K :1015232 disponibles :1015152 capacité :1 % système de fichiers :tmpfs utilisé :80

Pour installer le package Apache sur le Minion, exécutez la commande suivante :

salt Minion1 pkg.install apache2

Vous obtiendrez le résultat suivant :

Minion1 :---------- apache2 :---------- nouveau :2.4.52-1~deb11u2 ancien :apache2-bin :-------- -- nouveau :2.4.52-1~deb11u2 ancien :apache2-data :---------- nouveau :2.4.52-1~deb11u2 ancien :apache2-utils :-------- -- nouveau :2.4.52-1~deb11u2 ancien :libapr1 :---------- nouveau :1.7.0-6+deb11u1 ancien :libaprutil1 :---------- nouveau :1.6.1-5 ancien :libaprutil1-dbd-sqlite3 :---------- nouveau :1.6.1-5 ancien :libaprutil1-ldap :---------- nouveau :1.6. 1-5 ans :

Pour vérifier la mémoire libre sur le Minion, exécutez la commande suivante :

salt '*' cmd.run 'free -m'

Vous obtiendrez le résultat suivant :

Minion1 :total de buff/cache partagés gratuits utilisés Mem :1982 140 1392 2 450 1691 Swap :0 0 0 

Utiliser le fichier d'état Salt pour gérer les minions

Les fichiers d'état sont également appelés fichiers de gestion de configuration utilisés pour configurer et gérer les Minions.

Pour créer un fichier d'état, vous devrez créer la base d'environnement pour SaltStack.

mkdir /src/salt

Ensuite, créez un fichier d'état avec la commande suivante :

nano /src/salt/setup.sls

Ajoutez le code suivant pour installer les packages PHP, UNZIP et Apache sur Minions :

network_utilities :pkg.installed :- pkgs :- php - décompressez apache2_pkg :pkg.installed :- nom :apache2 apache2_service :service.running :- nom :apache2 - enable :True - require :- pkg :apache2_pkg

Enregistrez et fermez le fichier puis appliquez la configuration à tous les Minions à l'aide de la commande suivante :

salt '*' state.apply setup

Vous obtiendrez le résultat suivant :

Minion1 :---------- ID :network_utilities Fonction :pkg.installed Résultat :Vrai Commentaire :Les packages suivants ont été installés/mis à jour :php, unzip Démarré :07:51:22.424504 Durée :17349,907 ms Modifications :---------- libapache2-mod-php7.4 :---------- nouveau :7.4.25-1+deb11u1 ancien :php :------- --- nouveau :2:7.4+76 ancien :php-common :---------- nouveau :2:76 ancien :php7.4 :---------- nouveau :7.4 .25-1+deb11u1 ancien :php7.4-cli :---------- nouveau :7.4.25-1+deb11u1 ancien :php7.4-common :--------- - Nouveau:7.4.25-1+deb11u1 ancien :php7.4-json :---------- nouveau :7.4.25-1+deb11u1 ancien :php7.4-opcache :-------- -- nouveau :7.4.25-1+deb11u1 ancien :php7.4-readline :---------- nouveau :7.4.25-1+deb11u1 ancien :psmisc :-------- -- nouveau :23.4-2 ancien :unzip :---------- nouveau :6.0-26 ancien :---------- ID :apache2_pkg Fonction :pkg.installed Nom :apache2 Résultat :True Commentaire :Tous les packages spécifiés sont déjà installés Démarrage :07:51:39.780956 Durée :1029,457 ms Modifications :---------- ID :apache2_service Fonction :serv ice.running Nom :apache2 Résultat :Vrai Commentaire :Le service apache2 est déjà en cours d'exécution =1)Échec :0------------Nombre total d'états exécutés :3Durée totale d'exécution :18,415 s

Conclusion

Toutes nos félicitations! vous avez installé et configuré avec succès SaltStack Master et Minion sur le serveur Debian 11. Nous avons également expliqué comment gérer les Minions à l'aide des fichiers d'état et de la ligne de commande. J'espère que cela vous aidera à automatiser et à gérer votre infrastructure à partir d'un emplacement central. N'hésitez pas à me demander si vous avez des questions.


Debian
  1. /usr/bin Vs /usr/local/bin Sous Linux ?

  2. Installer les binaires dans /bin, /sbin, /usr/bin et /usr/sbin, interactions avec --prefix et DESTDIR

  3. Quelle est la différence entre #!/usr/bin/env bash et #!/usr/bin/bash ?

  4. Quelle est la signification de /usr/sbin, /usr/local/sbin et /usr/local/bin ?

  5. Différence entre /bin et /usr/bin

Comment installer et configurer Redmine sur Debian 9

Comment installer et utiliser FFmpeg sur Debian 10

Comment installer et configurer Monit sur Debian 9

Comment installer Icinga 2 et Icinga Web 2 sur Debian 9

Comment installer et utiliser FFmpeg sur Debian 11

Comment installer et configurer Git dans Debian 11