Aller au contenu principal

📌 Aide-mémoire : Commandes Ansible essentielles

Retrouvez ici toutes les commandes clés et options incontournables pour vos automatisations et playbooks Ansible au quotidien. Utilisez la barre de recherche pour filtrer instantanément.

Tester la connectivité SSH et le module ping vers tous les hôtes avec l'utilisateur vagrantAd-hoc
ansible all -u vagrant -m ping
Exécuter la commande uptime sur tous les hôtes du groupe webserversAd-hoc
ansible webservers -m command -a "uptime"
Exécuter une commande shell avec gestion des redirections et pipes sur tous les hôtesAd-hoc
ansible all -m shell -a "ls -la /home"
Exécuter une commande avec élévation de privilèges sudo (-b)Ad-hoc
ansible all -m command -a "systemctl restart apache2" -b
Vérifier la connectivité en mode simulation (check) et affichage des différences (diff)Ad-hoc
ansible all -C -D -m ping
Exécuter une commande bas niveau via le module raw sans prérequis Python sur les ciblesModules
ansible all -b -K -m raw -a "apt update && apt install -y python3"
Installer le paquet Apache httpd avec le module de gestion de paquets yumModules
ansible all -m ansible.builtin.yum -a "name=httpd state=present" -b
Copier un fichier local vers les hôtes distantsModules
ansible all -m ansible.builtin.copy -a "src=/home/user/config.txt dest=/etc/config.txt" -b
Créer ou mettre à jour un compte utilisateur distant avec ses groupesModules
ansible all -m ansible.builtin.user -a "name=john state=present groups=wheel" -b
Exécuter l'ensemble des tâches du playbook deploy.ymlPlaybook
ansible-playbook deploy.yml
Vérifier la syntaxe YAML et la structure d'un playbook sans l'exécuterPlaybook
ansible-playbook deploy.yml --syntax-check
Exécuter un playbook avec un fichier d'inventaire spécifiquePlaybook
ansible-playbook -i inventory.ini deploy.yml
Exécuter en mode dry-run (simulation) et afficher les modifications prévuesPlaybook
ansible-playbook deploy.yml -C --diff
Définir un parallélisme d'exécution de 10 forks simultanésPlaybook
ansible-playbook deploy.yml -f 10
Lister toutes les tâches qui seraient exécutées par le playbookPlaybook
ansible-playbook deploy.yml --list-tasks
Lister l'ensemble des tags disponibles dans le playbookPlaybook
ansible-playbook deploy.yml --list-tags
Exécuter uniquement les tâches associées aux tags spécifiésPlaybook
ansible-playbook deploy.yml -t "web,db"
Reprendre l'exécution du playbook directement à une tâche précisePlaybook
ansible-playbook deploy.yml --start-at-task="Redémarrer Apache"
Exécuter le playbook étape par étape avec demande de confirmation interactivePlaybook
ansible-playbook deploy.yml --step
Passer des extra vars simples en ligne de commandeVariables
ansible-playbook deploy.yml -e "env=production user=admin"
Passer une variable structurée sous forme de dictionnaire JSONVariables
ansible-playbook deploy.yml -e "config={'server':'web1','port':80}"
Charger des extra variables depuis un fichier externe YAML ou JSON (@fichier)Variables
ansible-playbook deploy.yml -e @vars.yml
Afficher et évaluer des variables passées en ligne de commande via debugVariables
ansible webservers -m ansible.builtin.debug -a "msg={{ config }}" -e "config={'server':'web1','port':80}"
Afficher l'inventaire complet et ses variables associées au format YAMLInventaire
ansible-inventory -i inventory.yml --list --yaml
Inspecter les variables et données détaillées d'un hôte spécifiqueInventaire
ansible-inventory -i inventory.yml --host webserver1
Afficher la hiérarchie des groupes d'inventaire sous forme d'arborescence avec variablesInventaire
ansible-inventory -i inventory.yml --graph --vars
Afficher le contenu du fichier de configuration actif (ansible.cfg)Configuration
ansible-config view
Lister uniquement les paramètres de configuration modifiés par rapport aux valeurs par défautConfiguration
ansible-config dump --only-changed
Générer un fichier de configuration ansible.cfg modèle complet et commentéConfiguration
ansible-config init --disabled > ansible.cfg
Initialiser l'arborescence standard d'un nouveau rôle AnsibleGalaxy
ansible-galaxy role init mon_role_nginx
Rechercher des rôles communautaires disponibles sur Ansible GalaxyGalaxy
ansible-galaxy role search nginx
Télécharger et installer un rôle depuis Ansible GalaxyGalaxy
ansible-galaxy role install geerlingguy.nginx
Installer et mettre à jour tous les rôles listés dans requirements.ymlGalaxy
ansible-galaxy role install -r requirements.yml --force
Télécharger et installer une collection Ansible complèteGalaxy
ansible-galaxy collection install community.general
Mettre à jour l'ensemble des collections définies dans le fichier requirementsGalaxy
ansible-galaxy collection install -r requirements.yml --upgrade
Lister l'ensemble des rôles et collections installés localementGalaxy
ansible-galaxy list
Exécuter un playbook en demandant le mot de passe Ansible Vault de manière interactiveSécurité
ansible-playbook deploy.yml --ask-vault-pass
Déchiffrer les secrets Vault à l'aide d'un fichier de mot de passe ou script dédiéSécurité
ansible-playbook deploy.yml --vault-password-file .vault_pass
Purger le cache des facts collectés avant l'exécution du playbookOptimisation
ansible-playbook deploy.yml --flush-cache

💡 Options courantes et variables d'environnement​

Options de ligne de commande incontournables​

OptionRôleDescription
-i <chemin>InventaireSpécifie le chemin vers le fichier d'inventaire ou le script dynamique.
-u <user>ConnexionDéfinit l'utilisateur distant pour la session SSH.
-b / --becomeÉlévationActive le mécanisme d'élévation de privilèges (sudo par défaut).
-K / --ask-become-passÉlévationInvite interactivement à saisir le mot de passe sudo.
-C / --checkDry-runExécute une simulation sans appliquer de modifications réelles.
-D / --diffDifférencesAffiche les changements apportés (fichiers modifiés, templates, etc.).
-e <vars>Extra varsInjecte des variables prioritaires sous forme de chaîne (cle=valeur) ou fichier (@fichier.yml).
-v / -vvvVerboseAjuste le niveau de log (-v résultat, -vv configuration, -vvv connexion SSH).
-f <n>ParallélismeSpécifie le nombre de processus (forks) parallèles (défaut : 5).

Variables d'environnement clés​

VariableDescription
ANSIBLE_CONFIGDéfinit le chemin absolu vers le fichier de configuration ansible.cfg à utiliser.
ANSIBLE_INVENTORYChemin par défaut vers le fichier ou dossier d'inventaire.
ANSIBLE_VAULT_PASSWORD_FILEChemin vers le fichier contenant le mot de passe de déchiffrement Vault.
ANSIBLE_HOST_KEY_CHECKING=FalseDésactive la vérification des clés d'hôte SSH (utile en lab/CI/CD).
ANSIBLE_FORKSDéfinit le nombre de connexions distantes simultanées par défaut.