Chapitre 8 - Glossaire des Variables Ansible
📋 Table des Matières
- Variables pour la connexion SSH ou WinRM
- Variables pour l'interpréteur Python
- Variables pour les privilèges
- Variables supplémentaires
GLOSSAIRE DES VARIABLES ANSIBLE
Bienvenue dans le glossaire des variables Ansible pour l'inventaire ! Ce guide présente toutes les variables essentielles et avancées que vous pouvez utiliser pour gérer vos configurations.
01. Variables pour la connexion SSH ou WinRM 🌐
Ces variables contrôlent comment Ansible se connecte aux hôtes.
--------------------------------------------------------------
| Variable | Description |
--------------------------------------------------------------
| ansible_host | 🖥️ Adresse IP ou nom DNS de |
| | l'hôte cible. |
--------------------------------------------------------------
| ansible_user | 👤 Utilisateur pour la |
| | connexion SSH ou WinRM. |
--------------------------------------------------------------
| ansible_port | 🌐 Port pour la connexion |
| | (par défaut 22 pour SSH). |
--------------------------------------------------------------
| ansible_password | 🔐 Mot de passe pour |
| | l'authentification. |
--------------------------------------------------------------
| ansible_connection | 🚀 Type de connexion |
| | (ssh, winrm, docker, etc.).|
--------------------------------------------------------------
Exemples d'utilisation :
🔍 Exemple 1 :
web-ubuntu-01 ansible_host=192.168.10.11 ansible_user=ubuntu ansible_ssh_private_key_file=~/.ssh/id_rsa ansible_port=22
🔍 Exemple 2 :
web-windows-01 ansible_host=192.168.10.15 ansible_user=Administrator ansible_password=Password123 ansible_connection=winrm ansible_winrm_transport=basic
↑ Retour à la Table des Matières
02. Variables pour l'interpréteur Python 🐍
Ansible utilise Python sur l'hôte cible pour exécuter les modules. Ces variables permettent de définir le chemin vers l’interpréteur Python :
--------------------------------------------------------------
| Variable | Description |
--------------------------------------------------------------
| ansible_python_interpreter | 🐍 Chemin vers l'interpréteur |
| | Python sur l'hôte cible. |
--------------------------------------------------------------
🔍 Exemple :
db-redhat-01 ansible_python_interpreter=/usr/bin/python3
↑ Retour à la Table des Matières
03. Variables pour les connexions WinRM
Ces variables sont utilisées pour gérer les connexions Windows via WinRM.
--------------------------------------------------------------
| Variable | Description |
--------------------------------------------------------------
| ansible_winrm_transport | 🚚 Type de transport pour WinRM|
| | (basic, ntlm, kerberos). |
--------------------------------------------------------------
| ansible_winrm_server_cert_ | 🛡️ Validation du certificat |
| validation | serveur pour WinRM. |
| | (ignore ou validate). |
--------------------------------------------------------------
🔍 Exemple pour Windows avec NTLM :
win-server-01 ansible_host=192.168.40.10 ansible_user=Administrator ansible_password=Admin123 ansible_connection=winrm ansible_winrm_transport=ntlm ansible_winrm_server_cert_validation=ignore
↑ Retour à la Table des Matières
04. Variables pour l'élévation de privilèges 🔧
Ces variables permettent d'exécuter des commandes avec des privilèges élevés (
sudo
,su
, etc.).
--------------------------------------------------------------
| Variable | Description |
--------------------------------------------------------------
| ansible_become | 🔐 Active l'élévation des |
| | privilèges (sudo). |
--------------------------------------------------------------
| ansible_become_user | 👤 Utilisateur à utiliser pour |
| | l'élévation des privilèges.|
--------------------------------------------------------------
| ansible_become_password | 🔑 Mot de passe pour |
| | sudo/become. |
--------------------------------------------------------------
| ansible_become_method | 🛠️ Méthode de privilège |
| | (sudo, su, etc.). |
--------------------------------------------------------------
🔍 Exemple pour sudo :
web-redhat-02 ansible_host=192.168.10.14 ansible_user=root ansible_become=True ansible_become_method=sudo
↑ Retour à la Table des Matières
05. Variables pour la gestion des fichiers et des clés 📁
--------------------------------------------------------------
| Variable | Description |
--------------------------------------------------------------
| ansible_ssh_private_key_ | 🔑 Chemin vers la clé privée |
| file | SSH pour l'authentification.|
--------------------------------------------------------------
| ansible_ssh_common_args | 📝 Arguments supplémentaires |
| | pour la connexion SSH. |
--------------------------------------------------------------
| ansible_shell_type | 🖥️ Type de shell utilisé |
| | sur l'hôte (bash, |
| | powershell, cmd, etc.). |
--------------------------------------------------------------
🔍 Exemple pour une clé privée SSH :
db-ubuntu-01 ansible_host=192.168.20.11 ansible_user=ubuntu ansible_ssh_private_key_file=~/.ssh/id_rsa
↑ Retour à la Table des Matières
06. Variables API et Réseau 🔌
Ces variables sont utilisées pour gérer les connexions aux API HTTP et aux appareils réseau.
--------------------------------------------------------------
| Variable | Description |
--------------------------------------------------------------
| ansible_httpapi_use_ssl | 🔒 Utilisation de SSL pour |
| | l'API HTTP (True/False). |
--------------------------------------------------------------
| ansible_httpapi_validate_ | 🛡️ Validation des certificats |
| certs | SSL lors des connexions |
--------------------------------------------------------------
| ansible_network_os | 🌐 Système d'exploitation du |
| | réseau (ex. ios, eos, etc.).|
--------------------------------------------------------------
🔍 Exemple :
router-01 ansible_network_os=ios ansible_httpapi_use_ssl=True ansible_httpapi_validate_certs=False
↑ Retour à la Table des Matières
07. Variables supplémentaires pour FTP et fichiers 📖
--------------------------------------------------------------
| Variable | Description |
--------------------------------------------------------------
| ansible_ftp_host | 🌐 Hôte FTP pour transférer |
| | des fichiers. |
--------------------------------------------------------------
| ansible_ftp_user | 👤 Utilisateur FTP. |
--------------------------------------------------------------
| ansible_ftp_password | 🔑 Mot de passe FTP. |
--------------------------------------------------------------
↑ Retour à la Table des Matières
Conseils Pratiques :
- Utilisez
ansible_ssh_private_key_file
pour les clés SSH et évitez les mots de passe en production. - Pour Windows, configurez WinRM correctement sur l'hôte cible (exécutez
ConfigureRemotingForAnsible.ps1
). - Ajoutez des variables globales pour éviter la redondance :
[all:vars]
ansible_connection=ssh
ansible_ssh_common_args='-o StrictHostKeyChecking=no'
🌟 Utilisez ce glossaire pour accélérer vos configurations Ansible et garantir des déploiements fluides et sécurisés !
Annexe et résumé du Glossaire des Variables Ansible dans l'Inventaire
Ce fichier contient une liste des principales variables que vous pouvez utiliser dans un fichier d'inventaire Ansible, avec une description détaillée de leur rôle.
Variables pour la connexion SSH ou WinRM
--------------------------------------------------------------
| Variable | Description |
--------------------------------------------------------------
| ansible_host | Adresse IP ou nom DNS de |
| | l'hôte cible. |
--------------------------------------------------------------
| ansible_user | Utilisateur pour la |
| | connexion SSH ou WinRM. |
--------------------------------------------------------------
| ansible_port | Port pour la connexion |
| | (par défaut 22 pour SSH). |
--------------------------------------------------------------
| ansible_password | Mot de passe pour |
| | l'authentification (SSH, |
| | WinRM, ou autre). |
--------------------------------------------------------------
| ansible_connection | Type de connexion |
| | (ssh, winrm, docker, etc.). |
--------------------------------------------------------------
Variables pour l'interpréteur Python
--------------------------------------------------------------
| Variable | Description |
--------------------------------------------------------------
| ansible_python_interpreter | Chemin vers l'interpréteur |
| | Python sur l'hôte cible. |
--------------------------------------------------------------
Variables liées à WinRM
--------------------------------------------------------------
| Variable | Description |
--------------------------------------------------------------
| ansible_winrm_transport | Type de transport pour WinRM |
| | (basic, ntlm, kerberos, etc.).|
--------------------------------------------------------------
| ansible_winrm_server_cert_ | Validation du certificat |
| validation | serveur pour WinRM |
| | (ignore ou validate). |
--------------------------------------------------------------
Variables pour les privilèges
--------------------------------------------------------------
| Variable | Description |
--------------------------------------------------------------
| ansible_become | Indique si Ansible doit |
| | utiliser sudo pour exécuter |
| | les commandes. |
--------------------------------------------------------------
| ansible_become_user | Utilisateur à utiliser avec |
| | sudo/become. |
--------------------------------------------------------------
| ansible_become_password | Mot de passe pour sudo/become |
| | si nécessaire. |
--------------------------------------------------------------
| ansible_become_method | Méthode de privilège (sudo, |
| | su, etc.). |
--------------------------------------------------------------
Variables supplémentaires
--------------------------------------------------------------
| Variable | Description |
--------------------------------------------------------------
| ansible_ssh_private_key_ | Chemin vers la clé privée |
| file | SSH pour l'authentification. |
--------------------------------------------------------------
| ansible_shell_type | Type de shell utilisé sur |
| | l'hôte (bash, powershell, |
| | cmd, etc.). |
--------------------------------------------------------------
| ansible_httpapi_use_ssl | Utiliser SSL pour l'API HTTP |
| | (True/False). |
--------------------------------------------------------------
| ansible_httpapi_validate_ | Valider les certificats SSL |
| certs | lors des connexions HTTP API. |
--------------------------------------------------------------
| ansible_network_os | Système d'exploitation du |
| | réseau pour les modules |
| | réseau (ex. ios, eos, etc.). |
--------------------------------------------------------------