Files
Ansible/README.md

90 lines
2.4 KiB
Markdown
Raw Normal View History

2026-04-04 18:25:21 +02:00
>🚀 Ansible Training: Database & Firewall Deployment
Ce projet est un bac à sable (sandbox) destiné à apprendre et pratiquer l'automatisation avec Ansible. L'objectif est de déployer une pile de base de données sécurisée sur une machine virtuelle Linux distante.
📋 Présentation du Projet
---
L'automatisation réalise les actions suivantes :
Mise à jour des dépôts et installation du serveur/client MariaDB.
Configuration du Pare-feu via nftables (déploiement d'un fichier de configuration personnalisé).
Gestion des services : s'assure que la base de données et le firewall sont actifs et activés au démarrage.
---
### 🏗️ Architecture
Machine de contrôle : Mon PC local (sous Linux/WSL).
Machine distante (Managed Node) : VM d'entraînement Linux (Debian/Ubuntu).
IP : 192.168.1.119 (configurée dans l'inventaire).
Utilisateur : maxime avec privilèges sudo.
---
### 📁 Structure du Projet
```
Plaintext
.
├── ansible.cfg # Configuration globale d'Ansible (remote_user, become, etc.)
├── ansible/
│ ├── inventory/
│ │ └── inventory.ini # Liste des hôtes et variables de connexion
│ ├── playbook/
│ │ └── site.yml # Master Playbook (point d'entrée)
│ └── modules/ # Fichiers de configuration à déployer
│ └── nftables.conf
└── README.md # Cette documentation
```
### 🚀 Utilisation
## Pré-requis
Ansible installé localement.
L'utilitaire sshpass (pour la connexion par mot de passe).
Une VM Linux accessible via SSH.
---
## Lancer le déploiement
Pour exécuter l'intégralité de la configuration, utilise la commande suivante :
Bash
ansible-playbook -i ansible/inventory/inventory.ini ansible/playbook/site.yml -k -K
-k : Demande le mot de passe SSH.
-K : Demande le mot de passe SUDO (become).
---
### Concepts abordés
```
Au cours de cet entraînement, les concepts suivants ont été abordés :
Idempotence : Relancer le playbook ne modifie le serveur que si nécessaire.
Gestion des Handlers : Redémarrage automatique des services uniquement en cas de changement de configuration.
Escalade de privilèges : Utilisation de become pour les tâches administratives.
Structure de projet : Organisation des fichiers et gestion des chemins relatifs.
```