¿Qué son y cómo funcionan los playbooks de Ansible?

Copiar URL

Los playbooks de Ansible® son planos técnicos de las tareas de automatización, las cuales son acciones de TI cuya ejecución se lleva a cabo con muy poca intervención manual en los inventarios de las soluciones de TI. Estos le indican a Ansible qué hacer en cuáldispositivo.

En lugar de aplicar la misma acción de manera manual a cientos o miles de tecnologías similares en todos los entornos de TI, se puede ejecutar un playbook automáticamente para el tipo de inventario específico, como un conjunto de enrutadores. Además, los playbooks sirven como marcos de código escrito previamente que los desarrolladores pueden utilizar para tareas específicas o como una plantilla de inicio.

También se suelen emplear para automatizar la infraestructura de TI (como los sistemas operativos y las plataformas de Kubernetes), las redes, los sistemas de seguridad y los repositorios de código, como GitHub. El personal de TI puede utilizarlos para programar aplicaciones, servicios, nodos de servidor y otros dispositivos sin la necesidad de crear todo desde cero.

Además, estos playbooks, así como las condiciones, las variables y las tareas que los integran, se pueden guardar, compartir y reutilizar de manera indefinida. Gracias a esto, es más sencillo para los equipos de TI codificar el conocimiento operativo y garantizar que se lleven a cabo las mismas acciones con uniformidad.

Acceda a un laboratorio interactivo gratuito y escriba su primer playbook

Los playbooks de Ansible son listas de tareas que se ejecutan automáticamente en un inventario específico o en grupos de hosts. Se pueden combinar una o más tareas de Ansible para crear un play, un grupo ordenado de tareas asignados hosts determinados, y las tareas se ejecutan en el orden en el que se escriben. El playbook puede incluir uno o más plays, así como funciones de Ansible: paquetes de tareas y recursos de automatización asociados que se pueden ejecutar en diversos plays o reutilizar en los playbooks.

Las tareas se ejecutan por módulos, y cada uno de ellos lleva a cabo una de las tareas específicas que aparecen en el playbook. Los módulos contienen metadatos que determinan el momento y el lugar en los que se ejecuta una tarea, así como el usuario que lo hace. Existen miles de módulos de Ansible que realizan toda clase de tareas de TI, por ejemplo:

Gestión de la nube

oci_vcn crea, elimina o actualiza las redes de nubevirtuales en los entornos de Oracle Cloud Infrastructure. De igual manera, vmware_cluster agrega, elimina o actualiza los clústeres de VMware vSphere.

Gestión de usuarios

selogin asigna los usuarios del sistema operativo (SO) Linux® al usuario de SELinux; y gitlab_user crea, actualiza o elimina los usuarios de GitLab.

Redes

Decenas de módulos se encargan de las interfaces de programación de aplicaciones (API); los dispositivos IOS, NXOS, IOS XR de Cisco; los servicios F5 BIG-IP; y el sistema operativo de red de nube Arista EOS.

Consulte la lista completa de los módulos de red

Seguridad

openssh_cert genera certificados de usuario o de host de OpenSSH, e ipa_config gestiona la configuración general de FreeIPA.

Gestión de la configuración

pip gestiona las dependencias de la biblioteca Python, mientras que assemble consolida los archivos de configuración a partir de fragmentos.

Comunicación

mail envía correos electrónicos de forma automática según determinados criterios; y snow_record crea, elimina o actualiza un registro único en ServiceNow.

Recursos de Red Hat

Ansible puede comunicarse con varios tipos de dispositivos diferentes, desde API de REST basadas en la nube hasta sistemas Linux y Windows o hardware de redes, entre otros. En este ejemplo, puede ver cómo dos módulos de Ansible actualizan de forma automática dos tipos de servidores:

---
- name: Update web servers
  hosts: webservers
  become: true
 
  tasks:
    - name: Ensure apache is at the latest version
      ansible.builtin.yum:
        name: httpd
        state: latest
    - name: Write the apache config file
      ansible.builtin.template:
        src: /srv/httpd.j2
        dest: /etc/httpd.conf
        mode: "0644"
 
- name: Update db servers
  hosts: databases
  become: true
 
  tasks:
    - name: Ensure postgresql is at the latest version
      ansible.builtin.yum:
        name: postgresql
        state: latest
    - name: Ensure that postgresql is started
      ansible.builtin.service:
        name: postgresql
        state: started

El playbook contiene dos plays: 

  • El primero verifica si el servidor web está actualizado y, de lo contrario, ejecuta la actualización.
  • El segundo verifica si el servidor de la base de datos está actualizado y, de lo contrario, ejecuta la actualización.

Obtenga más información sobre este playbook

Ansible utiliza la sintaxis de YAML. Para algunas personas, YAML significa otro lenguaje de marcado más; para otras quiere decir YAML no es un lenguaje de marcado (acrónimo recursivo). También hay dos extensiones de archivo YAML diferentes, pero perfectamente aceptables: .yaml o .yml. 

Además, los playbooks de Ansible se pueden utilizar de dos maneras: desde la interfaz de la línea de comandos (CLI) o mediante un proceso de la plataforma Red Hat® Ansible Automation Platform con solo presionar botones.

Gracias a que YAML es un lenguaje comprensible para las personas, los profesionales de la TI que cuentan con experiencia en áreas específicas, como las redes, la seguridad o la nube, pueden crear playbooks sin la necesidad de aprender un lenguaje de código complicado.

Desde la CLI

Luego de instalar el proyecto open source Ansible o Red Hat Ansible Automation Platform, método que resulta tan sencillo como escribir "sudo yum install ansible" en la CLI de Red Hat Enterprise Linux, solo tiene que utilizar el comando ansible-playbook para ejecutar los playbooks de Ansible.

Desde la plataforma

La interfaz de usuario basada en la web de Red Hat Ansible Automation Platform incluye playbooks de Ansible que se implementan al apretar un botón, los cuales se utilizan como parte de tareas más grandes o como plantillas de tarea. Estas implementaciones incluyen medidas de seguridad adicionales que son útiles para los usuarios que están dando sus primeros pasos en la automatización de la TI o para aquellos que no tienen mucha experiencia con las CLI.

Guía breve para que aprenda a ejecutar sus propios playbooks

Red Hat Ansible Automation Platform es una plataforma unificada que automatiza procesos completos en todos sus dominios de TI para varios casos prácticos, desde la infraestructura, la nube híbrida, la seguridad y las redes hasta las ubicaciones en el extremo de la red. La plataforma incluye las herramientas que se necesitan para implementar la automatización en toda la empresa, como las soluciones basadas en eventos, los playbooks y los sistemas de análisis. Ofrece un panel visual, el control de acceso basado en funciones y otras funciones para que los equipos concentren y controlen la infraestructura de TI, lo cual ayuda a reducir la complejidad operativa.Las 

suscripciones de Red Hat le brindan acceso a su contenido certificado y respaldado y el de sus partners, a servicios de gestión alojados y a soporte técnico del ciclo de vida para que implemente la automatización en toda la empresa. También podrá aprovechar el conocimiento especializado que hemos adquirido gracias a nuestras colaboraciones exitosas con miles de clientes.

La presentación de Red Hat Ansible Lightspeed with IBM watsonx Code Assistant hace que Ansible sea aún más accesible para los principiantes y ayuda a los equipos de automatización experimentados no solo a aprender el contenido de Ansible Automation Platform, sino también a crearlo y mantenerlo de manera más eficiente.Este servicio de inteligencia artificial generativa admite las instrucciones que ingresan los usuarios y luego interactúa con los modelos base de IBM watsonx para producir recomendaciones de código diseñadas según las prácticas recomendadas de Ansible. De esta manera, podrá convertir la experiencia en un código de Ansible confiable que se ajuste a los diferentes equipos y las distintas áreas.

Obtenga más información sobre Ansible Automation Platform

 

Icon-Red_Hat-Media_and_documents-Quotemark_Open-B-Red-RGB Las funciones integradas de Red Hat Ansible Automation Platform la convierten en un acelerador para la innovación. Es la solución que muchos de nuestros proveedores y partners eligen a la hora de escribir scripts para instalar, configurar y mantener su tecnología.

Jesse Amerson

Director de TI de Ulta Beauty

Lea la historia completa

Hub

El blog oficial de Red Hat

Obtenga la información más reciente sobre nuestro ecosistema de clientes, socios y comunidades.

Todas las versiones de prueba de los productos de Red Hat

Con las versiones de prueba gratuitas de nuestros productos, podrás adquirir experiencia práctica, prepararte para obtener una certificación o evaluar las soluciones para saber si son adecuadas para tu empresa.

Más información

¿Qué es un centro de datos definido por software?

Un centro de datos definido por software (SDDC) es un enfoque de gestión de TI que extrae los elementos tradicionales de la infraestructura (como la computación, el almacenamiento y las redes) y los ofrece como servicios de software.

¿Cuáles son las ventajas de utilizar Red Hat Ansible Automation Platform como base para la inteligencia artificial?

Red Hat® Ansible® Automation Platform establece una base sólida para la inteligencia artificial al simplificar las implementaciones, la gestión, las configuraciones y el ciclo de vida de los modelos de esta tecnología y de los elementos de la infraestructura.

Diseña una estrategia de automatización para la TI

La automatización aislada solo puede llevarte hasta cierto punto. Para extenderla a todas las áreas de las operaciones de TI, necesitas una estrategia de automatización que unifique los equipos, los procesos y los flujos de trabajo desconectados.

Automatización y gestión: lecturas recomendadas

Producto destacado

Artículos relacionados