Introduction DevOps
L'origine du mouvement DevOps
Le besoin d'industrialisation pour l'opérationnel
Tour d'horizon des outils
Positionnement de SaltStack dans le paysage actuel
Présentation de SaltStack
Origine du projet
Architecture : maîtres et servants (master/minions)
Dépendances, et configuration de base
Les commandes intégrées à salt
Atelier pratique : installer le maître et les servants sur les nœuds, tester les commandes
Les états dans Salt (States)
Présentation des fichiers SLS et de YAML
Organisation des fichiers : fichier principal (top file), dépendances et inclusions
Ressources et modules de base (user, service, pkg,...)
Exécution des états sur les servants
Atelier pratique : écriture des premiers états Salt, déploiement d'un serveur Web et d'une page personnalisée sur les "minions"
Pilier (Pillar), grains et modèles
Découvrir les grains, configurer et rajouter des variables
Manipuler des grains dans les états pour affiner la configuration
Utilisation des modèles dans les états avec Jinja
Grains et modèles pour les fichiers
Stocker les informations avec Pillar
Atelier pratique : manipuler les grains de base, ajouter des données avec Pillar, créer des fichiers de configuration et des états modèles
Cibler les servants (minion targeting)
En utilisant des expressions globales ou régulières
Via les grains
En utilisant des variables Utilisateurs stockées dans Pillar
Autres méthodes : par IP, expression composée, groupes
Orchestration, exécution de jobs
Atelier pratique : utiliser des grains personnalisés et de Pillar pour déployer des serveurs frontaux et de soutien avec Salt, exécuter des commandes de manière séquentielle.
Gestion des environnements
Mise en place d'une solution Salt
Configuration des différents environnements
Présentation des groupes
Présentation du gitfs
Atelier pratique : Mise en place de plusieurs environnements
Boostraper Salt avec Salt
Présentation de Salt-ssh
Configuration d'un roster
Masterless et mode raw de Salt-ssh
Gérer l'installation des agents salt-minion avec salt-ssh
Atelier pratique : Création d'un rôle de bootstraping utilisant Salt-ssh
Orchestration et planification
Définir les enjeux de l'orchestration
Utilisation de 'orchestrator' dans le cadre d'une application
Planifier des executions avec le module schedule
Industrialiser la création le rôle avec du CI/CD
Définition du Continous Delivery et Continous Integration
Présentation de l'outil gitlab
Modéliser les rôles avec cookiecutter
industrialiser les tests avec molecule
Atelier pratique Création d'un rôle industrialisé avec cookiecutter et molecule
Pour aller plus loin
Présentation des beacons
Présentation des reactors
Administrer salt avec salt-runners et les jobs
Présentation du mode Multi-master