GNU/Linux >> Tutoriels Linux >  >> Linux

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 la tour Ansible. L'AWX vous permet de gérer les playbooks Ansible, les inventaires et de planifier les tâches à exécuter à l'aide de l'interface Web.

Dans ce didacticiel, nous allons vous montrer l'utilisation de base d'Ansible AWX. Vous avez 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 les informations d'identification de configuration, les inventaires, la configuration et l'exécution des modèles de tâche, etc. Si vous n'avez pas encore installé Ansible, veuillez consulter ce didacticiel : 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. Installation et configuration de l'environnement
  2. Identifiants de configuration
  3. Configurer les inventaires
  4. Projets de configuration
  5. Configurer des modèles de tâche
  6. Exécuter des tâches

Étape 1 - Installation et configuration de l'environnement

Dans ce didacticiel, nous allons déployer et exécuter le playbook Ansible pour l'installation LEMP de base 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 une clé. Assurez-vous donc que vous avez déjà configuré l'authentification basée sur l'utilisateur et la clé sur la machine cible "lemp".

Testez en utilisant la commande suivante de 'ansible-awx ' serveur.

su - hakase
ssh [email protected]

Assurez-vous d'être 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 le mot de passe.

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

sudo apt install python -y

Étape 2 - Configurer les informations d'identification

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

Par défaut, Ansible AWX prend en charge de nombreuses informations d'identification, y compris la machine virtuelle via l'authentification SSH, Amazon Web Services, Google Compute Engine, OpenStack, le mot de passe Vault, le contrôle de source, etc.

Pour configurer les identifiants, cliquez sur 'Identifiants ' sur la gauche et cliquez sur le '+' bouton sur le côté droit de celui-ci.

Tapez maintenant les informations d'identification 'NOM ' et 'DESCRIPTION ', puis spécifiez le 'TYPE D'IDENTIFICATION ' à 'Machine '.

Simplement, l'identifiant 'Machine' vous permettra d'utiliser l'authentification SSH pour la gestion des serveurs. Sa prise en charge des authentifications par mot de passe et par clé.

Pour ce guide, nous utiliserons l'authentification par clé. Alors, tapez le nom d'utilisateur et collez les clés privées pour cet utilisateur.

Cliquez ensuite sur 'SAUVEGARDER ' bouton.

En conséquence, le nouveau type d'informations d'identification Ansible AWX "Machine" a été créé.

Étape 3 - Configurer les 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 dessus. Et cela facilite la gestion de différents serveurs avec différents environnements.

Afin de gérer et de fournir des serveurs, nous devons créer un nouveau groupe d'inventaire, puis ajouter des hôtes de serveur dans ce groupe d'inventaire.

Pour ajouter un nouvel inventaire, cliquez sur 'Inventaires ' sur la gauche, puis cliquez sur le '+' bouton et choisissez le 'Inventaire'.

Tapez le 'NOM ' et 'DESCRIPTION ' de l'inventaire, puis cliquez sur 'ENREGISTRER ' bouton.

Cliquez maintenant sur 'HÔTES ', puis cliquez sur l'onglet '+' bouton pour ajouter de nouveaux hôtes.

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

Cliquez maintenant sur 'SAUVEGARDER ' bouton.

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

Retour aux 'HÔTES ', cochez le serveur de noms de vos hôtes et cliquez sur 'EXÉCUTER LES COMMANDES ' bouton.

Choisissez maintenant le 'MODULE ' appelé 'ping ', cliquez sur le bouton de recherche à l'intérieur de 'IDENTIFICATION DE LA MACHINE ' et 'SÉLECTIONNER ' le vôtre, puis cliquez sur 'LANCER ' bouton.

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

Un nouvel inventaire a été créé et le serveur de la machine cible y a été ajouté.

Étape 4 - Configurer les projets

Les projets sont représentés sous forme de Playbooks Ansible sur l'AWX. Ses collections de Playbooks Ansible que nous pouvons gérer via le 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 'Projets ' sur la gauche et cliquez sur le '+' bouton.

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

Cliquez maintenant sur 'SAUVEGARDER ' et par conséquent, un nouveau projet pour le playbook a été créé.

De plus :

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

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 AWX avec le 'project_data_dir ' activé.

Étape 5 - Créer de nouveaux modèles de travail

Le modèle de travail est la définition de l'exécution des playbooks Ansible eux-mêmes. Ainsi, afin de créer un nouveau modèle de tâche ou d'exécuter le modèle de tâche, nous devons ajouter un playbook Ansible à partir 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, des informations d'identification et un inventaire. Alors, cliquez simplement sur 'Modèles ' sur la gauche, puis cliquez sur le '+' et choisissez le 'Modèle de tâche '.

Maintenant, vous devez taper le 'NOM ' et 'DESCRIPTION ' du travail. Choisissez ensuite 'INVENTAIRE ', 'IDENTIFICATION ', et le 'PROJET '. Et après cela, spécifiez le 'PLAYBOOK ' que vous souhaitez exécuter et déployer.

Et en conséquence, le nouveau modèle de travail 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 exécuterons le modèle de tâche et déploierons les "projets" des Playbooks sur les hôtes cibles de l'"inventaire".

Cliquez sur 'Modèles ' sur la gauche et vous obtiendrez des listes de modèles de travail disponibles.

Une fois le travail terminé, vous obtiendrez le signe vert à l'intérieur du nom du modèle de travail.

Cliquez sur le signe vert à l'intérieur du nom du modèle de travail et vous verrez le résultat réel de ce travail.

La tâche s'est terminée avec succès et la machine cible a été installée dans la pile LEMP via Ansible AWX.

Étape 7 - Tester la machine cible

Test du nom de domaine de la machine cible. La configuration du nom de domaine stockée dans 'roles/web/vars/main.yml ' configuration.

Vérification des services Nginx et PHP-FPM à l'aide des commandes systemctl.

systemctl status nginx
systemctl status php7.2-fpm

Test de la base de données MySQL sur la machine cible. Configurations détaillées de la base de données MySQL stockées dans le fichier de configuration 'roles/db/vars/main.yml'.

En conséquence, la pile LEMP a été installée sur la machine cible via Ansible AWX.


Linux
  1. Configuration de base de PHP 7 et Nginx sur Ubuntu 16.04 Linux

  2. Apache avec Tomcat, un guide d'installation et de configuration étape par étape

  3. Procédure :Réplication et configuration DRBD

  4. utilisation des caractères génériques linux dans cp et mv

  5. utilisation et redimensionnement de tmpfs

Docker :installation et utilisation de base sur Ubuntu 16.04

Installer et configurer Ansible sous Linux

Fichiers d'inventaire et de configuration Ansible

Comment WHM et cPanel Initial Configuration de base sur CentOS 7.x

Configuration et guide du chargeur de démarrage LILO Linux

Guide du débutant pour Apache HTTP Server - Installation et configuration