Curso Ansible: Playbooks conceptos básicos
Ansible es una herramienta de automatización de TI que permite la gestión de configuraciones, despliegue de aplicaciones y tareas de orquestación a través de una infraestructura de TI. Una de las características más poderosas de Ansible son los Playbooks, que son archivos YAML donde se definen las tareas a ejecutar. En esta entrada, exploraremos los conceptos básicos de los Playbooks y proporcionaremos ejemplos iniciales para que puedas comenzar a utilizarlos en tus entornos.
¿Qué es un Playbook?
Un Playbook de Ansible es un archivo YAML que define una serie de tareas que se deben ejecutar en uno o más hosts. Cada Playbook puede contener una o más “plays”, y cada “play” se aplica a un grupo de hosts especificados en el inventario de Ansible. Las tareas dentro de una “play” son ejecutadas en orden secuencial.
Estructura de un Playbook
La estructura básica de un Playbook incluye:
- Hosts: Define los objetivos del play.
- Tasks: Una lista de tareas a ejecutar.
- Variables: Datos que pueden ser utilizados dentro del play.
- Handlers: Tareas que se ejecutan cuando se disparan eventos específicos.
Ejemplo básico de un Playbook:
1 2 3 4 5 6 7 8 |
--- - name: Ejemplo básico de Playbook hosts: all tasks: - name: Instalar paquete Nginx apt: name: nginx state: present |
Conceptos Básicos
- Hosts: Define en qué máquinas se ejecutará el play. Puede ser un grupo de hosts definidos en el inventario.
- Tasks: Una lista de acciones que se ejecutarán en los hosts especificados.
- Modules: Las tareas utilizan módulos de Ansible para realizar acciones específicas, como apt, yum, copy, template, etc.
- Variables: Permiten personalizar las tareas sin cambiar el código del Playbook.
- Handlers: Son tareas que se ejecutan en respuesta a un cambio notificado por una tarea.
Primeros Ejemplos con Ansible Playbook
1. Instalación de un Paquete con Ansible Playbook
Este Playbook instala el paquete nginx en todos los hosts definidos en el inventario.
1 2 3 4 5 6 7 8 9 |
--- - name: Instalación de Nginx hosts: all tasks: - name: Instalar paquete Nginx apt: name: nginx state: present become: yes |
2. Copiar un Archivo con Ansible Playbook
Este Playbook copia un archivo desde la máquina local a los hosts remotos.
1 2 3 4 5 6 7 8 9 |
--- - name: Copiar archivo a hosts remotos hosts: all tasks: - name: Copiar archivo copy: src: /path/to/local/file dest: /path/to/remote/file become: yes |
3. Reiniciar un servicio con Ansible Playbook
Este Playbook reinicia el servicio “nginx” en los hosts remotos.
1 2 3 4 5 6 7 8 9 |
--- - name: Reiniciar servicio Nginx hosts: all tasks: - name: Reiniciar Nginx service: name: nginx state: restarted become: yes |
4. Uso de Variables con Ansible Playbook
Este Playbook utiliza variables para instalar un paquete.
1 2 3 4 5 6 7 8 9 10 11 |
--- - name: Instalación de paquete con variables hosts: all vars: paquete: nginx tasks: - name: Instalar paquete apt: name: "{{ paquete }}" state: present become: yes |
ENTRADAS RELACIONADAS CURSO ANSIBLE
- Curso Ansible: Qué es y para qué sirve
- Curso Ansible: Instalación, configuración inicial y ejemplo práctico básico
- Curso Ansible: Puertos de comunicación necesarios
- Curso Ansible: Playbooks conceptos básicos
- Curso Ansible: Manejo de Inventarios
- Curso Ansible: Manejo de Variables
- Curso Ansible: definición y uso de Roles
- Curso Ansible: qué son los Handlers
- Curso Ansible: Condicionales y bucles
- Curso Ansible: Gestión de secretos y credenciales con Ansible Vault
- Curso Ansible: Uso de roles de la comunidad con Ansible Galaxy
- Curso Ansible: Despliegue de aplicaciones en contenedores con Ansible
- Curso Ansible: Integración de Ansible con CI/CD pipelines
- Curso Ansible: Generar ficheros YAML
- Curso Ansible: Integración de Ansible con Terraform para gestionar Proxmox
- Curso Ansible: Provisioners de Ansible en Terraform
- Curso Ansible: Hecho o Fact
- Curso Ansible: Optimización y buenas prácticas
OTRAS ENTRADAS RELACIONADAS ANSIBLE
- Ansible: Conceptos básicos
- Ansible: Comandos básicos
- Instalar Ansible en Centos 7
- Ansible: Gestión básica máquinas virtuales Proxmox
- MacOS: Instalar Podman y Ansible
- Docker Swarm: Instalar Ansible AWX
- Ansible: Validar ficheros YAML
- Ansible: Instalar SQL Server 2019 en Linux
- Ansible: Crear página web WordPress
- Ansible: Instalación servidores web
- Ansible: Gestión de máquina Windows
Te ha gustado la entrada SGUENOS EN TWITTER O INVITANOS A UN CAFE?