Exécution du code distant à l'aide du module de commande ANSIBLE

Exécution du code distant à l'aide du module de commande ANSIBLE
Pour ceux d'entre vous qui travaillent dans le domaine de l'informatique et du réseautage, travailler sur des serveurs doit faire partie de votre routine quotidienne.

La configuration manuelle de différents serveurs et applications peut être assez compliquée s'il existe de nombreux systèmes. Heureusement, les logiciels et les cadres d'automatisation font le travail beaucoup plus facilement.

En utilisant ces applications, vous pouvez automatiser entièrement le processus de gestion et de configuration en utilisant seulement quelques lignes de code. En ce qui concerne l'automatisation de toute sorte, Anible fait l'affaire!

Anible est un outil avec une pléthore de fonctionnalités. En parler à tous dans un seul guide serait injuste, car chacune de ces fonctionnalités mérite un guide.

Ce guide est un tutoriel détaillé sur le module de commande ANSIBLE. Nous passerons en revue les bases du module, ainsi que la syntaxe et les fonctionnalités, avec l'aide de quelques exemples.

Quel est le module de commande ANSIBLE?

Comme son nom l'indique, le module de commande permet à un serveur / hôte distant de pouvoir exécuter différentes commandes. Ces utilisateurs distants sont appelés nœuds dans un réseau.

Le module de commande ANSIBLE vous permet d'exécuter plusieurs commandes sur ces nœuds. Ces nœuds peuvent exister en tant que serveurs indépendants ou parties d'un groupe. Cela étant dit, il y a certaines limites que vous devriez connaître.

Limitations du module de commande

Le module de commande peut être utilisé pour exécuter des commandes de base simples pour le shell. La seule limitation est qu'il ne peut pas être utilisé pour exécuter des commandes plus complexes.

Le module de commande anible ne peut pas exécuter plusieurs commandes dans une seule instruction. Commandes utilisant les symboles, |, etc., ne sont pas compatibles avec le module de commande. Dans de tels cas, le module Shell est définitivement un meilleur choix.

Le module de commande ANSIBL a des exigences qui doivent être satisfaites avant de pouvoir l'utiliser. Ces exigences sont couvertes dans la section suivante de ce guide.

Prérequis du module de commande ANSIBLE

Pour utiliser le module de commande ANSIBLE, vous avez besoin de ce qui suit:

  • Un système qui a installé un.
  • Quelques hôtes. Dans le cas où vous testez vos serveurs, nous vous recommandons d'utiliser des machines virtuelles. Des logiciels comme Oracle VirtualBox, Vagrant et VMware Workstations sont parfaits pour le travail.

Nous vous recommandons également d'avoir un savoir-faire de base sur la façon d'exécuter des commandes dans le terminal pour vous assurer que vous savez ce que vous faites.

Une fois les conditions préalables remplies, nous pouvons procéder à apprendre à utiliser le module de commande ANSIBLE.

Utilisation du module de commande ANSIBLE

Si vous avez une expérience antérieure de travail avec des scripts shell, l'utilisation du module de commande ANSIBLE devrait être une promenade dans le parc. Si vous ne l'avez pas fait, ne vous inquiétez pas, car nous vous guiderons sur la façon d'utiliser le module de commande à l'aide de différents exemples.

La première chose que vous devez faire est de créer un fichier «anible_hosts». Ce fichier vous permettra de regrouper vos hôtes, qui sera utile pour exécuter des commandes.

Pour créer un groupe d'hôtes, saisissez ce qui suit dans le fichier "ANSIBLE_HOSTS"

$ sert-serveurs anible - list -i anible_hosts
hôtes (2):

Dans notre cas,

$ sert-serveurs anible - list -i anible_hosts
hôtes (2):
VM1
VM2

Ces hôtes devraient désormais être regroupés sous l'alias «TestServers."Utilisez ce fichier comme quelques exemples.

Utilisation du module de commande pour trouver l'exécution de l'hôte

Dans cet exemple, nous utiliserons le module de commande ANSIBLE pour savoir combien de temps nos hôtes sont en cours d'exécution.

Ceci peut être fait de deux façons. Le premier consiste à utiliser ad-hoc, un moyen rapide d'exécuter des fonctions via une seule commande. Le second est en écrivant un script dans le livre de jeu.

Pour trouver le runtime à l'aide de ad-hoc, utilisez la commande suivante:

$ ANSIBLE TESTSERVERS -M COMMANDE -A UP-temps -i anible_hosts

Cela devrait vous fournir la sortie dans la syntaxe suivante:

| Changé | rc = 0 >>

Pour exécuter la commande en tant que playbook, tapez ce qui suit:

Pour exécuter la commande en tant que playbook, tapez ce qui suit:
- nom:
Hôtes:
Tâches:
- nom:
Enregistrement: UptimeOutput
Commande: "Butinage"
- déboguer:
var: UptimeOutput.stdout_lines

Dans notre cas, le script doit ressembler à la suite:

- Nom: Trouvez combien de temps les hôtes sont en cours d'exécution.
Hôtes: serveurs de test
Tâches:
- Nom: commande pour trouver le temps de disponibilité à l'aide du module de commande
Enregistrement: UptimeOutput
Commande: "Butinage"
- déboguer:
var: UptimeOutput.stdout_lines

Avec cela, vous pouvez exécuter ce playbook en exécutant la commande suivante dans le terminal Linux:

ANSIBLE-PLAYBOOK TESTBOOK.YML

La sortie doit être similaire à celle de la commande ad hoc.

Utilisation du module de commande pour trouver l'utilisation du disque

La commande $ df -h est utilisée pour découvrir l'utilisation du disque sur un système. La même commande peut être intégrée au module de commande ANSIBLE pour trouver l'utilisation du disque de ses hôtes.

Pour trouver l'utilisation du disque à l'aide d'ad-hoc, utilisez cette commande:

$ ANSIBLE TESTSERVERVES -M COMMANDE -A "DF -H" -I ANSIBLE_HOSTS

Pour trouver l'utilisation du disque à l'aide de PlayBook, exécutez le script suivant:

Nom: Utilisation du disque des serveurs
Hôtes: serveurs de test
Tâches:
- Nom: Exécutez la commande $ df -h.
Enregistrement: DFOT
Commande: "df -h"
- déboguer:
var: dfout.stdout_lines

Utilisation du module de commande pour redémarrer le serveur

Le module de commande ANSIBLE peut être utilisé pour redémarrer un seul serveur. Le paramètre -limit est utilisé pour limiter cette exécution.

Pour exécuter la commande à l'aide d'ad-hoc, saisissez ce qui suit,

$ anible TestServers -M Commande -a "httpd -k redémarrage" -i anible_hosts -b --limit vm1

Pour exécuter la commande à l'aide du playbook, exécutez le script suivant:

---
- Nom: Redémarrez le serveur Web
Hôtes: serveurs de test
Tâches:
- Nom: redémarrer
Enregistrement: httpdresout
devenir: oui
Commande: "Httpd -K Restart"
Quand: ANIBLE_HOSTNAME == "VM1"
- déboguer:
var: httpdresout.stdout_lines

Cela devrait redémarrer votre serveur. Il devrait être évident que VM2 a été sauté.

Mis à part les exemples comme mentionné ci-dessus, il existe de nombreuses commandes qui peuvent être exécutées à l'aide du module de commande ANSIBLE. La documentation de ces commandes et options peut être trouvée sur la documentation officielle Anible en ligne.

Conclusion

Nous espérons que ce guide vous a aidé à découvrir le module de commande ANSIBLE. Nous avons couvert les bases du module, ses conditions préalables et quelques exemples de comment l'utiliser. Avec cela, nous espérons que vous avez une expérience agréable à travailler sur ANIBLE.