GNU/Linux >> Tutoriels Linux >  >> Ubuntu

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

Ansible est un outil de gestion de configuration de serveur populaire qui permet aux utilisateurs de gérer et de surveiller des systèmes distants à partir d'un seul nœud de contrôle. Avec Ansible, vous pouvez installer des packages logiciels, déployer des services et effectuer des configurations sur plusieurs hôtes à partir d'un seul nœud au lieu de vous connecter à chacun des nœuds. Nous avons déjà un guide sur la façon d'installer et de configurer Ansible sur Ubuntu 20.04. Cela vous donnera une introduction et une longueur d'avance probable au fur et à mesure que vous parcourrez ce guide. Dans ce guide, nous allons nous concentrer sur ce que sont les playbooks, comment les créer et les utiliser pour déployer des services.

Configuration du laboratoire

Nous avons déjà un laboratoire à domicile comme indiqué ci-dessous. Pour tirer le meilleur parti de ce guide, vous pouvez le reproduire ou disposer d'un environnement de laboratoire similaire sur une plate-forme virtualisée :

Nœud de contrôle Ansible IP :192.168.2.106

Hébergeur géré IP :192.168.2.108

Une fois la configuration vérifiée, commençons.

Qu'est-ce qu'un fichier playbook ?

Ansible, tout comme Terraform, relève de l'infrastructure en tant que code. Qu'est-ce que ça veut dire? L'infrastructure en tant que code (IaC) est décrite comme un mécanisme de provisionnement et de gestion des hôtes à l'aide de fichiers de configuration lisibles par machine, par opposition à la connexion physique et à la création des configurations. Dans Ansible, un playbook est l'un de ces fichiers de configuration.

Un playbook est un fichier au format YAML qui contient une ou plusieurs lectures. Qu'est-ce qu'un jeu ? Une lecture est une tâche ordonnée qui automatise une tâche ou un processus sur l'hôte géré, comme le déploiement d'une application telle qu'un serveur Web ou la création de configurations. Un playbook peut avoir une ou plusieurs parties, chacune effectuant différentes tâches.

Les lectures utilisent des modules qui sont des fonctions spéciales pour spécifier les changements requis sur l'hôte distant. Chaque module est spécial et définit une tâche particulière.

Un fichier playbook est enregistré avec un .yml ou .yaml extension de fichier.

Création d'un fichier playbook

Créons maintenant un fichier playbook. Dans cette démonstration, nous allons créer un fichier playbook appelé greetings.yml dans le chemin du répertoire Ansible /etc/ansible comme indiqué.

$ sudo vim /etc/ansible/greetings.yml

Ajoutez la configuration suivante. Il s'agit d'un simple playbook qui imprime un message sur stdout sur le serveur distant. Prenez bien note de l'indentation des modules.

Le fichier Ansible Playbook commence par trois traits d'union ( ) pour indiquer qu'il s'agit d'un fichier YAML. Les "hôtes" Le paramètre spécifie l'hôte distant ou le groupe d'hôtes défini dans le fichier d'inventaire, qui se trouve par défaut dans /etc/ansible/hosts. Ici, mise en scène est le groupe d'hôtes pour lequel l'hôte distant d'IP 192.168.2.108 est défini.

L'hôte distant est défini sous le groupe d'hôtes appelé staging avec les entrées suivantes.

[staging]

192.168.2.108 ansible_ssh_pass=xxxxxxxx ansible_ssh_user=jack

Le ansible_ssh_pass spécifie le mot de passe SSH de l'utilisateur distant tandis que ansible_ssh_use spécifie le nom d'utilisateur sur l'hôte distant.

Ensuite, nous avons le nom de la pièce "Imprimez un message simple ” suivi du debug module qui imprime le message défini par le msg module.

Exécuter le fichier playbook

Pour exécuter le playbook, utilisez simplement le ansible-playbook commande dans la syntaxe fournie ci-dessous.

$ ansible-playbook /path/to/playbook-file

Dans notre cas, cela va être :

$ ansible-playbook /etc/ansible/greetings.yml

Lors de l'exécution de la lecture, Ansible imprime d'abord le nom du groupe d'hôtes ou de l'hôte distant sur lequel la lecture sera exécutée - dans notre cas, la mise en scène grouper. Ansible récupère ensuite des informations sur le jeu, appelées Faits, et enfin exécute l'action spécifiée dans le playbook. Ici, le message simple est imprimé.

Prenons encore un autre exemple de fichier playbook appelé install_apache_and_git.yml comme indiqué ci-dessous. Ici, nous avons deux jeux. Le premier jeu installe le serveur Web Apache tandis que le second jeu installe git sur le système distant. Le devient :vrai Le paramètre exécute la commande en tant qu'utilisateur élevé ou utilisateur sudo sur l'utilisateur distant, comme prévu.

Lorsque le playbook est exécuté, tous les jeux sont répertoriés dans l'ordre d'exécution du premier au dernier. Le playbook installe d'abord le serveur Web Apache avant d'installer git. Le –demander-devenir-passer invite l'utilisateur sudo à exécuter les tâches définies dans les parties.

Conclusion

Et c'est ainsi que vous pouvez créer un fichier playbook simple et l'exécuter. Nous espérons que cela a fourni une compréhension de base d'un fichier de playbook Ansible, de sa structure et de la façon dont vous l'utilisez pour effectuer des tâches sur des hôtes distants.


Ubuntu
  1. Comment créer un fichier dans Ansible

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

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

  4. Comment créer un Playbook Ansible

  5. Comment créer un fichier et le monter en tant que système de fichiers ?

Comment créer et exécuter un script shell dans Debian 10

Comment créer et exécuter un script Shell dans CentOS 8

Comment créer et éditer des fichiers PDF dans Ubuntu

Comment exécuter des fichiers .bin et .run dans Ubuntu

Comment créer et utiliser un fichier d'échange sous Linux

Comment créer et exécuter un script shell dans Ubuntu 22.04