Formation Ansible
Informations générales
Objectifs
Après ce cours, vous serez capable de :
- Installer et configurer Ansible pour piloter votre infrastructure
- Automatiser des processus avec des playbooks
- Créer et gérer des rôles, des variables et des templates personnalisés
- Déployer rapidement des configurations
- Automatiser des tâches répétitives
- Orchestrer des déploiements complexes sans avoir besoin de déployer des agents sur vos machines.
- Piloter des infrastructures avec Ansible.
- Connaître les outils de base et les mettre en application
- Intégrer des bonnes pratiques d’orchestration.
- Créer ses propres modules
Public
Ce cours s'adresse avant tout aux personnes suivantes :
Prérequis
Pour suivre ce cours, vous devez déjà posséder les connaissances suivantes :
- Connaissances en administration système
- Avoir des notions en langage de développement Python est un plus pour les aspects avancés de la formation
- Ordinateur portable à apporter
Programme de la formation
Cette formation Ansible vous permettra de maîtriser cet outil incontournable pour l’automatisation et la gestion d’infrastructures.
Les fondamentaux et la construction des éléments de base
Un premier aperçu d'Ansible
- Infrastructure As Code et idempotence
- Les concepts et la technologie Ansible
- Installation et configuration de l'outil
- Lignes de commande
- Git
Organisation d'un dépôt Ansible
- Fichier d’inventaire, hôtes et groupes
- Savoir utiliser un rôle dans galaxy
Les playbooks et modules
- Playbook, YAML
- Brève introduction au YAML
- Modules
- Tâches
- Ecriture d’un playbook
- Exécution d’un playbook
- Vérification de la syntaxe
- Check mode et verbosity
- Mises en pratique :
- Installation et configuration de l'outil Ansible
- Mise en place d’un serveur etherpad
- Mise en place d’inventaires et usage de rôles depuis galaxy
Maîtrise des variables et templates avancés
Les variables
- Afficher et utiliser une variable
- Les Ansible facts
- Hostvars, groupvars, ...
- Précédence
- Boucles et conditions dans les tâches
Les templates
- Quelques bases Jinja2
- Lookup
- Boucles et conditions
- Exemple : motd
- Filtres
- Le diff mode
Mises en pratique : - Améliorations et variations autour de playbooks précédents - Programmation d'un playbook plus complet avec Nginx et Flask - Usages des templates, des variables, des boucles et des conditions
Structurer son usage d'Ansible
-
Les projets Ansible
- Arborescences de projets et de rôles, philosophies d'architecture
- Apprendre à écrire un rôle
- Usage de Molecule comme framework de Test-Driven Development de rôles et d'Ansible
- Les collections
- Imports et includes
Un couteau suisse extensible
- Ansible vault
- Plugins de connexion
- Le module raw, les commandes Windows et cisco
- Inventaire dynamique avec Terraform
- Écrire un module
- Écrire un filtre
Mises en pratique : - Ecriture d’un module - Inventaire dynamique avec Terraform - Implémentation de Molecule
Méthode pédagogique
Chaque participant travaille sur un poste informatique qui lui est dédié. Un support de cours lui est remis soit en début soit en fin de cours. La théorie est complétée par des cas pratiques ou exercices corrigés et discutés avec le formateur. Le formateur projette une présentation pour animer la formation et reste disponible pour répondre à toutes les questions.
Méthode d'évaluation
Tout au long de la formation, les exercices et mises en situation permettent de valider et contrôler les acquis du stagiaire. En fin de formation, le stagiaire complète un QCM d'auto-évaluation.
Mis à jour le 24/03/2025
Le contenu peut faire l'objet de légères adaptations selon les besoins et la progression des participants.
