Introduction DevOps
L'origine du mouvement DevOps
Le besoin d'industrialisation pour l'opérationnel
Tour d'horizon des outils
Positionnement de Ansible dans le paysage actuel
Découvrir et installer Ansible
Origine du projet
Fonctionnement, rapport à SSH
Les méthodes d'installation
Atelier pratique : installer ansible sur la machine de contrôle, préparer les noeuds.
Configurer Ansible et utiliser le mode \"Ad Hoc\"
Configurer les connexions SSH
Décrire et utiliser l'inventaire
Expérimenter les commandes ad-hoc
Découvrir le fonctionnement des modules
Atelier pratique : utiliser ansible pour exécuter des commandes sur les noeuds, transférer des fichiers.
Découvrir les principales fonctionnalitées Ansible
Présentation et réalisation d'un playbook
Les variables et les faits
Présentation des différentes itérations
Contrôler l'exécution des tâches
Les conditions
Les handlers
Les blocs
Debuger une tâche
Les rôles et l'inclusion de tâches
Atelier pratique : écrire un playbook pour déployer des applications, piloter un environnement complet avec ansible.
Appréhender les fonctionnalités avancées
Templating: Jinja 2
- Présentation de Jinja et sa syntaxe
- Présentation des filtres jinja
- Itération simple
Ansible-galaxy
- Présentation
- Installation d'un rôle depuis le dépôt public
Gestion des données sensibles
- Présentation d'ansible vault et vault-id
Atelier pratique : Templating et sécurisation d'un playbook.
Combiner les bonnes pratiques
Codage: les évolutions importantes
Présentation de ansible-lint
Utilisation des tags
Utilisation des limits
Utilisation du mode dry-run
utiliser les commandes d'aide
Optimiser l' inventaire
Structurer son inventaire pour un contexte de production
La surcharge de variables
Présentation des inventaires dynamiques
Gérer l'affectation des rôles exécutés sur les hôtes
Présentation du système de délégation
Atelier pratique: mise en situation
Maîtriser l'environnement ansible
Configuration du fichier ansible.cfg
Les commandes ansible-config
Structuration des répertoires projet
Atelier pratique : optimisation de la configuration de notre projet ansible
Maîtriser le templating: Jinja 2
Résumer la syntaxe jinja
Présentation des filtres jinja
Itération simple et avancée en jinja
Déclaration de variables locales
Présentation du système d'inclusion
Présentation du système de macro
Atelier pratique DNS: modéliser dynamiquement les enregistrements dans une zones DNS
Préparer le déploiement à grande échelle
Rappels sur les rôles
Modélisation d'un nouveau rôle
Gestion des métadonnées du rôle
Créer une plateforme de partage de rôles (gitlab, github)
Utiliser les \"requirements\" pour gérer l'écosystème
Atelier pratique : Création de rôles structurés, partage de rôles et gestion des \"requirements\"