RousselTMLEARNING

TP · Vagrant : de la découverte à l'expertise

TP : Provisioning Ansible et snapshots

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. 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éez provision/site.yml qui installe nginx et publie une page d'accueil.
  2. 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 provisioner ansible_local (Ansible est installé dans la VM).
  3. 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. 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 sont changed ?

Niveau de difficulté : ●●●○○ (3/5)

Mon suivi

  • ⏱ Durée estimée : ≈ 40 min

Connectez-vous pour suivre votre progression et prendre des notes. Se connecter

✉️ Poser une question

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