Installation d'Ansible et exploration de l'option gather_facts
Commençons par installer Ansible et explorer ce que fait l'option gather_facts
. Dans cette étape, nous installerons Ansible, créerons un inventaire simple et exécuterons une commande pour voir quels faits sont collectés.
Installation d'Ansible
Tout d'abord, installons Ansible sur notre système :
sudo apt update
sudo apt install -y ansible
Une fois l'installation terminée, vérifiez qu'Ansible est correctement installé :
ansible --version
Vous devriez voir une sortie similaire à celle-ci :
ansible [core 2.12.x]
config file = /etc/ansible/ansible.cfg
configured module search path = ['/home/labex/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
ansible python module location = /usr/lib/python3/dist-packages/ansible
ansible collection location = /home/labex/.ansible/collections:/usr/share/ansible/collections
executable location = /usr/bin/ansible
python version = 3.10.x (default, Aug 14 2022, 00:00:00) [GCC 11.2.0]
jinja version = 3.0.3
libyaml = True
Création d'un inventaire simple
Maintenant, créons un fichier d'inventaire simple avec lequel travailler. Le fichier d'inventaire définit les hôtes qu'Ansible gérera. Pour ce lab, nous allons créer un inventaire local :
mkdir -p ~/project/ansible
cd ~/project/ansible
Créez un fichier d'inventaire nommé hosts
en utilisant l'éditeur :
- Cliquez sur l'icône Explorateur dans le WebIDE
- Naviguez vers le répertoire
/home/labex/project/ansible
- Faites un clic droit et sélectionnez "Nouveau fichier"
- Nommez le fichier
hosts
- Ajoutez le contenu suivant :
[local]
localhost ansible_connection=local
Cet inventaire configure un groupe appelé local
avec un seul hôte - localhost
. Le paramètre ansible_connection=local
indique à Ansible d'exécuter les commandes directement sur la machine locale sans utiliser SSH.
Exploration de gather_facts
Exécutons une simple commande Ansible pour voir quels faits sont collectés par défaut :
cd ~/project/ansible
ansible local -i hosts -m setup
La commande ci-dessus utilise :
local
: le groupe de notre inventaire
-i hosts
: spécifie notre fichier d'inventaire
-m setup
: exécute le module setup, qui collecte les faits
Vous verrez une grande sortie JSON avec des informations détaillées sur votre système, notamment :
- Informations matérielles (CPU, mémoire)
- Configuration réseau
- Détails du système d'exploitation
- Variables d'environnement
- Et bien plus encore
Ces informations sont ce qu'Ansible collecte lorsque gather_facts
est activé (ce qui est le comportement par défaut). Ces faits peuvent être utilisés dans les playbooks pour prendre des décisions ou personnaliser les tâches en fonction des caractéristiques du système cible.