Dépannage Ansible
Cette section couvre les problèmes courants rencontrés avec Ansible et comment les résoudre.
Problèmes de connexion SSH
- Erreur :
Permission denied (publickey). - Solution :
- Vérifiez que les clés SSH sont configurées :
ssh-copy-id admin@192.168.1.10 - Assurez-vous que
ansible_userest correct dans l’inventaire. - Vérifiez le fichier
~/.ssh/config.
Erreurs de module
- Erreur :
Module 'apt' is not installed. - Solution : Assurez-vous que Python est installé sur l’hôte cible :
ansible -i inventory.ini all -m raw -a "apt install python3 -y"
Playbook échoue
- Erreur :
Syntax error. -
Solution : Vérifiez la syntaxe :
ansible-playbook playbook.yml --syntax-check -
Erreur :
Task failed. - Solution : Activez la verbosité pour plus de détails :
ansible-playbook playbook.yml -vvv
Variables non définies
- Erreur :
undefined variable. - Solution :
- Vérifiez que la variable est définie dans
vars,vars_files, ou l’inventaire. - Utilisez
debugpour inspecter :- name: Afficher variable debug: msg: "{{ my_variable | default('non défini') }}"
Problèmes d’idempotence
- Problème : Une tâche change l’état à chaque exécution.
- Solution : Remplacez
commandpar un module idempotent :# Mauvais - name: Créer utilisateur command: useradd myuser # Bon - name: Créer utilisateur user: name: myuser state: present
Problèmes de performance
- Problème : Exécution lente.
- Solution :
- Augmentez les forks dans
ansible.cfg:[defaults] forks = 50 - Activez le cache des facts :
[defaults] fact_caching = jsonfile fact_caching_timeout = 86400
Problèmes avec Vault
- Erreur :
Vault password incorrect. - Solution : Assurez-vous d’utiliser le bon mot de passe :
ansible-playbook vault.yml --ask-vault-pass