Sobre Playbooks
Libros de jugadas son una forma completamente diferente de usar ansible que en el modo de ejecución de la tarea adhoc, y son particularmente poderosos.
En pocas palabras, libros de jugadas son la base para un muy simple sistema de despliegue de gestión de la configuración y multi-máquina, a diferencia de cualquier que ya existen, y uno que se adapta muy bien a la implementación de aplicaciones complejas.
Libros de jugadas pueden declarar configuraciones, pero también pueden orquestar etapas de cualquier proceso ordenado manual, incluso como diferentes pasos deben rebotar hacia atrás y adelante entre conjuntos de máquinas en las órdenes particulares. Ellos pueden iniciar tareas de forma sincrónica o asincrónica.
Si bien es posible ejecutar el principal usr / local / bin / ansible programa para tareas ad-hoc, libros de jugadas son más propensos a mantenerse en control de código fuente y se utiliza para empujar a cabo la configuración o asegurar las configuraciones de los sistemas remotos están dentro de las especificaciones.
También hay algunos juegos completos de libros de jugadas que ilustran muchas de estas técnicas en el repositorio de ansibles-ejemplos . Nos gustaría recomendar mirando a éstos en otra pestaña a medida que avanza.
También hay muchos puntos saltando después de aprender libros de jugadas, así que salta de nuevo al índice de la documentación después de que haya terminado con esta sección.
Playbook Idioma Ejemplo
Libros de jugadas se expresan en formato YAML (ver YAML Sintaxis ) y tener un mínimo de sintaxis, que intenta intencionalmente para no ser un lenguaje de programación o escritura, sino más bien un modelo de configuración o un proceso.
Cada libro de jugadas se compone de uno o más 'juega' en una lista.
El objetivo de un juego es el mapeo de un grupo de hosts para algunos roles bien definidos, representados por lo que las tareas de llamadas ansibles. En un nivel básico, una tarea no es nada más que una llamada a un módulo de ansible (ver Información sobre los módulos ).
Al componer un libro de jugadas de múltiples 'juega', es posible organizar los despliegues multi-máquina, corriendo ciertos pasos en todos los equipos en el grupo de servidores web, a continuación, ciertos pasos en el grupo de servidores de base de datos, a continuación, más comandos de nuevo en el grupo de servidores web, etc. .
"Juega" son más o menos una analogía con el deporte. Usted puede tener un buen montón de obras que afectan a sus sistemas para hacer cosas diferentes. No es como si se acaba definiendo un estado o modelo en particular, y se puede ejecutar diferentes obras de teatro en diferentes momentos.
Para empezar, aquí hay un libro de jugadas que contiene sólo un juego:
---
- Anfitriones : servidores web
vars :
http_port : 80
max_clients : 200
usuario_remoto : raíz
tareas :
- Nombre : asegurar Apache está en la última versión
de yum : name = = httpd estado más reciente
- Nombre : escribir el archivo de configuración de Apache
plantilla : src = /srv/httpd.j2 dest = / etc / httpd.conf
notificar :
- Reinicia Apache
- nombre : asegurar Apache está funcionando (y activarlo en el arranque)
del servicio : nombre = = httpd estado comenzó a enabled = yes
manipuladores :
- nombre : reinicio apache
servicio : estado name = = httpd renovadas
También podemos romper los elementos de tarea a lo largo de varias líneas usando los tipos de diccionario YAML para suministrar argumentos de los módulos. Esto puede ser muy útil cuando se trabaja con las tareas que tienen parámetros o módulos que tienen muchos parámetros para mantenerlos bien estructurada muy largas. A continuación se muestra otra versión del ejemplo anterior, pero utilizando diccionarios YAML para suministrar los módulos con sus clave = valor argumentos .:
---
- Anfitriones : servidores web
vars :
http_port : 80
max_clients : 200
usuario_remoto : raíz
tareas :
- Nombre : asegurar Apache está en la última versión
de yum :
Nombre : httpd
Estado : reciente
- Nombre : escribir el archivo de configuración de Apache
plantilla :
src : /srv/httpd.j2
dest : /etc/httpd.conf
notificar :
- reinicia Apache
- nombre : garantizar Apache se está ejecutando
el servicio :
nombre : httpd
estado : comenzó
manipuladores :
- nombre : reiniciar apache
servicio :
nombre : httpd
estado : renovadas
Libros de jugadas pueden contener varias obras de teatro. Es posible que tenga un libro de jugadas que se dirige en primer lugar los servidores web, y luego los servidores de bases de datos. Por ejemplo:
---
- Anfitriones : servidores web
usuario_remoto : root
tareas :
- Nombre : garantizar Apache está en la última versión
de yum : name = = httpd estado más reciente
- Nombre : escribir el archivo de configuración de Apache
plantilla : src = / srv / httpd.j2 dest = / etc / httpd.conf
- Anfitriones : bases de datos
usuario_remoto : root
tareas :
- Nombre : garantizar PostgreSQL está en la última versión
de yum : name = = PostgreSQL estado más reciente
- Nombre : asegurar que PostgreSQL se inicia
el servicio : name = = zapatillas estado PostgreSQL
Puede utilizar este método para cambiar entre el grupo de hosts que usted está apuntando, el registro de nombre de usuario en los servidores remotos, si se debe o no sudo, y así sucesivamente. Obras de teatro, como tareas, se ejecutan en el orden especificado en el libro de jugadas: de arriba a abajo.
A continuación, vamos a romper hacia abajo lo que las diversas características del lenguaje libro de jugadas son.
Lo esencial
Los anfitriones y Usuarios
Para cada juego en un libro de jugadas, puedes elegir el que las máquinas en su infraestructura para apuntar y qué usuario remoto para completar los pasos (denominados tareas) como.
El anfitriones línea es una lista de uno o más grupos o patrones de hosts, separados por dos puntos, como se describe en la Patrones documentación. El usuario_remoto es sólo el nombre de la cuenta de usuario:
---
- Anfitriones : servidores web
usuario_remoto : root
Fuente : http://docs.ansible.com/ansible/playbooks_intro.html
No hay comentarios:
Publicar un comentario