Comment utiliser des balises dans ANSIBLE

Comment utiliser des balises dans ANSIBLE

Les pièces de théâtre, les rôles et les tâches sont la structure anible et cette structure anible contient l'attribut important qui est appelé balises dans anible. Chaque fois que nous lançons un livre de jeu dans ANSIBLE, vous pouvez utiliser les commandes de Tags et -Skip Tags afin que nous ne puissions exécuter qu'une série particulière de tâches, de pièces de théâtre et de rôles. Si nous avons un livre de jeu qui contient tellement de tâches, mais que nous ne voulons pas exécuter toutes les tâches du playbook, au lieu d'exécuter l'ensemble du playbook, nous allons simplement exécuter quelques tâches en utilisant la commande TAG dans le manuel ANSIBLE.

Nous allons discuter des balises dans ce sujet, qui servent de l'une des facettes les plus importantes d'Anible. Nous essaierons d'expliquer ce que sont les balises et comment les balises fonctionnent dans ANSIBLE car il s'agit d'une caractéristique perplexe de la plate-forme ANSIBLE.

Par exemple, un playbook peut contenir trois responsabilités: l'installation du module, la configurer et la vérification de l'état du module déployé, par exemple si le service est en cours d'exécution et accessible. Étant donné que nous avons simplement besoin de voir l'état des modules sur quelques machines distantes, nous utilisons des balises anibles dans cette situation plutôt que d'exécuter toutes les tâches dans le livre de jeu. Il nous permet d'exécuter une certaine opération exclusivement, nous permettant de réduire le temps d'exécution en gardant toutes les activités connexes dans un seul livre de jeu.

Prérequis de l'utilisation des balises dans ANSIBLE Playbook

Pour mettre les exemples pratiques dans le logiciel ANSIBLE, nous devons répondre aux exigences suivantes.

Un serveur de contrôle ANSIBLE doit être nécessaire afin qu'il apporte des modifications. Pour utiliser le paramètre TAG dans le logiciel ANSIBLE, nous avons besoin des hôtes locaux pour communiquer avec eux. Dans ce cas, nous utilisons l'hôte local tout au long de l'exécution comme serveur distant cible. Nous allons créer des lecteurs de playbooks, exécuter des commandes de balises ANSIBL et surveiller les résultats sur les hôtes distants de l'appareil ANSIBL-contrôleur.

Nous viserons à utiliser différents scénarios pour examiner quelques-unes des étiquettes ANSIBLES afin que l'apprenant puisse facilement comprendre le concept de balises dans un livre de jeu anible.

Exemple 01: Accès à une seule tâche dans ANSIBLE Playbook

Nous allons mettre en œuvre dans ANSIBLE en fournissant plusieurs tâches dans le playbook et ensuite nous n'accéderons qu'une seule tâche en utilisant les balises dedans. Pour ce faire, nous créerons d'abord le livre de jeu en écrivant la commande suivante:

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

Après avoir créé et lancé le ANSIBLE_TAGS.livre de jeu YML. Maintenant, nous allons commencer à écrire les commandes dans le livre de jeu. Tout d'abord, nous passerons les hôtes fournis dans le paramètre «Hosts» que nous utiliserons «localhost». Ensuite, nous rédigerons la valeur «fausse» dans le paramètre «rassembler_facts» afin que nous ne puissions pas obtenir les informations supplémentaires sur le Host local lorsque nous exécutons le livre de jeu.

Après cela, nous commencerons à répertorier les activités sous le paramètre «tâches» un par un que nous voulons exécuter. Nous déterminerons si le document est là sur la machine LocalHost dans le premier processus. S'il est disponible, nous le stockons dans le paramètre «enregistrer» et ensuite nous donnerons le nom unique à la balise afin que lorsque nous exécuterons le livre de jeu, il nous sera facile d'accéder à la balise. Dans la deuxième tâche, nous ferons de même que nous l'avons fait dans la première tâche, mais la balise doit être unique, puis nous utiliserons l'option de débogage pour présenter la tâche avec le message connexe.

- Hôtes:
- hôte local
rassemble_facts: faux
Tâches:
- Nom: Vérifiez l'existence du fichier x '
stat: chemin =./héberger.YML
Enregistrement: Fileexists
Tags: check_file
- déboguer:
msg: "'le fichier existe' si les fichiers.stat.Existe le fichier else 'non trouvé' "
Tags: check_file
- Nom: Vérifiez si l'hôte.YML est accessible par l'utilisateur actuel
Shell: stat -c "% a" ./héberger.YML
Enregistrement: AccessPath
Tags: check_access
- déboguer:
msg: "'fichier accessible' if (AccessPath.stdout | int) < 660 else 'File is not accessible' "
Tags: check_access

Maintenant, nous allons enregistrer le livre de jeu et le fermer. Nous voulons exécuter les anible_tags.YML Playbook afin que nous écrivons la commande suivante dans le terminal anible pour présenter la sortie aux utilisateurs.

[root @ maître anible] # anible-playbook anible_tags.yml -tags check_file

Après avoir exécuté la commande ci-dessus, nous obtiendrons la sortie souhaitée en retour. Comme indiqué ci-dessous, une seule tâche est exécutée et qui s'affiche dans la sortie qui est «Vérifier l'existence du fichier».

Exemple 02: Ignorez une balise particulière dans le livre de jeu ANSIBLE

Voici le deuxième exemple de la balise ANSIBLE où nous allons à la balise «Skip». C'est à vous de décider que vous souhaitiez ignorer toutes les tâches ou si vous souhaitez ignorer une tâche particulière du playbook dans ANIBLE. Nous utilisons la mise en œuvre de l'exemple 1, puis nous allons simplement sauter la tâche en écrivant simplement la déclaration ci-dessous dans le terminal anible.

[root @ maître anible] # anible-playbook anible_tags.YML - SKIP-TAGS CHECK_FILE

Dans la commande ci-dessus, nous avons simplement ignoré la tâche «Vérifier l'existence du fichier». Maintenant, une seule tâche s'affiche dans la sortie qui est «accessible en fichier» en police verte.

Exemple 03: Continuez toujours à exécuter la tâche dans ANSIBLE Playbook

Nous allons implémenter le troisième exemple en fonction de la balise ANSIBLE. Dans cet exemple, nous utiliserons la balise «toujours», ce qui signifie qu'une balise particulière s'exécutera toujours dans le manuel ANSIBLE. Pour lancer le playbook, utilisez la commande suivante:

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

Dans le Playbook, nous avons créé plusieurs tâches à exécuter, mais nous avons passé la balise «toujours» dans la dernière tâche qui est «Supprimer le mot de passe de l'inventaire». Voici la commande implémentée dans le playbook:

- hôtes: tout
rassemble_facts: faux
Tâches:
- Nom: Vérifiez l'existence du fichier
stat: chemin =./héberger.YML
Enregistrement: Fileexists
Delegate_to: localhost
Tags: check_file
- déboguer:
msg: "'le fichier existe' si les fichiers.stat.Existe le fichier else 'non trouvé' "
Tags: check_file
- Nom: Vérifiez si l'hôte.YML est accessible par l'utilisateur actuel
Shell: stat -c "% a" ./héberger.YML
Enregistrement: AccessPath
Delegate_to: localhost
Tags: check_access
- déboguer:
msg: "'fichier accessible' if (AccessPath.stdout | int) < 660 else 'File is not accessible' "
Tags: check_access
- Nom: Supprimer le mot de passe de l'inventaire
LineInfile:
Chemin: "Inventory_file"
regexp: '\ b item.* \ b '
État: absent
Delegate_to: localhost
devenir: faux
Tags: toujours
avec_items:
- ANSIBLE_PASSWORD

Après cela, nous créerons le fichier d'inventaire pour établir la connexion entre le contrôleur et l'hôte distant cible. Vous trouverez ci-dessous la commande:

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

Voici le fichier d'inventaire qui contient les informations liées au «Linux_host» dans ANSIBLE.

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

Pour obtenir la sortie souhaitée, nous exécuterons la commande suivante dans le terminal ANSIBLE:

[root @ maître anible] # anible-playbook anible_tags.YML - Tags Check_file -i Host.YML

Conclusion

Les tags dans ANSIBLE ont été expliqués dans cet article. Nous comprenons maintenant la fonction des étiquettes et les lieux d'ANSIBL. Pour aider l'apprenant à comprendre la compréhension du concept de balises anibles, nous avons développé une variété d'exemples.