Aller au contenu

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>.

Ressources