Inventaire avancé de la liste des hôtes Ansible

Inventaire Avance De La Liste Des Hotes Ansible



En utilisant l'une des dernières techniques de gestion, 'Ansible', nous présentons comment nous répertorions chaque hôte surveillé sur l'appareil. Dans Ansible, nous utilisons le plugin 'inventaire' pour répertorier tous les hôtes du réseau.

Il est essentiel d'avoir une liste de toutes vos machines hôtes dans Ansible. Garder un fichier d'inventaire organisé est tout aussi crucial que maintenir les playbooks ou les tâches, car vous vous retrouverez constamment dans un état d'incertitude et vous vous demanderez avec plusieurs inquiétudes si votre fichier d'inventaire est mal géré. En plus de ce qui précède, la définition du fichier d'inventaire des variables requises minimise le contenu de la tâche dans les playbooks et accélère les interprétations. Il existe un groupe de variables qui peuvent être déclarées à la fois dans vos playbooks et dans les fichiers d'inventaire Ansible et qui sont responsables de la connexion et de la configuration du comportement de la connectivité à la machine hôte.







Conditions préalables:

Voici les exigences avant d'implémenter la commande d'inventaire de liste d'hôtes dans Ansible :



  • Pour commencer la mise en œuvre, nous avons d'abord besoin d'un logiciel utilisé pour la configuration Ansible qui est installé sur le périphérique serveur avec la dernière version. Ansible doit être configuré pour que nous puissions facilement répertorier la machine entièrement hôte de notre réseau.
  • Pour effectuer une tâche de configuration dans Ansible, nous avons besoin d'un gestionnaire de configuration principal. Dans ce didacticiel, nous utilisons le serveur de contrôleur comme contrôleur principal.
  • Pour implémenter des modifications, nous devons cibler les serveurs hôtes dans le didacticiel d'inventaire de la liste d'hôtes. Ici, nous avons deux hôtes distants cibles.

Exemple : Inventaire de la liste des hôtes dans la machine

Voici l'exemple que nous implémentons dans l'outil Ansible pour vérifier ou définir l'inventaire de la liste d'hôtes. Pour cela, nous allons faire cet exemple en différentes étapes afin de comprendre facilement le fonctionnement et la mise en place de ce tutoriel. Voici les étapes :



Étape 1 : Vérifiez l'inventaire de la liste d'hôtes par défaut dans le périphérique hôte distant cible





Tout d'abord, nous vérifions combien d'hôtes se trouvent dans l'inventaire de l'outil Ansible. Pour cela, nous utilisons l'instruction 'ansible' avec '-list-hosts' afin que nous puissions afficher les nœuds gérés par défaut dans l'inventaire.

[ racine @ maître ansible ] # ansible all --list-hosts



Voici le résultat après avoir écrit la commande précédente :

Le terminal Ansible affiche '0 hôtes' comme vous pouvez le voir dans la réponse fournie car nous n'avons pas déclaré l'inventaire. Nous générons l'inventaire pour répertorier l'inventaire de l'hôte dans le terminal avant de résoudre ce problème.

Inventaire par défaut :

Lorsque nous installons Ansible dans le logiciel, Ansible construit un fichier d'inventaire qui se trouve en écrivant l'instruction suivante dans le terminal :

[ racine @ maître ansible ] # sudo nano /etc/ansible/hosts

Le résultat est généré lorsque nous écrivons la déclaration précédente. Ensuite, il vous demande de saisir le mot de passe :

Dans cet instantané, le fichier d'hôtes Ansible par défaut fournit les informations concernant les hôtes non groupés et les hôtes de groupe de serveurs Web. Ces hôtes incluent les URL et les différentes adresses IP.

Étape 2 : Définir l'inventaire personnalisé dans Ansible

Dans Ansible, nous pouvons également définir notre inventaire en écrivant plusieurs déclarations dans le terminal Ansible. Définir l'inventaire lors de l'exécution des instructions et des playbooks est une sage décision qui évite les conflits entre les hôtes et les échecs lors de la connexion avec les hôtes.

Pour commencer à définir l'inventaire par nous-mêmes, nous écrivons d'abord la déclaration suivante afin de pouvoir créer l'inventaire dans Ansible et y répertorier les hôtes afin d'établir la connexion entre le contrôleur Ansible et les hôtes distants ciblés.

[ racine @ maître ansible ] # nano hosts.yml

Après avoir écrit la déclaration précédente, l'inventaire est créé et lancé dans un nouveau terminal Ansible avec le titre 'hosts.yml'. Ensuite, nous listons les hébergeurs ciblés un par un dans l'inventaire. Le tout premier hôte avec lequel nous nous connectons est un hôte Linux. Nous fournissons l'adresse IP de l'hôte Linux, l'utilisateur Ansible, le mot de passe Ansible, le type de connexion et le numéro de port Ansible. Nous faisons également la même chose avec le deuxième hôte cible. Le deuxième hôte que nous utilisons est l'hôte Ansible. Tous les hôtes que nous avons répertoriés se trouvent sous le paramètre Ansible dans l'inventaire.

Ansible :
hôtes :
Hôte_Linux :
ansible_host : 192.168.3.229
ansible_user : racine
ansible_password : tpstps_22
connexion_ansible : chut
ansible_port : 22

Ansible_Hôte :
ansible_host : 192.168.7.10
ansible_user : iris
ansible_password : TpsTps_1
connexion_ansible : chut
ansible_port : 22

Après avoir créé le fichier d'inventaire et fourni les hôtes qu'il contient, nous terminons maintenant le fichier d'inventaire et revenons au terminal Ansible principal.

Étape 3 : Créer le Playbook dans Ansible

Ensuite, nous créons le playbook dans l'outil Ansible afin de définir les tâches. Pour cela, nous écrivons la commande suivante dans le terminal principal d'Ansible :

[ racine @ maître ansible ] # nano ansible_advanced_inventory.yml

Maintenant, le playbook est lancé dans un nouveau terminal. Tout d'abord, nous écrivons le titre du playbook. Dans la ligne suivante, nous fournissons l'hôte cible. Nous utilisons l'option de collecte des faits qui est utilisée pour obtenir toutes les informations sur les hôtes. Mais ici, on passe « non » ce qui veut dire qu'on ne veut pas récupérer toutes les données des hosts.

Ensuite, nous listons les tâches dans le playbook. La première tâche est utilisée pour afficher l'hôte cible avec le nom d'hôte. Dans la tâche suivante, nous imprimons les résultats de l'hôte.

- nom : Inventaire d'hôte avancé Ansible
hébergeurs : Ansible [ 0 ]
rassemble_faits : non
Tâches:

- nom : Obtenir nom d'hôte du nœud géré
coquille: 'nom d'hôte'
s'inscrire : résultat

- nom : Imprimer nom d'hôte
déboguer:
msg : '{{result.stdout}}'

Maintenant, nous voulons exécuter le playbook avec le fichier d'inventaire. Donc, nous terminons d'abord le playbook. Voici l'instruction que nous utilisons pour exécuter la commande :

[ racine @ maître ansible ] # ansible-playbook ansible_advanced_inventory.yml –i host.yml

Ce qui suit est l'affichage de sortie qui montre que la connexion est réussie. Depuis que nous avons passé Ansible[0] dans le playbook, le premier hôte est affiché dans la sortie :

Conclusion

Nous avons eu une discussion approfondie sur l'inventaire Ansible tout au long de ce didacticiel. Nous avons appris à créer l'inventaire dans Ansible, puis à les connecter aux hôtes distants cibles. Nous avons également implémenté un exemple afin que nous puissions facilement comprendre les concepts d'inventaire Ansible.