Installation SaltStack · 7 min read · Nov 15, 2025
Comment installer Saltstack Master et Minion sur Debian 11

SaltStack est un logiciel d’automatisation et de gestion de configuration gratuit, open-source et basé sur Python. C’est un outil en ligne de commande qui vous aide à gérer votre infrastructure depuis un emplacement central. SaltStack est composé de quatre composants. Une brève explication de chaque composant est présentée ci-dessous :
- Salt Master agit comme un contrôleur en ligne de commande pour ses minions. Il est utilisé pour contrôler et gérer un certain nombre de minions.
- Salt Minions sont des démons esclaves qui reçoivent des configurations et des commandes du maître.
- Formula est un fichier de gestion de configuration.
- Execution 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 dépôt par défaut de Debian 11. Vous devrez donc ajouter le dépôt 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.gpgecho "deb [signed-by=/usr/share/keyrings/salt-archive-keyring.gpg arch=amd64] https://repo.saltproject.io/py3/debian/11/amd64/latest bullseye main" | tee /etc/apt/sources.list.d/salt.listUne fois le dépôt ajouté, mettez à jour le cache du dépôt en utilisant la commande suivante :
apt-get update -yEnsuite, installez les dépendances requises en utilisant la commande suivante :
apt-get install python3 salt-common -yEnsuite, installez le maître SaltStack avec la commande suivante :
apt-get install salt-master -yAprès l’installation réussie, vous pouvez passer à l’étape suivante.
Configurer Saltstack Master
Ensuite, vous devrez définir l’interface de liaison dans le fichier de configuration SaltStack.
nano /etc/salt/masterChangez la ligne suivante :
interface: 0.0.0.0Enregistrez et fermez le fichier, puis redémarrez le maître SaltStack avec la commande suivante :
systemctl restart salt-masterVous pouvez maintenant vérifier l’état de SaltStack avec la commande suivante :
systemctl status salt-masterVous obtiendrez la sortie suivante :
? salt-master.service - Le serveur Salt Master
Loaded: loaded (/lib/systemd/system/salt-master.service; enabled; vendor preset: enabled)
Active: active (running) since Sat 2022-02-12 07:39:48 UTC; 9s ago
Docs: man:salt-master(1)
file:///usr/share/doc/salt/html/contents.html
https://docs.saltproject.io/en/latest/contents.html
Main PID: 19403 (salt-master)
Tasks: 32 (limit: 2341)
Memory: 201.5M
CPU: 6.109s
CGroup: /system.slice/salt-master.service
??19403 /usr/bin/python3 /usr/bin/salt-master
??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-master
Feb 12 07:39:48 debian11 systemd[1]: Starting Le serveur Salt Master...
Feb 12 07:39:48 debian11 systemd[1]: Démarré Le 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 dépôt 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.gpgecho "deb [signed-by=/usr/share/keyrings/salt-archive-keyring.gpg arch=amd64] https://repo.saltproject.io/py3/debian/11/amd64/latest bullseye main" | tee /etc/apt/sources.list.d/salt.listUne fois le dépôt ajouté, mettez à jour le cache du dépôt en utilisant la commande suivante :
apt-get update -yEnsuite, installez le Minion SaltStack avec la commande suivante :
apt-get install salt-minion -yAprès l’installation réussie, éditez le fichier de configuration du Minion SaltStack et définissez l’adresse IP du maître.
nano /etc/salt/minionChangez la ligne suivante :
master: salt-master-ipEnregistrez et fermez le fichier lorsque vous avez terminé.
Ensuite, vous devrez authentifier les minions en utilisant l’empreinte publique du maître.
Sur la machine Salt Master, listez toutes les empreintes en utilisant la commande suivante :
salt-key --finger-allVous obtiendrez la sortie suivante :
Local Keys:
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:78
master.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:d1Maintenant, copiez la ligne de l’empreinte master.pub et ajoutez-la au fichier de configuration du Minion.
Sur la machine Minion, éditez le fichier de configuration :
nano /etc/salt/minionAjoutez l’empreinte du maître 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 :
id: Minion1Enregistrez et fermez le fichier, puis redémarrez le Minion SaltStack en utilisant la commande suivante :
systemctl restart salt-minionVous pouvez également vérifier l’état du Minion SaltStack avec la commande suivante :
systemctl status salt-minionVous obtiendrez la sortie suivante :
? salt-minion.service - Le Minion Salt
Loaded: loaded (/lib/systemd/system/salt-minion.service; enabled; vendor preset: enabled)
Active: active (running) since Sat 2022-02-12 07:46:04 UTC; 7s ago
Docs: man:salt-minion(1)
file:///usr/share/doc/salt/html/contents.html
https://docs.saltproject.io/en/latest/contents.html
Main PID: 2324 (salt-minion)
Tasks: 8 (limit: 2341)
Memory: 59.9M
CPU: 1.185s
CGroup: /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-minion
Feb 12 07:46:04 debian11 systemd[1]: Starting Le Minion Salt...
Feb 12 07:46:04 debian11 systemd[1]: Démarré Le Minion Salt.Vous pouvez également vérifier l’empreinte du minion en utilisant la commande suivante :
salt-call key.finger --localVous obtiendrez la sortie suivante :
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:27Sur la machine SaltStack Master, faites correspondre l’empreinte en utilisant la commande suivante :
salt-key --finger-allVous obtiendrez la sortie suivante :
Local Keys:
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:78
master.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
Unaccepted Keys:
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:27Sur le SaltStack Master, acceptez le Minion en utilisant la commande suivante :
salt-key -a Minion1Vous obtiendrez la sortie suivante :
Les clés suivantes vont être acceptées :
Unaccepted Keys:
Minion1
Proceed? [n/Y] Y
Clé pour le minion Minion1 acceptée.Maintenant, vérifiez la connexion entre le Maître et le Minion en utilisant la commande suivante :
salt Minion1 test.pingVous obtiendrez la sortie suivante :
Minion1:
TrueUne fois que vous avez terminé, vous pouvez passer à l’étape suivante.
Contrôler les Minions depuis le Maître
Après la connexion réussie entre le Maître et le Minion. Commençons à exécuter quelques commandes sur les Minions.
Exécutez la commande suivante pour lister l’espace disque disponible sur le Minion :
salt '*' disk.usageVous obtiendrez la sortie suivante :
Minion1:
----------
/:
----------
1K-blocks:
51538400
available:
47658628
capacity:
4%
filesystem:
/dev/sda1
used:
1661604
/dev:
----------
1K-blocks:
998936
available:
998936
capacity:
0%
filesystem:
udev
used:
0
/dev/shm:
----------
1K-blocks:
1015232
available:
1015152
capacity:
1%
filesystem:
tmpfs
used:
80Pour installer le paquet Apache sur le Minion, exécutez la commande suivante :
salt Minion1 pkg.install apache2Vous obtiendrez la sortie suivante :
Minion1:
----------
apache2:
----------
new:
2.4.52-1~deb11u2
old:
apache2-bin:
----------
new:
2.4.52-1~deb11u2
old:
apache2-data:
----------
new:
2.4.52-1~deb11u2
old:
apache2-utils:
----------
new:
2.4.52-1~deb11u2
old:
libapr1:
----------
new:
1.7.0-6+deb11u1
old:
libaprutil1:
----------
new:
1.6.1-5
old:
libaprutil1-dbd-sqlite3:
----------
new:
1.6.1-5
old:
libaprutil1-ldap:
----------
new:
1.6.1-5
old:Pour vérifier la mémoire libre sur le Minion, exécutez la commande suivante :
salt '*' cmd.run 'free -m'Vous obtiendrez la sortie suivante :
Minion1:
total used free shared buff/cache available
Mem: 1982 140 1392 2 450 1691
Swap: 0 0 0Utiliser le fichier d’état Salt pour gérer les Minions
Les fichiers d’état sont également connus sous le nom de fichiers de gestion de configuration qui sont utilisés pour configurer et gérer les Minions.
Pour créer un fichier d’état, vous devrez créer l’environnement de base pour SaltStack.
mkdir /src/saltEnsuite, créez un fichier d’état avec la commande suivante :
nano /src/salt/setup.slsAjoutez le code suivant pour installer PHP, UNZIP et le paquet Apache sur les Minions :
network_utilities:
pkg.installed:
- pkgs:
- php
- unzip
apache2_pkg:
pkg.installed:
- name: apache2
apache2_service:
service.running:
- name: apache2
- enable: True
- require:
- pkg: apache2_pkgEnregistrez et fermez le fichier, puis appliquez la configuration à tous les Minions en utilisant la commande suivante :
salt '*' state.apply setupVous obtiendrez la sortie suivante :
Minion1:
----------
ID: network_utilities
Function: pkg.installed
Result: True
Comment: Les paquets suivants ont été installés/mis à jour : php, unzip
Started: 07:51:22.424504
Duration: 17349.907 ms
Changes:
----------
libapache2-mod-php7.4:
----------
new:
7.4.25-1+deb11u1
old:
php:
----------
new:
2:7.4+76
old:
php-common:
----------
new:
2:76
old:
php7.4:
----------
new:
7.4.25-1+deb11u1
old:
php7.4-cli:
----------
new:
7.4.25-1+deb11u1
old:
php7.4-common:
----------
new:
7.4.25-1+deb11u1
old:
php7.4-json:
----------
new:
7.4.25-1+deb11u1
old:
php7.4-opcache:
----------
new:
7.4.25-1+deb11u1
old:
php7.4-readline:
----------
new:
7.4.25-1+deb11u1
old:
psmisc:
----------
new:
23.4-2
old:
unzip:
----------
new:
6.0-26
old:
----------
ID: apache2_pkg
Function: pkg.installed
Name: apache2
Result: True
Comment: Tous les paquets spécifiés sont déjà installés
Started: 07:51:39.780956
Duration: 1029.457 ms
Changes:
----------
ID: apache2_service
Function: service.running
Name: apache2
Result: True
Comment: Le service apache2 fonctionne déjà
Started: 07:51:40.812210
Duration: 35.61 ms
Changes:
Résumé pour Minion1
------------
Réussi: 3 (changé=1)
Échoué: 0
------------
Total des états exécutés: 3
Temps total d'exécution: 18.415 sConclusion
Félicitations ! vous avez réussi à installer et configurer SaltStack Master et Minion sur le serveur Debian 11. Nous avons également expliqué comment gérer les Minions en utilisant des fichiers d’état et la ligne de commande. J’espère que cela vous aidera à automatiser et gérer votre infrastructure depuis un emplacement central. N’hésitez pas à me poser des questions si vous en avez.
Recevez de nouveaux articles dans votre boîte de réception.
Aucun spam. Désabonnez-vous à tout moment.