Module de commande anible

Module de commande anible
Dans certains cas, ce qui est nécessaire est d'exécuter immédiatement des instructions sur les hôtes distants cibles, similaire à la façon dont vous feriez sur une invite de commande dans Windows. Le module de commande ANSIBLE est utile dans ce scénario. Vous comprendrez le module de commande ANSIBLE dans cet article, y compris son fonctionnement et comment vous pouvez l'utiliser pour fournir des instructions aux hôtes éloignés gérés.

Dans Ansible, si nous voulons émettre certaines commandes pour apporter des modifications ou mettre à jour quoi que ce soit sur l'hôte distant cible, nous utiliserons le module de commande. Le module ad hoc anible est le module par défaut lorsque nous utilisons le module «Commande» dans l'outil ANSIBLE. Les seuls exécutables que le module de commande peut exécuter sont ceux qui sont sur des hôtes à distance cibles. L'objectif principal du module de commande dans ANSIBLE est de contourner le terminal local.

Il existe certaines restrictions dans ANSIBLE, par exemple, des variables comme $ hostname ou $ home ne sont pas accessibles et des opérations comme «&» et «<" etc are not functional in the command module. Any other Ansible module can be used if you wish to utilize these parameters. The command module in Ansible is unaffected by the remote host environment, which is why its outcomes are regarded as being more dependable and secure. On the target remote hosts or servers, that are specified as independent servers or hosting groups, the Command module is largely used to carry out standard Ubuntu instructions.

Prérequis pour utiliser le module de commande dans ANIBLE

Ce tutoriel comprend des démonstrations pratiques d'ANSIBLE. Pour utiliser le module de commande ANSIBLE, nous supposons que vous avez les exigences énumérées ci-dessous:

  • Nous avons d'abord besoin d'un logiciel lié à ANSIBL sur votre système afin que nous puissions utiliser l'outil ANNISable avant de pouvoir implémenter le module de commande. Nous utilisons ANSIBLE 2.12 ou une version ultérieure pour le tutoriel.
  • En conséquence, nous avons besoin d'un contrôleur ANSible pour exécuter les commandes sur les hôtes distants et les hôtes distants sur lesquels nous voulons nous concentrer pour les implémentations.

Explorons la prémisse du module de commande plus en détail et examinons comment ANIBLE implémente cela en jetant plusieurs scénarios en pratique.

Exemple 01: Vérification du temps de disponibilité d'un hôte distant cible en utilisant le module de commande d'ANSIBLE

Tous les opérateurs professionnels ou puissants potentiels et puissants, comme un contrôleur anible, doivent posséder une connaissance ferme de certaines commandes trouvées dans l'outil de configuration anible. Nous allons utiliser l'une des commandes les plus importantes du module de commande qui est la commande «Uptime» dans Ansible. Le temps de disponibilité de la commande affiche l'heure actuelle, le nombre d'hôtes actifs, le serveur typique se charge au cours des 1, 5 et 15 minutes précédents, ainsi que la durée de votre appareil. Suite aux choix que vous spécifiez, il est également en mesure de restreindre le contenu pertinent en même temps.

Commençons par créer le playbook où nous rédigerons la commande de disponibilité pour vérifier le temps de disponibilité de l'hôte distant. La commande que nous utiliserons pour créer le playbook dans l'outil ANSIBLE est la suivante:

[root @ maître anible] # nano command_module.YML

Après avoir écrit la commande ci-dessus, la commande_module.YML Playbook sera créé et lancé dans un nouvel éditeur sur le nom du Playbook qui est «Command_Module». Dans cet éditeur, nous fournissons d'abord les hôtes distants que nous voulons cibler. Ici, nous avons ciblé «tous» les hôtes éloignés. Pour obtenir les informations liées aux hôtes distants ciblés, nous utiliserons le module «Rassemblement» ANNIBL. Les données recueillies sont généralement appelées «faits» ou «variables» dans l'outil ANSIBLE.

Dans l'outil ANSIBLE, nous pouvons recueillir les données des hôtes distants individuellement en utilisant la commande spécifique qui est «Configuration». Mais en réalité, la variable de réception des faits est réalisée en appelant ce module de configuration par défaut dans Ansible Playbooks. Pour recueillir les données, nous passerons la valeur «vraie» ou «fausse». Comme indiqué, nous sommes passés «faux» parce que nous ne voulons pas obtenir les informations de l'hôte cible.

Ensuite, nous énumérons les tâches que nous voulons faire dans le manuel de commande_module Command_Module. Nous allons commencer par nommer la tâche. Ensuite, nous avons utilisé le paramètre «Register» afin que nous puissions suivre et stocker la sortie dans ce paramètre anible. Maintenant, nous allons passer la commande que nous voulons effectuer, ce qui est de la «hausse». Ensuite, nous avons utilisé la commande «Debug» pour imprimer la sortie de la variable.

- Hôtes:
- tous
rassemble_facts: faux
Tâches:
- Nom: Exécutez la commande Uptime sur le module de commande
Enregistrement: UptimeOutput
Commande: "Butinage"
- déboguer:
var: UptimeOutput.stdout_lines

Frapper Ctrl + X terminera l'éditeur de livres de jeu. Maintenant, nous allons créer le fichier d'inventaire, qui contiendra les détails de l'hôte distant cible. La commande que nous utiliserons pour créer le fichier d'inventaire dans Ansible est mentionnée ci-dessous:

[root @ maître anible] # nano hôte.YML

Un éditeur différent appelé «Host» sera ouvert avec le fichier d'inventaire. Étant donné que les hôtes «tous» ont été mentionnés dans le livre de jeu, nous allons maintenant passer en revue chaque hôte individuellement. Nous n'utilisons qu'un seul hôte dans le fichier d'inventaire, que nous appelons «host1», et nous y inclurons ses détails. Nous commencerons par fournir l'adresse IP, puis l'identité de l'hôte, l'identification de l'outil ANSIBLE, le nom de la connexion qui a été formée entre le contrôleur et l'hôte, et enfin le numéro de port.

Tous:
Hôtes:
Host1:
ANSIBLE_HOST: 192.168.3.229
ANIBLE_USER: ANSIBLE
ANSIBLE_PASSWORD: *******
ANSIBLE_CONNECTION: SSH
ANSIBLE_PORT: 22

Nous allons maintenant lancer le playbook et le fichier d'inventaire qui ont été créés à la fois après avoir été écrit par la commande qui est répertoriée ci-dessous:

[root @ maître anible] # anible-playbook Command_module.yml -i hôte.YML

Voici la sortie après avoir exécuté avec succès où nous avons les informations de Host1. Nous avons le temps, les jours, les données du total des utilisateurs et la moyenne de charge de l'hôte1.

Exemple 02: Utilisation de la commande uname pour obtenir le nom d'hôte et la version de l'hôte distant

Voici le deuxième exemple d'un module de commande dans Ansible où nous allons utiliser la commande «uname». Nous utilisons «Uname» pour obtenir les informations de l'hôte distant d'Anable comme nous voulons obtenir le nom de l'hôte distant et quelle version de l'outil Anible. Tout d'abord, nous entrerons le livre de jeu récemment créé qui est Command_Module.yml puis modifiez les tâches et commandes. Pour ouvrir la commande_module.YML Playbook, nous utiliserons la commande «nano»:

[root @ maître anible] # nano command_module.YML

Dans le livre de jeu, nous avons modifié les tâches qui ont été montrées ci-dessous dans l'extrait de code. Comme indiqué dans la variable de commande, nous avons passé la commande «uname» avec l'option «-a» afin que nous puissions obtenir les informations de tous les hôtes.

- Hôtes:
- tous
rassemble_facts: faux
Tâches:
- Nom: exécution de l'instruction de l'unité
Registre: Unaampe
Commande: "uname -a"
- déboguer:
var: Unaampe.stdout_lines

Nous allons enregistrer les modifications et fermer le livre de jeu. Maintenant, nous allons exécuter le Playbook pour obtenir la sortie de la commande «Uname» et voir ce que nous obtenons. Pour exécuter le playbook, ci-dessous est la commande que nous utiliserons:

[root @ maître anible] # anible-playbook Command_module.yml -i hôte.YML

Le résultat de l'exécution avec succès de la commande susmentionnée est illustré ci-dessous. Le nom et la version sont affichés en police verte.

Conclusion

Nous avons appris l'un des modules d'ANSIBLE qui est le module de commande. Nous avons discuté de la façon dont cela fonctionne dans Ansible. De plus, nous avons appris les deux scénarios de base du module de commande en implémentant les exemples.