Gestion d’infrastructures avec Salt

SLT3 days

Objectives

Salt est un environnement d’exécution distribué et asynchrone, qui se positionne comme le couteau suisse de la gestion d’infrastructure. Développé conjointement par la société SaltStack et la communauté Salt, il est complètement libre et refuse les modèles de type open-core. Qu’il s’agisse d’exécuter une commande sur plusieurs machines, de définir puis appliquer une configuration système, de récolter les mesures faites par des sondes, de lancer des machines virtuelles ou de gérer un « cloud » : Salt a une solution.
La rapidité d’exécution de Salt, sa facilité d’accès, sa versatilité et son extensibilité en font un outil efficace, mais qui demande du temps pour être pleinement maîtrisé.
Cette formation de trois jours a pour but de faciliter une mise en oeuvre rapide de Salt et de permettre de choisir pour quelles tâches il sera utilisé.


Audience

ingénieurs, chercheurs, techniciens


Prerequisites

Expérience pratique et régulière de l’administration système sous Unix ou Windows (3 mois minimum), connaissance des principes de la virtualisation et du cloud.


program

Introduction à Salt
  • Les bases : rappels sur la gestion d’infrastructure et de l’administration système
  • Les défis : tour d’horizon des problèmes classiques et des défis actuels
  • Présentation de Salt : présentation historique de Salt
  • Usages de Salt : Salt comme couteau suisse universel de la gestion d’infrastructure
Architecture globale de Salt
  • Exécution locale ou distante : accès par ssh, définition de master / minion, principe de targeting, utilisation sur Unix et Windows
  • Déploiement de fichiers : mise à disposition de fichiers, utilisation de moteurs de templates pour produire des fichiers et utilisation de Git ou Mercurial pour gérer les fichiers à déployer
  • Bus de message asynchrone : production, consommation et transmission d’évènements (reactor, peer, syndic)
  • Configuration : définition et application d’états (states)
  • Variables : stockage des données sur les esclaves (grains), sur le maître (pillars) et données globales (mine)
  • Extensibilité : utilisation de modules et de composants (formulas), reversement de données produites (returners)
Exécution de commandes
  • Ciblage : targeting
  • Local : salt-call
  • Distant sans agent : salt-ssh
  • Distant via agent : salt-minion
  • Multi-système : distributions Unix et Windows
Gestion de configuration
  • Définir des états : le format YAML, modules et templates
  • Utiliser des variables : grains, pillars, mine
  • Utiliser des logiciels de gestion de versions distribués (DVCS) : utilisation de Git ou Mercurial avec Salt
  • Structurer la description de son infrastructure : organiser ses fichiers sls et ses pillars
Utilisation de clouds publics ou privés
  • salt-cloud : Utiliser les fournisseurs de clouds publics avec salt-cloud et y déployer son infrastructure
Gestion de machines virtuelles
  • salt-virt : déployer des hyperviseurs (libvirt) avec Salt, configurer le réseau, concevoir les images de machines virtuelles
Extensibilité, intégration
  • Modules : écrire et déployer ses propres modules
  • États : écrire et déployer ses propres states
  • Composants partagés : principe et utilisation des formulas
  • Architecture et urbanisme avec Salt : utiliser Salt pour urbaniser un système d’information.
  • Vers le Test-Driven-Infrastructure (TDI) : Comment utiliser Salt dans un objectif de documentation et de développement de son infrastructure piloté par les tests


Customization

Cette formation peut être adaptée afin de répondre au mieux à vos besoins. Logilab dispose aujourd’hui d’une palette très large de modules pédagogiques permettant la personnalisation de ses formations.
L’adaptation des cours en intra-entreprise ne pose aucun problème ; cette opération est cependant plus difficile pour les cours en inter-entreprises regroupant des participants provenant de divers organismes. N’hésitez pas à demander conseil à notre service dédié.


Terms

Langues

français, anglais

Pédagogie

La formation est partiellement active (classe inversée) ; chacun des participants effectue son propre parcours d’apprentissage sous la supervision et l’accompagnement du formateur. Chaque partie de la formation comprend généralement une première partie de présentation des notions faite par le formateur devant l’ensemble du groupe, puis une deuxième partie d’exercices applicatifs effectués individuellement par chaque participant. Au cours de cette deuxième partie, le formateur est régulièrement disponible pour aider, conseiller ou revenir sur des notions lacunaires. Il pourra être indiqué aux stagiaires quelques lectures à faire avant chaque première partie afin de préparer l’acquisition des notions.

Travaux pratiques

Cette formation accorde une place prépondérante aux travaux pratiques qui permettent, tout au long du cours, de mettre en œuvre et assimiler les concepts théoriques. Chaque stagiaire dispose d’une machine sur laquelle il peut réaliser les exercices et expérimenter.

Validation des acquis

Des travaux pratiques et des tests sont effectués tout au long de la formation. En fin de session, un contrôle permet de vérifier que les objectifs pédagogiques ont été atteints et que les nouvelles connaissances ont bien été acquises. Une attestation individuelle de formation est établie.

Lieu d'intervention

Cette formation peut être réalisée :
  • sur site, dans les locaux du client, pour un groupe de participants,
  • dans les locaux de Logilab à Paris ou à Toulouse,
  • en ligne en s’appuyant sur la plateforme d’exercices accessible via le navigateur et sur une solution de visioconférence également accessible via le navigateur.
Lorsque la formation a lieu en ligne, il est nécessaire que les participants disposent d’une connexion à Internet de bonne qualité.

Conditions d'accueil

Chaque participant dispose d’un compte individuel sur les outils numériques utilisés pour la formation et d’un exemplaire personnel du support de cours (format papier ou format PDF). Le participant continue à avoir accès à son compte indivduel pendant 2 mois après le dernier jour de formation.
Afin d’assurer un meilleur suivi des participants, l’effectif de la formation est limité à dix (10) personnes.

Formateurs

Tous les formateurs sont diplômés de l’enseignement supérieur (niveaux M ou D du processus de Bologne), et travaillent dans les équipes de R&D de Logilab où ils développent du logiciel et pratiquent au quotidien les techniques qu’ils enseignent.