Ejercicio del Taller - Escribiendo Tu Primer Playbook

Lea esto en otros idiomas:
uk Inglés, japan 日本語, brazil Portugués de Brasil, france Francés, Español Español.

Índice de Contenidos

Objetivos

En este ejercicio, utilizarás Ansible para realizar tareas básicas de configuración del sistema en un servidor Red Hat Enterprise Linux. Te familiarizarás con módulos fundamentales de Ansible como dnf y user, y aprenderás cómo crear y ejecutar playbooks.

Guía

Los playbooks en Ansible son esencialmente scripts escritos en formato YAML. Se utilizan para definir las tareas y configuraciones que Ansible aplicará a tus servidores.

Paso 1 - Fundamentos del Playbook

Primero, crea un archivo de texto en formato YAML para tu playbook. Recuerda:

Conceptos Clave:

NOTA: Un playbook de Ansible está diseñado para ser idempotente, lo que significa que si lo ejecutas varias veces en los mismos hosts, asegura el estado deseado sin hacer cambios redundantes.

Paso 2 - Creando Tu Playbook

Antes de crear tu primer playbook, asegúrate de estar en el directorio correcto cambiando a ~/lab_inventory:

cd ~/lab_inventory

Ahora crea un playbook llamado system_setup.yml para realizar la configuración básica del sistema:

La estructura básica se ve de la siguiente manera:

---
- name: Basic System Setup
  hosts: node1
  become: true
  tasks:
    - name: Update all security-related packages
      ansible.builtin.dnf:
        name: '*'
        state: latest
        security: true

    - name: Create a new user
      ansible.builtin.user:
        name: myuser
        state: present
        create_home: true

NOTA: Actualizar los paquetes puede tardar unos minutos antes de completar el playbook de Ansible.

Paso 3 - Ejecutando el Playbook

Ejecuta tu playbook utilizando el comando ansible-navigator:

[student@ansible-1 lab_inventory]$ ansible-navigator run system_setup.yml -m stdout

Revisa la salida para asegurarte de que cada tarea se haya completado con éxito.

Paso 4 - Verificando el Playbook

Ahora, vamos a crear un segundo playbook para verificaciones posteriores a la configuración, llamado system_checks.yml:

---
- name: System Configuration Checks
  hosts: node1
  become: true
  tasks:
    - name: Check user existence
      ansible.builtin.command:
        cmd: id myuser
      register: user_check

    - name: Report user status
      ansible.builtin.debug:
        msg: "User 'myuser' exists."
      when: user_check.rc == 0

Ejecuta el playbook de verificaciones:

[student@ansible-1 lab_inventory]$ ansible-navigator run system_checks.yml -m stdout

Revisa la salida para asegurarte de que la creación del usuario haya sido exitosa.


Navegación
Ejercicio anterior - Próximo Ejercicio

Haga clic aquí para volver al Taller Ansible for Red Hat Enterprise Linux