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:

Representación pictórica de un libro de jugadas de Ansible.

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.



Modified text is an extract of the original Stack Overflow Documentation
Licenciado bajo CC BY-SA 3.0
No afiliado a Stack Overflow