Créons un TP (Travaux Pratiques) qui mettra en œuvre divers aspects de l’inventaire Ansible, y compris l’utilisation de variables, de groupes et de la commande ansible-inventory
.
Prérequis:
- Avoir Vagrant et Ansible installés sur votre machine.
- Avoir suivi les TP précédents pour la configuration de Vagrant et Ansible.
- Rallumer les machines
vagrant up focal bullseye fedora centos7 rocky
Objectifs :
- Comprendre la configuration Ansible.
- Apprendre la structure et l’arborescence des fichiers d’inventaire Ansible.
- Créer un inventaire Ansible avec différents groupes de serveurs.
- Définir des variables de groupe et d’hôte.
- Utiliser la commande
ansible-inventory
pour inspecter l’inventaire.
Étapes :
1: Configuration Ansible
Pour activer tous les plugins dans Ansible, modifiez le fichier ansible.cfg
avec les configurations suivantes sur ma machine Ansible ( Bullseye ) :
[defaults] inventory = inventaire
[inventaire] enable_plugins = host_list, script, auto, yaml, ini, toml
2 : Arborescence
Organisez votre projet Ansible avec la structure suivante :
/home/bullseye
|-- inventaire/
| |-- group_vars/
| | |-- all.yml
| | |-- db.yml
| | |-- web.yml
| |-- host_vars/
| | |-- focal.yml
| | |-- fedora.yml
| |-- inventory.ini
|-- ansible.cfg
|-- playbooks/
|-- votre_playbook.yml
Ce qui donne en code :
vagrant@bullseye:~$ mkdir -p inventaire/group_vars inventaire/host_vars inventaire/playbooks
vagrant@bullseye:~$ touch inventaire/group_vars/all.yml inventaire/group_vars/web.yml inventaire/host_vars/focal.yml inventaire/host_vars/fedora.yml
3: Créer l’inventaire
Modifiez le fichier d’inventaire (serveur.ini
) avec les éléments suivants :
rocky ansible_host=192.168.56.6
[parc]
bullseye ansible_host=192.168.56.2
focal ansible_host=192.168.56.3
fedora ansible_host=192.168.56.4
centos9 ansible_host=192.168.56.5
[web]
bullseye
focal[db]
fedora
centos7[all:children]
web
db
parc
Mettez le fichier d’inventaire (serveur.ini
) dans le dossier « inventaire » ainsi que le fichier webserveur dans le playbook (voir TP précédent)
vagrant@bullseye:~$ mv serveur.ini inventaire/
vagrant@bullseye:~$ mv webservers.yml inventaire/playbooks
4: Variables de groupe et d’hôte
Définissez des variables de groupe dans group_vars/all.yml
:
parc: "Domaine de l'automation hub" mon_numero_prefere: 12 variable1: "valeur1"
Définissez des variables d’hôte dans host_vars/focal.yml
:
fofo: "Ici fofo le grand de l'empire focal"
Définissez des variables d’hôte dans host_vars/fedora.yml
:
fefe: "Ici fefe cousine du grand empire focal"
5: Utilisation de ansible-inventory
Exécutez la commande suivante pour vérifier les groupes, alias, et variables dans l’inventaire :
ansible-inventory --inventory inventaire/serveur.ini --list

Ou voir en détail la liste de variable d’une machine :

Observez la sortie pour comprendre comment les groupes, alias, et variables sont structurés dans l’inventaire. Vous pouvez également regarder les valeurs d’un groupe en détail :
vagrant@bullseye:~$ ansible-inventory ungrouped --inventory inventaire/serveur.ini --graph

Notes :
- Assurez-vous d’avoir une structure d’arborescence telle que celle mentionnée précédemment pour les dossiers
group_vars
ethost_vars
. - Assurez-vous que la commande
ansible-inventory
est disponible sur votre système. Vous pouvez également utiliseransible-inventory
avec l’option-i
pour spécifier l’inventaire si nécessaire.
Ces travaux pratiques vous donneront une expérience pratique de la création et de la gestion d’inventaires Ansible, ainsi que de l’utilisation de variables de groupe et d’hôte. Vous pourrez également explorer comment ansible-inventory
peut vous aider à visualiser et à comprendre votre configuration d’inventaire.