SaltStack, ou Salt, a été développé sur GitHub, le terrain de jeu en ligne des dé­ve­lop­peurs. Le logiciel open source a été mis à la dis­po­si­tion du public en mars 2011. C’est un outil de gestion de la con­fi­gu­ra­tion utilisé pour la gestion et la sur­veil­lance au­to­ma­ti­sés des systèmes de serveurs. Avec SaltStack, il est possible d’installer et de con­fi­gu­rer un logiciel à partir d’un or­di­na­teur central et d’exécuter des commandes de con­fi­gu­ra­tion en nombre illimité. Vous pouvez ici découvrir ce qui fait la par­ti­cu­la­rité de Salt, comment il est utilisé par les ad­mi­nis­tra­teurs, et quels sont les avantages de cet outil de gestion et d’or­ches­tra­tion de con­fi­gu­ra­tion.

Qu’est-ce qui ca­rac­té­rise SaltStack ?

SaltStack est un logiciel open-source de l’Apache Software Foun­da­tion, qui peut être utilisé sur plusieurs pla­te­formes. Il permet la main­te­nance à distance, de créer des statuts cibles pré­dé­fi­nis et de lancer des contrôles, dans votre propre centre de données ainsi que dans un Cloud externe (in­dé­pen­dant du four­nis­seur). L’éditeur indique comme prin­ci­paux avantages de SaltStack la facilité d’ins­tal­la­tion, le contrôle rapide de la com­mu­ni­ca­tion en quelques mil­li­se­condes et la pos­si­bi­lité de gérer un grand nombre de serveurs en parallèle.

Si on le compare di­rec­te­ment avec des systèmes si­mi­laires, tels que Terraform ou Puppet, SaltStack marque des points grâce à ses pos­si­bi­li­tés d’ap­pli­ca­tion po­ly­va­lentes et à sa rapidité. Le principe reste néanmoins le même : l’ad­mi­nis­tra­teur détermine de manière cen­tra­li­sée sur un serveur la con­fi­gu­ra­tion des autres or­di­na­teurs. Le logiciel de gestion de con­fi­gu­ra­tion le met ensuite en œuvre sur les dif­fé­rents clients. SaltStack utilise la bi­blio­thèque d’échange de messages asyn­chrone ZeroMQ pour la com­mu­ni­ca­tion entre le serveur et les clients. Cette bi­blio­thèque permet de dis­tri­buer ra­pi­de­ment de petites et de grandes quantités de données. La com­mu­ni­ca­tion est sécurisée grâce au chif­fre­ment des données avec la méthode de chif­fre­ment sy­mé­trique AES. Enfin, la fonction RAET (Reliable Asyn­chro­nous Event Transport), mise en œuvre en 2014, offre une sécurité sup­plé­men­taire lors du transport de données.

Les con­fi­gu­ra­tions actuelles fonc­tion­nent avec SaltStack via un fichier texte au format YAML. Le langage de balisage simple permet de re­pré­sen­ter les données struc­tu­rées sous forme sé­quen­tielle. À l’aide du langage de pro­gram­ma­tion Python, SaltStack vous permet de combiner de nom­breuses commandes de con­fi­gu­ra­tion prêtes à être exécutées.

Diversité des pro­cé­dures de gestion avec SaltStack

Outre la gestion de systèmes comme Linux, SaltStack peut également être utilisé pour organiser les clients MacOS et Windows. SaltStack offre une interface uni­ver­selle avec le Cloud Salt. Vous pouvez donc con­fi­gu­rer et gérer de nombreux systèmes. Même les Cloud privés et les en­vi­ron­ne­ments virtuels peuvent être gérés au­to­ma­ti­que­ment.

Note

Dans le tutoriel DevOp en anglais, vous trouverez tout ce qu’il faut savoir pour utiliser Terraform et SaltStack.

Les avantages pour les ad­mi­nis­tra­teurs

  1. Quel que soit le système cible que les ad­mi­nis­tra­teurs veulent modifier, les commandes dans SaltStack sont toujours les mêmes. Cela rend le fonc­tion­ne­ment simple et facile à maîtriser.
  2. L’outil assure non seulement la ré­par­ti­tion au­to­ma­ti­sée des con­fi­gu­ra­tions, mais peut également réagir aux évé­ne­ments, car il en­re­gistre le type de com­mu­ni­ca­tion échangé dans l’in­fras­truc­ture.
  3. SaltStack est in­té­gra­le­ment inclus dans Salt Open et est dis­po­nible pour tous dans la licence Apache 2.0. En outre, vous pouvez par­ti­ci­per ac­ti­ve­ment à la con­cep­tion du logiciel. Si vous appréciez le support de l’éditeur, sachez qu’une version En­tre­prise est dis­po­nible.

Les prin­ci­paux termes expliqués

Si vous utilisez SaltStack, vous ren­con­tre­rez toujours certains termes qui sont liés à l’outil de gestion de con­fi­gu­ra­tion. Nous avons résumé ci-dessous les plus im­por­tants :

Salt-Master

Le Salt-Master a été développé avec le langage de pro­gram­ma­tion Python et est le serveur pour la bi­blio­thèque de mes­sa­ge­rie ZeroMQ, qui à son tour transmet les données au client. Les serveurs et les clients sont également appelés « master » et « minion ». C’est pourquoi le serveur de SaltStack est nommé Salt-Master. La gestion centrale de tous les systèmes cibles intégrés s’effectue via ce serveur. Les commandes et les fichiers sont transmis par son in­ter­mé­diaire.

Salt-Minion

Les Salt-Minions reçoivent les ordres du Salt-Master. Ils l’informent de tous les événement et résultats per­ti­nents.

Salt-Syndic

Le Salt-Syndic est un Salt-Master in­ter­mé­diaire. Il agit entre le Salt-Master et les Salt-Minions.

Salt-SSH

Parfois, il peut arriver qu’un Salt-Minion ne puisse pas être exécuté sur un système cible. Via SSH, le Salt-Master peut contacter di­rec­te­ment ce système. Toutefois, cela élimine l’échange via ZeroMQ, ce qui peut ralentir con­si­dé­ra­ble­ment le processus. En outre, certaines fonctions et certains modules peuvent également être omis.

Salt-Proxy Minion

Avec le Salt-Proxy Minion, il est possible de gérer des appareils tiers. Cela inclut, par exemple, les dis­po­si­tifs de réseau tels que les routeurs ou les com­mu­ta­teurs.

Comment fonc­tionne SaltStack ?

Les Salt-Minions sont ap­pro­vi­sion­nés en commandes par le Salt-Master via des « bus » tels que ZeroMQ, SSH ou Proxy-Minion. Les Salt-Minions font leur rapport avec une clé in­di­vi­duelle. Le Salt-Master doit l’accepter lors du premier contact afin que la commande puisse alors être exécutée. La com­mu­ni­ca­tion chiffrée avec les paires de clés a donc lieu.

Imaginons que vous souhaitez con­fi­gu­rer un logiciel. Pour cela, vous donnez le com­man­de­ment au Salt-Master, qui le transmet à tous les Salt-Minions. Le logiciel est ensuite au­to­ma­ti­que­ment configuré sur tous les appareils de l’in­fras­truc­ture. Le « master » peut être éven­tuel­le­ment dupliqué en tant que Salt-Syndic.

Aller au menu principal