ansible
Introducción a los libros de jugadas
Buscar..
Visión general
En Ansible, un libro de jugadas es un archivo YAML que contiene la definición de cómo debe verse un servidor. En un libro de jugadas, usted define qué acciones debe realizar Ansible para que el servidor se encuentre en el estado que desea. Solo se hace lo que usted define.
Este es un manual básico de Ansible que instala git en todos los hosts que pertenecen al grupo web
:
---
- name: Git installation
hosts: web
remote_user: root
tasks:
- name: Install Git
apt: name=git state=present
Estructura del libro de jugadas
El formato de un libro de jugadas es bastante sencillo, pero estricto en términos de espaciado y diseño. Un libro de jugadas consiste en juegos. Un juego es una combinación de hosts de destino y las tareas que queremos aplicar en estos hosts, por lo que el dibujo de un libro de jugadas es el siguiente:
Para ejecutar este libro de jugadas, simplemente ejecutamos:
ansible-playbook -i hosts my_playbook.yml
Estructura del juego
Aquí hay una jugada simple:
- name: Configure webserver with git
hosts: webserver
become: true
vars:
package: git
tasks:
- name: install git
apt: name={{ package }} state=present
Como dijimos anteriormente, cada juego debe contener:
Un conjunto de hosts para configurar
Una lista de tareas a ejecutar en esos hosts.
Piense en un juego como lo que conecta a los hosts con las tareas. Además de especificar hosts y tareas, los juegos también admiten una serie de configuraciones opcionales. Dos comunes son:
-
name
: un comentario que describe de qué trata la obra. Ansible imprimirá esto cuando la obra comience a correr -
vars
: una lista de variables y valores
Etiquetas
El juego contiene varias tareas, que se pueden etiquetar:
- name: Install applications
hosts: all
become: true
tasks:
- name: Install vim
apt: name=vim state=present
tags:
- vim
- name: Install screen
apt: name=screen state=present
tags:
- screen
La tarea con la etiqueta 'vim' se ejecutará cuando se especifique 'vim' en las etiquetas. Puede especificar tantas etiquetas como desee. Es útil usar etiquetas como 'instalar' o 'config'. Luego puede ejecutar el libro de jugadas especificando etiquetas o etiquetas de omisión. por
ansible-playbook my_playbook.yml --tags "tag1,tag2"
ansible-playbook my_playbook.yml --tags "tag2"
ansible-playbook my_playbook.yml --skip-tags "tag1"
Por defecto, Ansible ejecuta todas las etiquetas.