Jump to section

¿Qué son 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 todo un inventario de soluciones de TI. Estos le indican a Ansible lo que debe hacer y el dispositivo en el quedebe hacerlo.

En lugar de tener que 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 y completar la acción de forma automática sobre el tipo de inventario que especifique, por ejemplo, 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. De esta manera, 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.

Los playbooks de Ansible son listas de tareas que se ejecutan automáticamente en un inventario específico o en grupos de hosts. Las tareas de Ansible se pueden combinar para crear un play, un grupo ordenado de tareas que se asigna a hosts específicos, y las tareas se ejecutarán en el orden en el que se escriban. 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 nube virtuales 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.

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.

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, se puede ver la forma en que 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.

Ansible utiliza la sintaxis de YAML. Para algunas personas, YAML significa otro lenguaje de marcado más; para otras, es un acrónimo recursivo que quiere decir YAML no es un lenguaje de marcado. 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 el proceso de Red Hat® Ansible Automation Platform que le permite realizar implementaciones 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.

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.

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

¿Cuánto tiempo puede ahorrar con la automatización?

Responda unas pocas preguntas para ver cuánto tiempo puede ahorrar en su empresa si utiliza Ansible Automation Platform.

Siga leyendo

Artículo

Conceptos básicos de Ansible

Ansible se encarga de automatizar algunos procesos de la TI, como la preparación de la infraestructura y la gestión de la configuración. En esta introducción conocerá los conceptos básicos de Ansible.

Artículo

¿Qué es la gestión de los procesos empresariales?

La gestión de los procesos empresariales (BPM) consiste en modelar, analizar y optimizar los procesos integrales de esta naturaleza para lograr sus objetivos comerciales estratégicos.

Artículo

¿Por qué conviene elegir Red Hat para la automatización?

Red Hat Ansible Automation Platform incluye las herramientas que necesitan los equipos para implementar y compartir la automatización en toda la empresa.

Más información sobre la automatización

Productos

Servicio de nuestros asesores estratégicos, quienes tienen una visión amplia de su empresa, analizan sus desafíos y lo ayudan a superarlos con soluciones completas y rentables.

Plataforma que permite automatizar toda la empresa, sin importar en qué etapa del proceso de automatización se encuentre.

Contenido adicional

Ebook

La empresa automatizada: unificación de las personas y los procesos

Ebook

Automatice los flujos de trabajo de la infraestructura

PODCAST

Command Line Heroes Temporada 3, Episodio 5 Lenguajes que llegaron para quedarse

Escúchelo ahora

Recursos adicionales

Forrester Wave™: Automatización de la infraestructura, primer trimestre del 2023

Léalo aquí

Capacitación

Curso de capacitación gratuito

Ansible Essentials: Simplicity in Automation Technical Overview

Curso de capacitación gratuito

Red Hat Ansible Automation for SAP