Premiers Pas avec Ansible
Cette section vous guide à travers vos premières commandes Ansible pour tester la connectivité et exécuter des tâches simples.
Créer un inventaire
L’inventaire définit les hôtes que vous souhaitez gérer. Créez un fichier inventory.ini :
[webservers]
web1 ansible_host=192.168.1.10 ansible_user=admin
web2 ansible_host=192.168.1.11 ansible_user=admin
[dbservers]
db1 ansible_host=192.168.1.20 ansible_user=admin
Tester la connectivité
Utilisez le module ping pour vérifier que les hôtes sont accessibles :
ansible -i inventory.ini all -m ping
Sortie attendue :
web1 | SUCCESS => { "changed": false, "ping": "pong" } web2 | SUCCESS => { "changed": false, "ping": "pong" } text
Exécuter une commande ad-hoc
Les commandes ad-hoc exécutent une tâche unique sans playbook. Exemple pour vérifier l’espace disque :
ansible -i inventory.ini all -m command -a df -h
Créer un playbook
Un playbook est un fichier YAML qui définit plusieurs tâches. Créez playbook.yml :
---
- name: Test de base
hosts: webservers
become: yes
tasks:
- name: Installer vim
apt:
name: vim
state: present
update_cache: yes
- name: Vérifier uptime
command: uptime
register: result
- name: Afficher résultat
debug:
msg: "{{ result.stdout }}"
Exécutez le playbook :
ansible-playbook -i inventory.ini playbook.yml
Comprendre la sortie
La sortie d’un playbook montre : - SUCCESS : La tâche s’est exécutée correctement. - CHANGED : Un changement a été appliqué (par exemple, un paquet installé). - FAILED : Une erreur s’est produite.
Exemple de sortie :
TASK [Installer vim] ******** changed: [web1] changed: [web2]
TASK [Vérifier uptime] ****** ok: [web1] ok: [web2] text
Ajouter des hôtes dynamiquement
Vous pouvez utiliser un inventaire dynamique pour des environnements cloud (AWS, Azure). Exemple :
ansible-inventory -i aws_ec2.yml --graph
Tester avec un module
Utilisez le module setup pour collecter des informations sur un hôte :
ansible -i inventory.ini web1 -m setup
Cela affiche les facts (informations sur l’hôte, comme l’OS, la RAM, etc.).
Bonnes pratiques pour débuter
- Testez toujours vos commandes sur un environnement de test.
- Utilisez des commandes ad-hoc pour des tâches rapides, mais préférez des playbooks pour des automatisations complexes.
- Vérifiez la connectivité SSH avant d’exécuter des playbooks.
- Consultez la documentation des modules avec
ansible-doc <module>.