GNU/Linux >> Tutoriels Linux >  >> Linux

Comment exécuter et planifier Ansible Playbook à l'aide de l'interface graphique AWX

Notre article précédent nous avait déjà montré les étapes d'installation d'Ansible AWX sur CentOS 8 et RHEL 8. Ansible AWX est une version gratuite et open source Red Hat Ansible Tower. Il fournit une interface utilisateur graphique, une API Rest et un moteur de tâches Ansible.

Dans cet article, nous allons vous éclairer sur l'utilisation de base de l'interface graphique Ansible AWX et sur la manière dont nous pouvons exécuter et planifier des Playbooks Ansible à l'aide de cet outil.

Détails du laboratoire pour l'interface graphique AWX,

  • 192.168.1.6     // Système Ansible AWX déjà installé (CentOS 8)
  • 192.168.1.9    // Client Ansible (CentOS 7)
  • 192.168.1.10   // Client Ansible (Ubuntu 18.04)
  • Synchronisation horaire de toutes les machines avec des serveurs NTP
  • utilisateur sysadm avec droits sudo

Passons aux étapes de l'utilisation de base d'AWX et de l'exécution de playbooks Ansible via l'interface graphique d'AWX,

Étape 1) Configurer l'authentification basée sur les clés entre Ansible AWX Node et ses clients

Comme nous utilisons l'utilisateur sysadm, nous allons donc échanger les clés ssh de cet utilisateur du système Ansbile AWX vers les clients ansibles.

Je suppose que l'utilisateur sysadm est déjà créé sur ces systèmes et dispose des droits sudo. Utilisez les commandes ci-dessous pour générer des clés SSH pour l'utilisateur sysadm à partir du nœud AWX et partager ses clés publiques avec des clients ansibles à l'aide de la commande ssh-copy-id,

[[email protected] ~]$ ssh-keygen

Copiez maintenant la clé publique de l'utilisateur sysadm vers les clients

[[email protected] ~]$ ssh-copy-id [email protected]
[[email protected] ~]$ ssh-copy-id [email protected]

Vérifiez si l'authentification basée sur les clés a été configurée correctement ou non, exécutez les commandes suivantes,

[[email protected] ~]$ ssh  [email protected] "hostname;exit" 
centos7 
[[email protected] ~]$ ssh  [email protected] "hostname;exit" 
Ubuntu-18-04 
[[email protected] ~]$

Étape 2) Créer une organisation dans l'interface graphique AWX

Connectez-vous à l'interface graphique Ansible AWX et accédez à Organisation Tab et créez une organisation en cliquant sur le symbole "+",

Ensuite, nous serons invités à entrer le nom de l'organisation,

Cliquez sur Enregistrer

Étape 3) Créer un projet et lui affecter une organisation

Avant de créer un projet, créons d'abord le répertoire du projet où nous allons stocker tous les playbooks ansibles, allons sur la console cli du nœud AWX et exécutons,

[[email protected] ~]$ sudo mkdir /var/lib/awx/projects/automation

Maintenant, créez un exemple de playbook pour installer les packages bind-utils sur les systèmes CentOS et Ubuntu,

[[email protected] ~]$ cd /var/lib/awx/projects/automation/
[[email protected] automation]$ sudo vi example.yaml
---
- hosts: all
  gather_facts: true
  become: true
  tasks:
    - yum:
        name: bind-utils
      when: ansible_os_family == "RedHat"
    - apt:
        name: dnsutils
      when: ansible_os_family == "Debian"

Enregistrez et quittez le fichier,

Allez maintenant dans l'interface graphique AWX, sélectionnez Projets Tab, puis cliquez sur le signe + pour créer un nouveau projet et spécifiez le nom du projet qui convient à votre configuration et spécifiez d'autres détails comme Organisations comme "LINUXTECHI" , Type SCM comme "Manuel" , Chemin de base du projet comme "/var/lib/projects" et Répertoire des Playbooks comme "automatisation

Cliquez sur Enregistrer

Étape 4) Créer des informations d'identification et ajouter une clé privée et d'autres détails

Ces informations d'identification seront utilisées lors de l'exécution des playbooks sur les clients ansibles cibles. Pour obtenir le contenu de la clé privée SSH de l'utilisateur sysadm, exécutez la commande suivante :

[[email protected] ~]$ cat ~/.ssh/id_rsa

Maintenant, sélectionnez Identifiants Tab et cliquez sur le signe "+" pour créer des informations d'identification et choisissez Type d'informations d'identification comme "Machine ", Choisissez Organisation comme "LINUXTECHI ", Nom d'utilisateur comme "sysadm " et collez la clé privée de l'utilisateur sysadm dans "Clé privée SSH ” Section, Choisissez ‘Privilege Escalation Method ' comme 'sudo ', 'Nom d'utilisateur d'escalade de privilèges ‘ comme ‘sysadm ' et 'Mot de passe d'escalade de privilèges' en tant que {password-of-sysadm-user}

Cliquez sur ENREGISTRER,

Étape 5) Créez un inventaire, ajoutez-y des hôtes et exécutez le module ping

Pour créer un inventaire, sélectionnez Inventaire Tab, puis cliquez sur le signe + et spécifiez le nom de l'inventaire et choisissez l'organisation comme "LINUXTECHI “,

Pour ajouter des hôtes à Frontend Inventaire, choisissez l'option SAVE dans la fenêtre ci-dessus, puis cliquez sur HOSTS et le Cliquez sur le symbole "+" pour commencer à ajouter des hôtes, Spécifiez l'ADRESSE IP ou le nom d'hôte dans le "NOM D'HÔTE ” champ puis cliquez sur enregistrer.

De même, ajoutez un autre hôte "192.168.1.10".

Essayons d'exécuter le module ping sur l'un des hôtes pour vérifier la connectivité et les informations d'identification. Choisissez l'un des hôtes de l'inventaire et cliquez sur "EXÉCUTER LES COMMANDES

Dans la fenêtre suivante, choisissez 'ping ' dans la section du module et choisissez "informations d'identification d'automatisation ” à partir des informations d'identification de la machine,

Cliquez sur Lancer et nous obtiendrons l'écran suivant,

Parfait, la fenêtre ci-dessus confirme que la connectivité et les informations d'identification fonctionnent correctement. Passons à l'étape suivante et créons des modèles.

Étape 5) Créer et exécuter un modèle de tâche

Pour créer un modèle de tâche, choisissez "Modèle » Tab et cliquez sur le signe + et choisissez « Job Template

Spécifiez les éléments suivants :

  • NOM :Installation du PKG
  • Description :Installer Bind Utils PKG
  • TYPE DE TRAVAIL :Exécuter
  • INVENTAIRE :Frontend
  • PROJET :Automatisation
  • PLAYBOOK :exemple.yaml
  • CREDENTIALS :identifiants d'automatisation
  • Choisissez "ACTIVER LA PROGRESSION DES PRIVILÈGES"

Cliquez sur ENREGISTRER

Maintenant, essayez d'exécuter le travail et voyez si le travail est exécuté avec succès, ici l'exécution du travail n'est rien d'autre que l'exécution du playbook Ansible sur l'inventaire en utilisant les informations d'identification que nous avons créées dans les étapes ci-dessus.

Sélectionnez le travail comme "PKG Install ” et le clic sur Rocket Symbol pour lancer le Job,

Nous aurons l'écran suivant, si Job ou Ansible Playbook est exécuté avec succès, nous devrions recevoir un message de réussite.

Génial, la tâche a été exécutée avec succès, planifions cette tâche.

Étape 6) Modèle de tâche de planification

Choisissez le modèle de tâche que vous souhaitez planifier, dans mon cas, ce serait "PKG Install " et le choix " HORAIRES ” et le clic sur le signe + pour créer un nouveau planning,

Supposons que nous voulions créer un calendrier de telle sorte que le travail soit exécuté tous les jours à 16h00 jusqu'au 30 avril,

Cliquez sur Enregistrer pour activer cette planification pour le modèle de tâche "Installation de PKG ".

C'est tout de cet article, j'espère que ces étapes aideront à comprendre l'utilisation de base de l'interface graphique Ansible AWX et comment les Playbooks Ansible sont exécutés via le modèle de travail. N'hésitez pas à partager vos retours et commentaires.


Linux
  1. Ansible Playbook :comment créer et configurer des playbooks

  2. Comment installer et tester Ansible sur Linux

  3. Comment créer un Playbook Ansible

  4. Utilisation d'un playbook Ansible pour gérer les mises à jour des postes de travail et des serveurs

  5. Comment passer des variables supplémentaires à un playbook Ansible

Comment créer et exécuter un programme C avec Ubuntu 20.04 LTS

Comment définir et utiliser des gestionnaires dans des playbooks Ansible

Comment créer et exécuter un fichier Playbook Ansible

Comment automatiser l'installation et le déploiement de Podman à l'aide d'Ansible

Comment exécuter des applications Linux sur Windows 10 et 11 à l'aide de WSL

Comment exécuter des applications d'interface graphique Linux sur Windows 10 avec WSL et WSLg