Ansible - Playbooks

Dans ce chapitre, nous allons découvrir les Playbooks dans Ansible.

Les playbooks sont les fichiers dans lesquels le code Ansible est écrit. Les playbooks sont écrits au format YAML. YAML signifie Yet Another Markup Language.Playbookssont l'une des fonctionnalités principales d'Ansible et indiquent à Ansible quoi exécuter. Ils sont comme une liste de tâches pour Ansible qui contient une liste de tâches.

Les playbooks contiennent les étapes que l'utilisateur souhaite exécuter sur une machine particulière. Les playbooks sont exécutés de manière séquentielle. Les playbooks sont les éléments de base de tous les cas d'utilisation d'Ansible.

Structure du livre de lecture

Chaque playbook est une agrégation d'une ou plusieurs pièces de théâtre. Les playbooks sont structurés à l'aide de Playbooks. Il peut y avoir plus d'un jeu dans un playbook.

La fonction d'un jeu est de mapper un ensemble d'instructions défini contre un hôte particulier.

YAML est un langage typé strict; donc, des précautions supplémentaires doivent être prises lors de l'écriture des fichiers YAML. Il existe différents éditeurs YAML mais nous préférerons utiliser un éditeur simple comme notepad ++. Ouvrez simplement notepad ++ et copiez et collez le yaml ci-dessous et changez la langue en YAML (Language → YAML).

Un YAML commence par --- (3 tirets)

Créer un Playbook

Commençons par écrire un exemple de fichier YAML. Nous allons parcourir chaque section écrite dans un fichier yaml.

--- 
   name: install and configure DB
   hosts: testServer
   become: yes

   vars: 
      oracle_db_port_value : 1521
   
   tasks:
   -name: Install the Oracle DB
      yum: <code to install the DB>
    
   -name: Ensure the installed service is enabled and running
   service:
      name: <your service name>

Ce qui précède est un exemple de Playbook dans lequel nous essayons de couvrir la syntaxe de base d'un playbook. Enregistrez le contenu ci-dessus dans un fichier soustest.yml. Une syntaxe YAML doit suivre l'indentation correcte et il faut être un peu prudent lors de l'écriture de la syntaxe.

Les différentes balises YAML

Passons maintenant en revue les différentes balises YAML. Les différentes balises sont décrites ci-dessous -

Nom

Cette balise spécifie le nom du playbook Ansible. Comme dans ce que fera ce playbook. Tout nom logique peut être attribué au playbook.

hôtes

Cette balise spécifie les listes d'hôtes ou de groupe d'hôtes sur lesquels nous voulons exécuter la tâche. Le champ / balise hosts est obligatoire. Il indique à Ansible sur quels hôtes exécuter les tâches répertoriées. Les tâches peuvent être exécutées sur la même machine ou sur une machine distante. On peut exécuter les tâches sur plusieurs machines et, par conséquent, la balise d'hôtes peut également avoir une entrée de groupe d'hôtes.

Vars

La balise Vars vous permet de définir les variables que vous pouvez utiliser dans votre playbook. L'utilisation est similaire aux variables dans n'importe quel langage de programmation.

Tâches

Tous les playbooks doivent contenir des tâches ou une liste de tâches à exécuter. Les tâches sont une liste d'actions à effectuer. Un champ de tâches contient le nom de la tâche. Cela fonctionne comme le texte d'aide pour l'utilisateur. Ce n'est pas obligatoire mais s'avère utile pour déboguer le playbook. Chaque tâche est liée en interne à un morceau de code appelé module. Un module qui doit être exécuté et des arguments requis pour le module que vous souhaitez exécuter.