🧠 Mémo Ansible – Utilisation générale¶
Ce mémo est une référence rapide Ansible pour un usage quotidien (admin système, infra, automatisation). Formaté pour MkDocs.
📦 Concepts clés¶
| Terme | Description |
|---|---|
| Inventory | Liste des hôtes gérés |
| Playbook | Fichier YAML décrivant les actions |
| Play | Exécution sur un groupe d’hôtes |
| Task | Action unique |
| Module | Brique d’action (reboot, apt, service…) |
| Role | Structure réutilisable (tasks, vars, handlers…) |
| Facts | Infos système collectées par Ansible |
📁 Structure typique¶
ansible/
├── inventory.ini
├── ansible.cfg
├── playbook.yml
├── group_vars/
│ └── all.yml
├── host_vars/
│ └── srv01.yml
└── roles/
└── nginx/
├── tasks/main.yml
├── handlers/main.yml
├── templates/
└── vars/main.yml
📜 Inventory¶
Inventory simple¶
Variables dans l’inventory¶
▶️ Commandes de base¶
Tester la connectivité¶
Exécuter une commande¶
Avec sudo¶
📘 Playbook minimal¶
Exécution :
🔁 Reboot (cas fréquent)¶
Reboot séquentiel¶
🔀 Gestion de l’ordre (rolling)¶
Ou :
🔧 Modules essentiels¶
| Module | Usage |
|---|---|
ping | Test connexion |
command | Commande brute |
shell | Commande shell |
apt / dnf | Paquets |
service | Services |
copy | Copier fichier |
template | Jinja2 |
reboot | Redémarrage |
user | Gestion utilisateurs |
cron | Tâches cron |
🧠 Facts¶
Afficher les facts¶
Utilisation dans un playbook¶
🧮 Variables¶
Variables simples¶
Priorité (simplifiée)¶
- extra-vars (
-e) - host_vars
- group_vars
- playbook vars
🧩 Conditions¶
🔄 Handlers¶
tasks:
- name: Modifier conf
template:
src: nginx.conf.j2
dest: /etc/nginx/nginx.conf
notify: restart nginx
handlers:
- name: restart nginx
service:
name: nginx
state: restarted
📂 Templates Jinja2¶
🔐 Vault¶
Chiffrer un fichier¶
Utiliser¶
🧪 Mode check (dry-run)¶
🧹 Bonnes pratiques¶
- 1 rôle = 1 responsabilité
- Pas de
shellsi un module existe - Toujours tester avec
--check - Séparer vars / tasks / handlers
- Inventaire clair et commenté
📌 Cas d’usage typiques¶
- Rolling reboot
- Déploiement config
- Mise à jour OS
- Gestion utilisateurs
- Automatisation infra (Proxmox, LXC, VM)