C’est partie aussi pour la formation SaltStack et ses tutos…

Print Friendly, PDF & Email

Hello la team !! J’espère que vous allez bien. Je suis un peu partout en ce moment mais pour autant la chaîne Xavki ne s’arrête pas. Cela fait maintenant plusieurs semaines où j’ai commencé la formation saltstack.

Alors je préfère prévenir que je n’ai absolument pas le même niveau entre Salt et Ansible. Sur ce dernier j’ai une pratique de plusieurs années dans des environnements et utilisations assez différentes mais par sur Saltstack (à mon grand désespoir).

Cependant, j’adore les orchestrateurs, gestionnaires de configurations et donc forcément si vous me suivez un peu j’ai acheté plusieurs bouquins pour compléter ma petite pratique du quotidien au travail. Bref ça avance gentillement et j’espère faire quelque chose d’assez complet au moins dans une première passe. Peut être que comme pour ansible je ferais une repasse dessus le jour où je trouverais que c’est pas assez bien.

Alors on prend les mêmes et on recommence. C’est à dire j’applique la formule qui plait aux plus grands nombres sur la chaine youtube (même si très rarement j’ai des retours contraires).

Ainsi, on commence par de l’introduction et quelques concepts de base pour poser les premières briques avant d’aller un peu plus loin.

Bien sûr toutes les slides et codes sont disponibls dans mon projet gitlab.

Introduction

C’est partie pour débuter avec Salt.

Alors la petite histoire de Salt commence en 2011 dans le coin de… SaltLake City. ET son univers gravite autour du sel avec des grains, des pilliers… Bon pour les gens qui veulent un peu plus de garantie sur le projet, il a été repris par VMWare en 2020, un peu comme Ansible a été repris par Redhat. Un bon moyen de le voir progresser.

Découvrez  Bridge, namespaces et vethernet comme docker0

Si j’avais un truc à retenir de SaltStack ce serait son architecture et un point crucial : l’event driven infrastructure.

Whouah, là on touche à des mots qui comptent triples au scrabble de l’IT (et j’aime pas mais bon là c’est adapté).

Alors pourquoi c’est cool ?

Tout simplement car Salt est un système généralement utilisé en mode master/agent (d’autres utilisations sont possibles). Mais pour faire ça bien et supporter de lourdes charges (de nombreux agents donc un parc étendu), il se base sur une queue de message pour assurer la communication entre le master et les agents. C’est du ZeroMQ. Incroyable non ? il fallait y penser.

Et mieux encore, cette queue permet de fonctionner dans les deux sens (ou plutôt ces queues). Là ça ouvre la curiosité. Oui SaltStack avec cette infrastructure est capable de faire des choses que ne font pas d’autres orchestrateurs.

Quelques liens importants pour débuter avec SaltStack :

Comme d’autres orchestrateurs en mode master/agents, il utilise un chiffrement pour la communication (AES).

SaltStack c’est surtout du python et du yaml.

Quelques définitions

Bien sûr pour bien débuter et se former à Salt on va commencer par plusieurs définitions indispensables (même si il en existe d’autres).

Le Master : c’est le serveur central ou multiples serveurs centraux. Il héberge la queue ZeroMQ. Toutefois il est possible de réaliser du masterless avec simplement un pull des agents. Il peut y avoir des masters intermédiaires des master-syndic.

Découvrez  VictoriaMetrics : comment réduire à néan prometheus et thanos à la fois :)

Les Minions : ce sont les agents qui se connectent aux masters pour se synchroniser. On parle aussi de salt-proxy dans le cas où l’on utilise des agents spécifiques à des appareils particuliers (switch réseau…).

Les Pillars : il s’agit des variables permettant de réaliser une installation particulière (mot de passe, host…). Ces variables peuvent être de différentes formes : string, liste, dictionnaire… Au format yaml.

Les Grains : variables non spécifiques à une installation mais aux serveurs cibles comme par exemple : le système d’exploitation, les ips, les disques…

Les States : il s’agit d’actions réalisées pour installer des blocs cohérents (installation d’un moteur de base de données, installation/configuration d’un proxy…).

Le Top : les fichiers top.sls permettent de décrire quelles machines vont se voir attribuer telles ou telles variables et également se voir jouer tels ou tels states.

Le Reactor et le Beacon : possibilité de faire remonter des évènements par les agents et de déclencher des actions en conséquence (redémarrage de services etc).

Voici donc pour cette première passe sur SaltStack et une prochaine fois nous découvrirons l’installation de notre premier master et ses agents (déjà disponibles en vidéos).

Si vous voulez suivre l’évolution de cette formation SaltStack, rendez-vous ici.

N’hésitez pas à venir découvrir la chaine Xavki et à s’y abonner.