Ansible - Playbooks

En este capítulo, aprenderemos sobre los Playbooks en Ansible.

Los libros de jugadas son los archivos donde se escribe el código Ansible. Los libros de jugadas están escritos en formato YAML. YAML son las siglas de Yet Another Markup Language.Playbooksson una de las características principales de Ansible y le dicen a Ansible qué ejecutar. Son como una lista de tareas pendientes para Ansible que contiene una lista de tareas.

Los libros de jugadas contienen los pasos que el usuario desea ejecutar en una máquina en particular. Los libros de jugadas se ejecutan secuencialmente. Los libros de jugadas son los componentes básicos de todos los casos de uso de Ansible.

Estructura del libro de jugadas

Cada libro de jugadas es una agregación de una o más jugadas en él. Los libros de jugadas se estructuran mediante juegos. Puede haber más de una jugada dentro de un libro de jugadas.

La función de una obra es mapear un conjunto de instrucciones definidas contra un anfitrión en particular.

YAML es un lenguaje mecanografiado estricto; por lo tanto, se debe tener especial cuidado al escribir los archivos YAML. Hay diferentes editores YAML pero preferiremos usar un editor simple como notepad ++. Simplemente abra notepad ++ y copie y pegue el archivo yaml a continuación y cambie el idioma a YAML (Idioma → YAML).

Un YAML comienza con --- (3 guiones)

Crea un libro de jugadas

Comencemos escribiendo un archivo YAML de muestra. Repasaremos cada sección escrita en un archivo 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>

Lo anterior es un libro de jugadas de muestra en el que intentamos cubrir la sintaxis básica de un libro de jugadas. Guarde el contenido anterior en un archivo comotest.yml. Una sintaxis YAML debe seguir la sangría correcta y se debe tener un poco de cuidado al escribir la sintaxis.

Las diferentes etiquetas YAML

Veamos ahora las diferentes etiquetas YAML. Las diferentes etiquetas se describen a continuación:

nombre

Esta etiqueta especifica el nombre del libro de jugadas de Ansible. Como en lo que hará este libro de jugadas. Se puede dar cualquier nombre lógico al libro de jugadas.

Hospedadores

Esta etiqueta especifica las listas de hosts o grupos de hosts contra los que queremos ejecutar la tarea. El campo / etiqueta de hosts es obligatorio. Le dice a Ansible en qué hosts ejecutar las tareas enumeradas. Las tareas se pueden ejecutar en la misma máquina o en una máquina remota. Se pueden ejecutar las tareas en varias máquinas y, por lo tanto, la etiqueta de hosts también puede tener una entrada de grupo de hosts.

vars

La etiqueta Vars le permite definir las variables que puede usar en su libro de jugadas. El uso es similar a las variables en cualquier lenguaje de programación.

Tareas

Todos los libros de jugadas deben contener tareas o una lista de tareas a ejecutar. Las tareas son una lista de acciones que se deben realizar. Un campo de tareas contiene el nombre de la tarea. Esto funciona como texto de ayuda para el usuario. No es obligatorio, pero resulta útil para depurar el libro de jugadas. Cada tarea se vincula internamente a un fragmento de código llamado módulo. Un módulo que debe ejecutarse y los argumentos necesarios para el módulo que desea ejecutar.