Playbooks de Ansible
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.
¿Cómo funcionan los playbooks de Ansible?
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.
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
Explicación de un especialista
Ejemplo práctico de un playbook de Ansible
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.
¿Cómo utilizar los playbooks de Ansible?
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.
Ventajas de elegir Red Hat para la automatización
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.
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.
El blog oficial de Red Hat
Obtenga la información más reciente sobre nuestro ecosistema de clientes, socios y comunidades.