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 avecsalt-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.