Chapitre 3 - Travailler avec les Playbooks Ansible - Pratique 03
Dans ce chapitre, nous allons explorer l'utilisation des playbooks dans Ansible pour automatiser des tâches complexes de manière efficace. Les playbooks avancés vous permettent d'organiser et de réutiliser votre code de manière structurée. Cette fonctionnalité est particulièrement utile pour :
- Créer des playbooks modulaires et réutilisables.
- Organiser les tâches de manière logique avec des tags.
- Gérer efficacement des configurations complexes.
📋 Table des Matières
- Introduction
- Prérequis
- Résumé des Étapes Précédentes
- Partie 1 : Créer et Exécuter votre Premier Playbook
- Partie 2 : Créer un Playbook Multi-Tâches
- Partie 3 : Réutiliser des Tâches via l'Importation
- Partie 4 : Utiliser les Tags pour l'Exécution Sélective
- Conclusion
Introduction
Dans cette pratique, vous allez apprendre à automatiser des tâches sur vos conteneurs Docker en utilisant Ansible avec des playbooks. Nous commencerons par des tâches simples avant de passer à des opérations plus avancées. Assurez-vous d’avoir bien configuré Docker, Docker Compose et Ansible avant de débuter.
Prérequis
Pour réaliser cette pratique, il est obligatoire d'avoir effectué les étapes 1 à 4 du Chapitre 2 - Déployer une Infrastructure Docker avec Ansible - Pratique 02.
Si vous aviez précédemment arrêté les conteneurs, vous pouvez les redémarrer avec :
docker start node1 node2 node3 node4 node5 node6
ou
docker compose up -d
🔙 Retournez à la Table des Matières
Résumé des Étapes Précédentes (Chapitre 2)
Dans le chapitre précédent, nous avons mis en place une infrastructure Docker complète pour nos tests Ansible :
1. Installation des Prérequis
- Installation de Docker et Docker Compose sur Ubuntu 22.04
- Configuration de l'environnement de base
2. Déploiement de l'Infrastructure
- Création d'une architecture avec 6 conteneurs Docker :
- node1, node5, node6 : Ubuntu
- node2 : Debian
- node3, node4 : AlmaLinux
- Configuration réseau avec des IPs statiques (172.20.0.2-7)
- Exposition des ports SSH (22) et HTTP (80)