0% encontró este documento útil (0 votos)
326 vistas9 páginas

Manual PLAYBOOK Ansible

El documento proporciona instrucciones para crear y ejecutar playbooks en Ansible. Explica que un playbook contiene tareas que se ejecutan en hosts seleccionados. Las tareas utilizan módulos para realizar acciones como instalar paquetes, copiar archivos, iniciar servicios. El documento también incluye ejemplos de playbooks para copiar archivos, desinstalar software, modificar variables de entorno y ejecutar comandos en hosts Windows.

Cargado por

Jaime Fiber
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
326 vistas9 páginas

Manual PLAYBOOK Ansible

El documento proporciona instrucciones para crear y ejecutar playbooks en Ansible. Explica que un playbook contiene tareas que se ejecutan en hosts seleccionados. Las tareas utilizan módulos para realizar acciones como instalar paquetes, copiar archivos, iniciar servicios. El documento también incluye ejemplos de playbooks para copiar archivos, desinstalar software, modificar variables de entorno y ejecutar comandos en hosts Windows.

Cargado por

Jaime Fiber
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 9

PLAYBOOK

 El primer paso es el de escribir nuestro Manual de Juego. Podemos


utilizar un editor cualquiera para generarlo, primero crearemos
nuestra fichero donde vamos crear el playbook con el siguiente
comando:

 Para explicar la estructura del PlayBook, lo que se hace primero de


todo es explicar su estructura y luego explicar paso por paso qué
significado tiene cada cosa y que opciones tenemos. Lo siguiente es
un ejemplo de Playbook:
 Todos los PlayBooks empezarán con los tres guiones al principio para
indicar que se trata de un fichero escrito en YAML.

Luego vendrá el parámetro para indicar sobre que parte del


inventario que tenemos debe de afectar este PlayBook. Podemos
poner un host en concreto, un grupo de hosts, o incluso todos, como
se muestra a continuación:

 A continuación, vendrán las tareas que hay que realizar en los hosts
que hemos seleccionado y para ello lo haremos con tasks:
 Las tareas también tienen su estructura particular. Siempre hay que
indicar un nombre “name” y luego los comandos que tiene que
ejecutar con sus módulos “apt”.

Como se ve, “name” sirve para describir de que trata la tarea. Y


seguido, la tarea “apt” que hay que ejecutar. En este caso, estamos
usando el módulo apt y le estamos pasando los parámetros, el
nombre del paquete y el estado de ese paquete -en esta caso
instalado en el servidor-.

Ansible permite hacer prácticamente cualquier gestión en los ordenadores


controlados. Las operaciones concretas (instalar un paquete, dar de alta un
usuario, copiar un fichero) están agrupadas en módulos con una función
común.
El índice de módulos es muy grande y probablemente encontraremos todos
lo que estemos buscando, pero en el improbable caso de que no exista el
módulo que buscamos es bastante sencillo escribir uno nuevo.

Por ejemplo:
Gestión de paquetes: apt, dnf, flatpak, snap
Gestión de usuarios: user
Gestión de particiones: parted
Gestión de servicios: systemd
Gestión de ficheros: copy, file
Cambios en ficheros de configuración: replace, lineinfile, blockinfile
 Ejemplos de PLAYBOOKS:

1- Copiar documentos.
---
- hosts: win
tasks:
- name: Copy File
win_copy
src: C:\output.pdf
dest: C:\ansible_examples\
remote_src: yes

2- Desinstalar el software.
---
- hosts: win
tasks:
- name: Uninstall 7-Zip from the exe
win_package:
path: C:\Program Files\7-Zip\Uninstall.exe
product_id: 7-Zip
arguments: /S
state: absent
3- Iniciar, detener o reiniciar un servicio.
---
- hosts: win
tasks:
- name: Stop service Tomcat
win_service:
name: Tomcat8
state: stopped

4- Recuperar la información disco host de destino.


---
- hosts: win
tasks:
- name: Get disk facts
win_disk_facts:

- name: Output first disk size


debug:
var: ansible_facts.disks[0].size

- name: Convert first system disk into various formats


debug:
msg: '{{ disksize_gib }} vs {{ disksize_gib_human }}'
vars:
# Get first system disk
disk: '{{ ansible_facts.disks|selectattr("system_disk")|first
}}'
# Show disk size in Gibibytes
disksize_gib_human: '{{ disk.size|filesizeformat(true) }}'
disksize_gib: '{{ (disk.size/1024|pow(3))|round|int }} GiB'

5- Ejecutar comandos.
---
- hosts: win
tasks:
- name: run an executable using win_command
win_command: whoami.exe

- name: run a cmd command


win_command: cmd.exe /c mkdir C:\test

6- Modificar variables de entorno.


---
- hosts: win
tasks:
- name: Set an environment variable for all users
win_environment:
state: present
name: NewVariable
value: New Value
level: machine
EJECUTAR PLAYBOOKS

 Para ejecutar nuestros PlayBooks tenemos otro comando,


escribiendo siempre ansible-playbook y ya el nombre de nuestro
directorio:

 Y como hemos hecho antes, vamos hacer lo mismo, a continuación,


voy a mostrar la salida de este comando y voy a explicar que ha
pasado.
- Si vemos la salida de la primera tarea aparece ok: [voidnull.es].
Esto es que Ansible ha detectado que apache2 ya está instalado y
simplemente ha pasado a la siguiente tarea.
En la última línea vemos que la 3 tarea se ha realizado
correctamente, y únicamente a cambiado: la instalación de PHP.

 También podemos añadir una tarea nueva a nuestro PlayBook. El que


hemos creado tiene únicamente la instalación de Apache, pero
podemos controlar los servicios con un módulo llamado Service

- Las dos últimas tareas, lo que hacemos es lo siguiente: primero


reiniciamos, que sería lo recomendable después de instalar PHP y
luego habilitamos el servicio para que cargue al arranque, de esta
manera el servicio web estará habilitado tras reiniciar el servidor.
 Si ejecutamos de nuevo el PlayBook veremos que se han ejecutado
dos tareas:

También podría gustarte