Ansible Playbook pour les debutants
Ansible automatise la configuration de vos serveurs. Au lieu de vous connecter en SSH sur 10 machines pour installer nginx, un seul playbook le fait pour vous en 30 secondes. Voici comment écrire votre premier playbook.
Ansible en 3 concepts
- Inventaire : la liste de vos serveurs (qui ?)
- Playbook : les tâches à exécuter (quoi ?)
- Module : les actions unitaires — installer un paquet, copier un fichier, démarrer un service (comment ?)
Installation
# Ubuntu/Debian
sudo apt update && sudo apt install ansible -y
# Vérifier
ansible --versionL'inventaire
# inventory.ini
[webservers]
web1 ansible_host=192.168.1.10
web2 ansible_host=192.168.1.11
[databases]
db1 ansible_host=192.168.1.20
[all:vars]
ansible_user=ubuntu
ansible_ssh_private_key_file=~/.ssh/id_rsaVotre premier Playbook
# setup-web.yml
---
- name: Configurer les serveurs web
hosts: webservers
become: yes
vars:
app_port: 3000
tasks:
- name: Mettre à jour les paquets
apt:
update_cache: yes
upgrade: safe
- name: Installer Nginx
apt:
name: nginx
state: present
- name: Copier la configuration Nginx
template:
src: templates/nginx.conf.j2
dest: /etc/nginx/sites-available/default
notify: Restart Nginx
- name: Démarrer Nginx
service:
name: nginx
state: started
enabled: yes
handlers:
- name: Restart Nginx
service:
name: nginx
state: restarted# Exécuter le playbook
ansible-playbook -i inventory.ini setup-web.yml
# Mode dry-run (vérifier sans appliquer)
ansible-playbook -i inventory.ini setup-web.yml --check
# Verbose pour debug
ansible-playbook -i inventory.ini setup-web.yml -vvvLes modules les plus utiles
apt/yum— installer des paquetscopy/template— déployer des fichiersservice/systemd— gérer les servicesuser— créer des utilisateursfile— permissions et répertoiresdocker_container— gérer des conteneurs Dockercommand/shell— exécuter des commandes brutes
Ansible vs scripts Bash
Un script Bash fait le travail une fois. Ansible est idempotent : vous pouvez l'exécuter 100 fois, il ne modifie que ce qui a changé. C'est la différence entre "installer nginx" (qui plante si déjà installé) et "s'assurer que nginx est installé" (qui ne fait rien si déjà là).
🚀 Pratiquez Ansible sur de vrais serveurs
Nos labs Ansible vous connectent à de vrais serveurs à configurer. Pas de simulation.
5 labs Ansible gratuits →Passez à la pratique
Cet article vous a donné les bases. Maintenant, pratiquez chaque commande sur un vrai terminal avec nos labs interactifs guidés.
Commencer les labs Ansible