📌 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 pingExé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" -bVérifier la connectivité en mode simulation (check) et affichage des différences (diff)Ad-hoc
ansible all -C -D -m pingExé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" -bCopier un fichier local vers les hôtes distantsModules
ansible all -m ansible.builtin.copy -a "src=/home/user/config.txt dest=/etc/config.txt" -bCréer ou mettre à jour un compte utilisateur distant avec ses groupesModules
ansible all -m ansible.builtin.user -a "name=john state=present groups=wheel" -bExécuter l'ensemble des tâches du playbook deploy.ymlPlaybook
ansible-playbook deploy.ymlVérifier la syntaxe YAML et la structure d'un playbook sans l'exécuterPlaybook
ansible-playbook deploy.yml --syntax-checkExécuter un playbook avec un fichier d'inventaire spécifiquePlaybook
ansible-playbook -i inventory.ini deploy.ymlExécuter en mode dry-run (simulation) et afficher les modifications prévuesPlaybook
ansible-playbook deploy.yml -C --diffDéfinir un parallélisme d'exécution de 10 forks simultanésPlaybook
ansible-playbook deploy.yml -f 10Lister toutes les tâches qui seraient exécutées par le playbookPlaybook
ansible-playbook deploy.yml --list-tasksLister l'ensemble des tags disponibles dans le playbookPlaybook
ansible-playbook deploy.yml --list-tagsExé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 --stepPasser 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.ymlAfficher 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 --yamlInspecter les variables et données détaillées d'un hôte spécifiqueInventaire
ansible-inventory -i inventory.yml --host webserver1Afficher la hiérarchie des groupes d'inventaire sous forme d'arborescence avec variablesInventaire
ansible-inventory -i inventory.yml --graph --varsAfficher le contenu du fichier de configuration actif (ansible.cfg)Configuration
ansible-config viewLister uniquement les paramètres de configuration modifiés par rapport aux valeurs par défautConfiguration
ansible-config dump --only-changedGénérer un fichier de configuration ansible.cfg modèle complet et commentéConfiguration
ansible-config init --disabled > ansible.cfgInitialiser l'arborescence standard d'un nouveau rôle AnsibleGalaxy
ansible-galaxy role init mon_role_nginxRechercher des rôles communautaires disponibles sur Ansible GalaxyGalaxy
ansible-galaxy role search nginxTélécharger et installer un rôle depuis Ansible GalaxyGalaxy
ansible-galaxy role install geerlingguy.nginxInstaller et mettre à jour tous les rôles listés dans requirements.ymlGalaxy
ansible-galaxy role install -r requirements.yml --forceTélécharger et installer une collection Ansible complèteGalaxy
ansible-galaxy collection install community.generalMettre à jour l'ensemble des collections définies dans le fichier requirementsGalaxy
ansible-galaxy collection install -r requirements.yml --upgradeLister l'ensemble des rôles et collections installés localementGalaxy
ansible-galaxy listExécuter un playbook en demandant le mot de passe Ansible Vault de manière interactiveSécurité
ansible-playbook deploy.yml --ask-vault-passDé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_passPurger 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
| Option | Rôle | Description |
|---|---|---|
-i <chemin> | Inventaire | Spécifie le chemin vers le fichier d'inventaire ou le script dynamique. |
-u <user> | Connexion | Définit l'utilisateur distant pour la session SSH. |
-b / --become | Élévation | Active le mécanisme d'élévation de privilèges (sudo par défaut). |
-K / --ask-become-pass | Élévation | Invite interactivement à saisir le mot de passe sudo. |
-C / --check | Dry-run | Exécute une simulation sans appliquer de modifications réelles. |
-D / --diff | Différences | Affiche les changements apportés (fichiers modifiés, templates, etc.). |
-e <vars> | Extra vars | Injecte des variables prioritaires sous forme de chaîne (cle=valeur) ou fichier (@fichier.yml). |
-v / -vvv | Verbose | Ajuste le niveau de log (-v résultat, -vv configuration, -vvv connexion SSH). |
-f <n> | Parallélisme | Spécifie le nombre de processus (forks) parallèles (défaut : 5). |
Variables d'environnement clés
| Variable | Description |
|---|---|
ANSIBLE_CONFIG | Définit le chemin absolu vers le fichier de configuration ansible.cfg à utiliser. |
ANSIBLE_INVENTORY | Chemin par défaut vers le fichier ou dossier d'inventaire. |
ANSIBLE_VAULT_PASSWORD_FILE | Chemin vers le fichier contenant le mot de passe de déchiffrement Vault. |
ANSIBLE_HOST_KEY_CHECKING=False | Désactive la vérification des clés d'hôte SSH (utile en lab/CI/CD). |
ANSIBLE_FORKS | Définit le nombre de connexions distantes simultanées par défaut. |