SALTStack · 2 min read · Jan 04, 2026
Installer et utiliser SALTStack dans un environnement mixte - Page 4
ARBRE D’ÉTAT SALT
Dans le cas où vous avez suivi ce guide, vous avez un léger aperçu de la facilité de gérer simultanément des tâches simples sur plusieurs serveurs.
Faisons un pas de plus. Il s’agit de gérer des tâches complexes dans un environnement complexe par une seule commande.
Plus de détails à ce sujet dans -> http://docs.saltstack.com/ref/states/highstate.html
Pour avoir cette fonctionnalité, vous devez configurer un peu votre salt, dans le dossier /etc/salt
Sur votre SALT MASTER, vous devriez avoir un fichier, appelé : master
Pour vous débarrasser des lignes commentées, cela ressemble à ceci :
root@salt-master:/etc/salt# grep -E -v '^#|^ *$' /etc/salt/masterModifiez-le jusqu’à ce que le résultat soit :
state_top: top.sls
file_roots:
base:
- /srv/salt
log_file: /var/log/salt/master
key_logfile: /var/log/salt/key
log_level: debug
Comme prochaine étape, nous créons trois fichiers d’état :
/srv/salt/top.sls -> C'est nécessaire
/srv/salt/motd.sls -> C'est optionnel
/srv/salt/line6svn.sls -> C'est optionnel
Le fichier top.sls est le point d’entrée, défini dans /etc/salt/master
Il donne le nom des fichiers SaltState sans “.sls”
Les fichiers d’état contiennent des commandes et des directives de configuration.
Vous pouvez également utiliser des filtres dans les noms de serveurs ou d’autres filtres de grains partout dans l’arbre d’état.
cat /srv/salt/top.slsbase:
'*':
- motd
- line6svn
Il vérifie un dépôt Subversion :
root@salt-master:/srv/salt# cat /srv/salt/line6svn.slshttps://svn.code.sf.net/p/line6linux/code/driver/trunk/:
svn.latest:
- target: /opt/Line6.SVN
Vous pouvez gérer un fichier texte :
root@salt-master:/srv/salt# cat /srv/salt/motd.slsmotd_perms:
file.managed:
- name: /etc/motd
- mode: 644
motd_quote:
file.append:
- name: /etc/motd
- text: "Parmi toutes les odeurs, le pain ; parmi tous les goûts, le sel."
Nous pouvons activer l’arbre d’état par la commande suivante :
root@salt-master:/srv/salt# salt '*' state.highstatesalt-minion2.test.local:
----------
État : - fichier
Nom : /etc/motd
Fonction : géré
Résultat : Vrai
Commentaire : Le fichier /etc/motd est dans le bon état
Changements :
----------
État : - fichier
Nom : /etc/motd
Fonction : ajouter
Résultat : Vrai
Commentaire : 0 lignes ajoutées
Changements :
----------
État : - svn
Nom : https://svn.code.sf.net/p/line6linux/code/driver/trunk/
Fonction : dernier
Résultat : Vrai
Commentaire : À la révision 1072.
Changements :
Résumé
------------
Réussi : 3
Échoué : 0
------------
Total : 3
salt-centos:
----------
État : - fichier
Nom : /etc/motd
Fonction : ajouter
Résultat : Vrai
Commentaire : 0 lignes ajoutées
Changements :
----------
État : - fichier
Nom : /etc/motd
Fonction : géré
Résultat : Vrai
Commentaire : Le fichier /etc/motd est dans le bon état
Changements :
----------
État : - svn
Nom : https://svn.code.sf.net/p/line6linux/code/driver/trunk/
Fonction : dernier
Résultat : Vrai
Commentaire : À la révision 1072.
Changements :
Résumé
------------
Réussi : 3
Échoué : 0
------------
Total : 3
Vous pouvez avoir une requête StateTree au serveur SaltMaster depuis un Minion, comme ceci :
[root@salt-centos ~]# salt-call state.highstate -l debugÉteindre tous les minions :
root@salt-master:~# salt '*' cmd.run "poweroff"salt-centos:
salt-minion2.test.local:
salt-minion1.test.local:
Bonne chance !
Recevez de nouveaux articles dans votre boîte de réception.
Aucun spam. Désabonnez-vous à tout moment.