Ansible AWX · 6 min read · Jan 25, 2026

Guide Ansible AWX : Utilisation et Configuration de Base

AWX est une application web open source qui fournit une interface utilisateur, une API REST et un moteur de tâches pour Ansible. C’est la version open source de l’Ansible Tower. L’AWX vous permet de gérer les playbooks Ansible, les inventaires et de programmer des tâches à exécuter via l’interface web.

Dans ce tutoriel, nous allons vous montrer l’utilisation de base de l’Ansible AWX. Vous aurez donc besoin d’un serveur sur lequel Ansible AWX a déjà été installé. Nous couvrons certaines configurations de base d’Ansible AWX que vous devez connaître, telles que la configuration des identifiants, des inventaires, la configuration et l’exécution des modèles de tâches, etc. Si vous n’avez pas encore installé Ansible, veuillez consulter ce tutoriel : https://www.howtoforge.com/how-to-install-ansible-awx-with-nginx-reverse-proxy-on-ubuntu-1804/.

Prérequis

  • 2 ou 3 serveurs - 10.5.5.20 ansible-awx
  • 10.5.5.21 lemp
  • Compréhension de base d’Ansible
  • Privilèges root

Ce que nous allons faire :

  1. Configuration et Mise en Place de l’Environnement
  2. Configuration des Identifiants
  3. Configuration des Inventaires
  4. Configuration des Projets
  5. Configuration des Modèles de Tâches
  6. Exécution des Tâches

Étape 1 - Configuration et Mise en Place de l’Environnement

Dans ce tutoriel, nous allons déployer et exécuter le playbook Ansible pour l’installation de base de LEMP via le tableau de bord Ansible AWX.

Nous avons deux serveurs pour l’AWX lui-même et la machine cible.

10.5.5.20   ansible-awx  
10.5.5.21   lemp

Nous allons maintenant déployer le playbook en tant qu’utilisateur appelé ‘hakase’ et en utilisant l’authentification SSH basée sur des clés. Assurez-vous donc que vous avez déjà configuré l’utilisateur et l’authentification basée sur des clés sur la machine cible ‘lemp’.

Testez en utilisant la commande suivante depuis le serveur ‘ansible-awx‘.

su - hakase  
ssh [email protected]

Assurez-vous que vous êtes connecté sans mot de passe.

Maintenant, l’utilisateur ‘hakase’ doit avoir le mot de passe root sans mot de passe pour exécuter des tâches.

Sur la machine cible ‘lemp‘, exécutez la commande sudo comme ci-dessous.

su - hakase  
sudo su

Assurez-vous que vous avez entré les privilèges root sans mot de passe.

Vous devez maintenant installer les paquets python sur toutes les machines cibles gérées par Ansible.

sudo apt install python -y

Installer Python

Étape 2 - Configuration des Identifiants

Tout d’abord, nous devons configurer les Identifiants Ansible AWX. Ils sont utilisés pour l’authentification lors du lancement et de l’exécution des tâches sur les serveurs gérés, de la synchronisation avec les sources d’inventaire et de l’importation de projets.

Par défaut, l’Ansible AWX prend en charge de nombreux identifiants, y compris la machine VM via l’authentification SSH, Amazon Web Services, Google Compute Engine, OpenStack, le mot de passe Vault, le contrôle de version, etc.

Pour configurer les identifiants, cliquez sur le menu ‘Identifiants‘ à gauche et cliquez sur le bouton ‘+’ à droite.

Configurer les Identifiants

Maintenant, tapez les identifiants ‘NOM‘ et ‘DESCRIPTION‘, puis spécifiez le ‘TYPE D’IDENTIFIANT‘ sur ‘Machine‘.

Simplement, l’identifiant ‘Machine’ vous permettra d’utiliser l’authentification SSH pour gérer les serveurs. Il prend en charge à la fois les authentifications par mot de passe et par clé.

Pour ce guide, nous allons utiliser l’authentification basée sur des clés. Tapez donc le nom d’utilisateur et collez les clés privées pour cet utilisateur.

authentification basée sur des clés

Puis cliquez sur le bouton ‘ENREGISTRER‘.

En conséquence, le nouveau type d’identifiants Ansible AWX ‘Machine’ a été créé.

Identifiants Ansible AWX

Étape 3 - Configuration des Inventaires

Les inventaires sont des groupes de serveurs hôtes gérés par Ansible AWX. Les inventaires vous permettent de créer un groupe avec plusieurs serveurs hôtes. Et cela facilite la gestion de différents serveurs avec différents environnements.

Pour gérer et provisionner des serveurs, nous devons créer un nouveau groupe d’inventaire, puis ajouter des hôtes serveurs dans ce groupe d’inventaire.

Pour ajouter un nouvel inventaire, cliquez sur le menu ‘Inventaires‘ à gauche, puis cliquez sur le bouton ‘+’ et choisissez ‘Inventaire’.

Configurer les Inventaires AWX

Tapez le ‘NOM‘ et la ‘DESCRIPTION‘ de l’inventaire, puis cliquez sur le bouton ‘ENREGISTRER‘.

Nom et description

Maintenant, cliquez sur l’onglet ‘HÔTES‘, et cliquez sur le bouton ‘+’ pour ajouter de nouveaux hôtes.

hôtes

Tapez le ‘NOM D’HÔTE‘, la ‘DESCRIPTION‘, et les ‘VARIABLES‘ avec la configuration supplémentaire pour l’adresse IP de la machine cible ‘ansible_host: 10.5.5.21’.

Nom d'hôte et variables

Maintenant, cliquez sur le bouton ‘ENREGISTRER‘.

Ensuite, nous devons vérifier la configuration des hôtes en vérifiant les hôtes à l’aide de la commande ping.

Retournez à l’onglet ‘HÔTES‘, cochez le nom de votre serveur hôte et cliquez sur le bouton ‘EXÉCUTER DES COMMANDES‘.

Maintenant, choisissez le ‘MODULE‘ appelé ‘ping‘, cliquez sur le bouton de recherche à l’intérieur de ‘MACHINE D’IDENTIFIANT‘ et ‘SÉLECTIONNEZ‘ le vôtre, puis cliquez sur le bouton ‘LANCER‘.

Identifiant de machine

Et vous serez redirigé vers la nouvelle page et ci-dessous est le résultat.

Résultat de l'exécution du script awx

Un nouvel inventaire a été créé, et le serveur de la machine cible a été ajouté à celui-ci.

Étape 4 - Configuration des Projets

Les projets sont représentés comme des Playbooks Ansible sur l’AWX. Ce sont des collections de Playbooks Ansible que nous pouvons gérer via un répertoire de projet local ou en utilisant le système SCM tel que Git, Subversion, Mercurial et RedHat Insights.

Pour créer de nouveaux projets, cliquez sur le menu ‘Projets‘ à gauche et cliquez sur le bouton ‘+’.

Projets AWX

Tapez le ‘NOM‘ de votre projet et la ‘DESCRIPTION‘, puis choisissez le ‘TYPE SCM‘ sur ‘Git‘ et collez votre dépôt de playbook.

Nom, description et type scm

Maintenant, cliquez sur le bouton ‘ENREGISTRER‘ et en conséquence, un nouveau projet pour le playbook a été créé.

Le projet a été ajouté

De plus :

Si vous souhaitez créer un nouveau projet avec le type SCM ‘Manuel‘, vous pouvez créer un nouveau répertoire de playbooks situé sous le répertoire ‘/var/lib/awx/projects‘.

Le répertoire ‘/var/lib/awx/projects’ est le répertoire de projet par défaut pour vos playbooks Ansible si vous utilisez la version docker de l’AWX avec ‘project_data_dir‘ activé.

Étape 5 - Créer de Nouveaux Modèles de Tâches

Le modèle de tâche est la définition de l’exécution des playbooks Ansible eux-mêmes. Donc, pour créer un nouveau modèle de tâche ou exécuter le modèle de tâche, nous devons ajouter le playbook Ansible de notre ‘Projet’, les ‘Identifiants’ pour l’authentification, et les machines cibles stockées dans les ‘Inventaires’.

Pour ce guide, nous avons déjà créé un nouveau Projet, un Identifiant et un Inventaire. Donc, cliquez simplement sur le menu ‘Modèles‘ à gauche, puis cliquez sur le bouton ‘+’ et choisissez l’option ‘Modèle de tâche‘.

Ajouter un modèle de tâche

Maintenant, vous devez taper le ‘NOM‘ et la ‘DESCRIPTION‘ de la tâche. Ensuite, choisissez l’ ‘INVENTAIRE‘, l’ ‘IDENTIFIANT‘, et le ‘PROJET‘. Et après cela, spécifiez le ‘PLAYBOOK‘ que vous souhaitez exécuter et déployer.

Ajouter les détails du projet de tâche

Et en conséquence, le nouveau modèle de tâche Ansible AWX a été créé.

Étape 6 - Exécuter le Modèle de Tâche

Après avoir créé le nouveau modèle de tâche, nous allons exécuter le modèle de tâche et déployer les Playbooks ‘Projets’ sur les hôtes cibles de l’ ‘Inventaire’.

Cliquez sur le menu ‘Modèles‘ à gauche et vous obtiendrez des listes de modèles de tâches disponibles.

Une fois la tâche terminée, vous obtiendrez le signe vert à l’intérieur du nom du modèle de tâche.

Résultat de l'exécution du modèle

Cliquez sur le signe vert à l’intérieur du nom du modèle de tâche et vous verrez le résultat réel de cette tâche.

Résultat de la tâche

La tâche a été complétée avec succès, et la machine cible a installé le Stack LEMP via l’Ansible AWX.

Étape 7 - Tester la Machine Cible

Tester le nom de domaine de la machine cible. La configuration du nom de domaine est stockée dans la configuration ‘roles/web/vars/main.yml‘.

Tester le serveur cible

Vérifiez les services Nginx et PHP-FPM à l’aide des commandes systemctl.

systemctl status nginx  
systemctl status php7.2-fpm

Statut de Nginx et php-fpm

Tester la base de données MySQL sur la machine cible. Les configurations détaillées de la base de données MySQL sont stockées dans le fichier de configuration ‘roles/db/vars/main.yml’.

Statut de MySQL

En conséquence, le Stack LEMP a été installé sur la machine cible via l’Ansible AWX.

Référence

Share: X/Twitter LinkedIn

Recevez de nouveaux articles dans votre boîte de réception.

Aucun spam. Désabonnez-vous à tout moment.