Ce que vous allez apprendre dans ce TP
- Écrire un playbook de provisioning
- Utiliser ansible_local
- Protéger ses essais par un snapshot
Ansible local #
Ce que vous allez apprendre dans cette section
- Écrire un playbook de provisioning
- Utiliser ansible_local
- Protéger ses essais par un snapshot
Contexte. Les scripts shell de provisioning deviennent vite illisibles. Utiliser Ansible comme provisioner donne un langage déclaratif, réutilisable ensuite en production, et les snapshots permettent d'expérimenter sans crainte de tout casser.
Prérequis : TPs précédents, notions d'Ansible · Durée estimée : 40 min
Provisionner sans installer Ansible sur l'hôte.1. Écrire un playbook
Pourquoi ? Un playbook décrit l'état souhaité (nginx installé et démarré) plutôt que des commandes : il se relit et se rejoue sans effets de bord.
Créezprovision/site.ymlqui installe nginx et publie une page d'accueil.2. Brancher le provisioner
Pourquoi ? Le mode local installe Ansible dans la VM : aucun prérequis sur le poste, donc fonctionne de la même façon sous Linux, macOS et Windows.
Utilisez le provisioneransible_local(Ansible est installé dans la VM).3. Snapshots avant une manipulation risquée
Pourquoi ? Un snapshot est un point de restauration quasi instantané : il permet de tester une manipulation risquée et de revenir en quelques secondes.
Prenez un snapshot, cassez volontairement nginx puis restaurez.4. Vérifier l'idempotence
Pourquoi ? Un second passage sans modification doit afficher changed=0 ; c'est le critère qui prouve que le playbook est bien idempotent.
Relancez le provisioning : combien de tâches sontchanged?
Niveau de difficulté : ●●●○○ (3/5)
Mon suivi
Connectez-vous pour suivre votre progression et prendre des notes. Se connecter
Articles recommandés
Bonnes pratiques Vagrant : des environnements reproductibles et rapides
Bonnes pratiques Vagrant : Vagrantfile versionné, boxes épinglées, provisioning idempotent, multi...
Linux vs Unix : Le Guide Complet des Commandes et Distributions
Comprenez les différences entre Linux et Unix, explorez les distributions (serveur, desktop, ligh...
Ansible : l'inventaire (statique, dynamique, groupes et variables)
Comprendre et maîtriser l'inventaire Ansible : fichiers INI et YAML, groupes, variables d'hôte et...
Ansible : les commandes Ad-Hoc
Exécuter des actions immédiates sur un parc de serveurs avec ansible : modules ping, command, she...
Ansible : structurer son code avec les rôles
Créer, organiser et réutiliser des rôles Ansible : arborescence, defaults, tasks, handlers, templ...
Ansible : générer des fichiers dynamiques avec Jinja2 et les facts
Créer des fichiers de configuration dynamiques : templates Jinja2, variables, facts, filtres, bou...
Ansible : gérer la sécurité (Vault, SSH, privilèges et secrets)
Sécuriser Ansible : Ansible Vault, authentification SSH par clés, become et sudo, no_log, durciss...
Ansible : gérer son infrastructure avec des playbooks (Infrastructure as Code)
Écrire des playbooks de production : structure d'un projet, plays, handlers, tags, strategy seria...
Ansible : piloter ses automatisations avec une interface graphique (AWX, Semaphore, AAP)
Comparer et installer les interfaces graphiques d'Ansible : AWX, Ansible Automation Platform, Sem...