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/master

Modifiez-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.sls
base:
  '*':
    - motd
    - line6svn

Il vérifie un dépôt Subversion :

root@salt-master:/srv/salt# cat /srv/salt/line6svn.sls
https://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.sls
motd_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.highstate
salt-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 !

Share: X/Twitter LinkedIn

Recevez de nouveaux articles dans votre boîte de réception.

Aucun spam. Désabonnez-vous à tout moment.