SaltStack : outil de gestion des configuration et alternative à Ansible (gratuit)

Il existe sur le marché plusieurs outils open source de gestion des configurations de serveur, qui à partir de playbooks, vont faciliter l'exécution automatique et le déploiement de plusieurs tâches. SaltStack est apparu sur ce marché pour concurrencer Ansible et Puppet entre autres.

Saltstack : c’est quoi ?

Saltstack, appelé aussi Salt, est un logiciel développé sous Python en 2011, qui permet de gérer la configuration d’un serveur. Cet outil DevOps, disponible en open source, offre une bonne alternative à Ansible et Puppet. Il facilite par ailleurs le provisioning et le déploiement de fichier.

Comment installer Saltstack ?

Pour utiliser SaltStack, il faut commencer par installer le master (le serveur) et le minion (le client). Il faut, pour cela, effectuer les commandes suivantes :

  • 1- Installer les mises à jour : apt-get update.
  • 2- Installer le serveur : apt-get install salt-master.
  • 3- Installer le client : apt-get install salt-minion.
  • 4- Installer Syndic : apt-get install salt-syndic.

Il faut ensuite procéder à la configuration de Salt :

Se rendre dans le dossier /etc/salt pour nommer les fichiers de configuration /etc/salt/master, et /etc/salt/minion.

Attribuer à Salt une IP spécifique, redéfinir l’instruction interface dans /etc/salt/master :

- #interface: 0.0.0.0

+ interface: 192.168.0.25

Après avoir réactualisé le fichier, redémarrez le Salt master avec la commande service salt-master restart

Par défaut, un Salt minion tente de se connecter au nom DNS salt ; si la connexion se fait directement alors aucune configuration du minion n’est requise.

Sinon, il faudra redéfinir l’instruction master dans /etc/salt/minion :

- #master: salt

+ master: 192.168.0.25

Après avoir réactualisé le fichier, redémarrez le Salt minion avec la commande service salt-minion restart

Vous pouvez maintenant démarrer Salt en démarrant :

Le master en arrière-plan avec la commande : salt-master

Et le minion en arrière-plan avec : salt-minion.

Salt Mine

Salt Mine permet de collecter des données à partir des minions et de les stocker dans le serveur master. Ainsi, tous les utilisateurs peuvent accéder aux données en utilisant le module salt.modules.mine. Plusieurs fonctions Mine existent pour la collecte, le stockage et l’accès aux données.

Cmd State

Cmd state est un module qui permet de conditionner l’exécution des commandes. Il indique dans quels cas une commande doit être exécutée.

Minion et Grains

Salt utilise un vocabulaire particulier. minion désigne ici chacune des machines clientes quand le serveur est désigné par le terme master. Les informations échangées entre master et minions sont appelées grains. Ce sont en effet des informations reçues au lancement du minion, elles sont donc statiques. Il est possible d’avoir la liste des grains disponibles en utilisant le module « grains.ls » et les données peuvent être listées grâce au module « grains.items ».

Télécharger SaltStack

Plusieurs versions de Salt sont disponibles en téléchargement ici.

SaltStack versus Ansible

Comme Salt, Ansible est un outil de configuration de serveur. Il est très apprécié parce qu’il ne nécessite pas d’intermédiaire pour le déploiement et la communication, quand Salt utilise les minions. Par ailleurs, Ansible utilise la plupart des langages de programmation en plus de Python utilisé par Salt. L’utilisation de minions par Salt a cependant l’avantage de le rendre plus simple.

DevOps

SaltStack : outil de gestion des configuration et alternative à Ansible (gratuit)
SaltStack : outil de gestion des configuration et alternative à Ansible (gratuit)

Saltstack : c’est quoi ? Saltstack, appelé aussi Salt, est un logiciel développé sous Python en 2011, qui permet de gérer la configuration d’un serveur. Cet outil DevOps, disponible en open source, offre une bonne alternative à Ansible et Puppet. Il...