Ansible: actualizaciones en soluciones clave para automatizar tu mundo

La comunidad de Ansible siempre sorprende con nuevo contenido: complementos y módulos, creando además mucho nuevo trabajo para quienes están ocupados con el mantenimiento de Ansible, ya que el nuevo código debe integrarse rápidamente en los repositorios. A veces, no se logra cumplir con los plazos y el lanzamiento de algunos productos listos para ser lanzados se pospone hasta la próxima versión oficial de Ansible Engine. Hasta hace poco, el único modo para el usuario final de obtener nuevo contenido de Ansible era junto con una nueva versión de Ansible Engine.

Ansible: actualizaciones en soluciones clave para automatizar tu mundo

Para eliminar este inconveniente, la comunidad de Ansible comenzó a trabajar en opciones más flexibles para crear y obtener contenido.

Red Hat Ansible Engine 2.8: hacia nuevos métodos de procesamiento de contenido de Ansible

En respuesta a las solicitudes de los usuarios, en Ansible Engine 2.8 se introdujeron cambios relacionados con el procesamiento del contenido, que no forma parte del lanzamiento oficial. Estos cambios permitirán implementar un nuevo modo de entrega de contenido a los usuarios, que no dependerá de quienes administran Ansible al gestionar tanto el contenido de Ansible como el código de la propia plataforma.

Se espera que en futuras versiones, los Creadores de contenido puedan proporcionar su trabajo en forma de paquetes especiales, llamadas Colecciones, que se podrán instalar en el lugar correspondiente para su ejecución en el nodo principal de Ansible (control node) o en el nodo gestionado (managed node). El creador de la colección puede especificar directamente en el paquete los detalles de la ejecución mediante roles y playbooks. Gracias a los mencionados cambios en Ansible Engine, las colecciones se convertirán en una de las herramientas que permitirán desacoplar el lanzamiento de contenido del lanzamiento de versiones oficiales de Ansible Engine..

Nueva construcción Become

La construcción Become existe desde hace tiempo, pero desde la versión 2.8, la palabra BECOME se utiliza por defecto en Ansible Engine para solicitar la contraseña al elevar privilegios (privilegios sudo en sistemas *nix o modo enable en dispositivos de red). En otras palabras, ahora BECOME es la herramienta estándar para la elevación de privilegios, que ya se encarga de gestionar el sistema objetivo.

Así es como se ve un ejemplo de su uso:

ansible-playbook --become --ask-become-pass site.yml
BECOME password:

Además, en Ansible Engine 2.8 se introdujo el plugin BECOME, que funciona como doas en Linux y como runas en Windows, y permite realizar acciones en nombre de un usuario determinado. Para elevar privilegios en dispositivos de red se utiliza el plugin become enable.

Buscar el intérprete de Python

Es posible que se haya encontrado con el siguiente error:

/usr/bin/python: bad interpreter: No such file or directory

El hecho es que en versiones anteriores de Ansible Engine se asumía por defecto que el intérprete principal de Python (el que se utiliza por defecto) se encuentra en la carpeta /usr/bin/python. A partir de la versión 2.8, Ansible busca el intérprete en cada sistema objetivo, primero verificando la tabla de rutas y nombres de archivos ejecutables del intérprete principal de Python en diversas distribuciones, y luego utilizando listas ordenadas de intérpretes de respaldo (fallback list), consulte más detalles en Guía de migración a Ansible 2.8.

Los archivos de retry ya no se crean por defecto

¿Ha estado buscando archivos .retry en su disco? Si ha estado utilizando Ansible durante mucho tiempo, es probable que haya muchos, y solo ocupan espacio útil. A partir de la versión 2.8, Ansible Engine ya no crea estos archivos por defecto (lo que se puede revertir editando el archivo ansible.cfg utilizado por defecto).

Resumen de Play actualizado

Extracto de Guía de migración a Ansible 2.8:

El resumen de Play ahora cuenta las tareas (tasks) con estado ignored y rescued, así como ok, changed, unreachable, failed y skipped, gracias a dos nuevos contadores estadísticos en el plugin callback default. Las tareas fallidas que tienen la bandera ignore_errors: yes se cuentan como ignored. Las tareas fallidas que luego fueron manejadas en la sección rescue se cuentan como rescued. Tenga en cuenta que, a diferencia de versiones anteriores de Ansible, las tareas rescued ya no se cuentan como failed.

Y en la tabla de Resumen de Play al final de la ejecución del playbook, los hosts ahora tienen columnas adicionales skipped, rescued e ignored:

Ansible: actualizaciones en soluciones clave para automatizar tu mundo

Nubes y contenedores

En la versión 2.8 se han implementado mejoras y adiciones en los módulos de nube y contenedor para trabajar con Amazon Web Services, Microsoft Azure, Google Cloud, Digital Ocean, podman y kubevirt. También es importante destacar que los archivos TOML ahora se pueden utilizar como fuente de inventario.

Paramiko

¿Utiliza Red Hat Ansible Network Automation? Ansible Engine 2.8 ya no incluye paramiko ni depende de él. Por defecto, Ansible Engine utiliza ssh. Si necesita paramiko, se puede instalar con el comando pip install paramiko.

Si necesita soporte para el uso de paramiko en el marco de la suscripción de Red Hat, consulte el artículo de la base de conocimientos. Paquete de Paramiko faltante después de nuevas instalaciones de Ansible Engine..

Así, la nueva versión de Red Hat Ansible Engine se ha enriquecido con una impresionante lista de mejoras y cambios, que puede consultar con más detalle. aquí.

Red Hat Ansible Tower 3.5: más automatización.

Desde finales de mayo, está disponible la nueva versión de Red Hat Ansible Tower 3.5, que ofrece varias mejoras importantes para la automatización, de las cuales hablaremos si aún no ha tenido la oportunidad de probarlas.

Así que, primero lo clave:

  • Soporte para Red Hat Enterprise Linux 8;
  • Soporte para almacenes de credenciales externos utilizando los plugins correspondientes;
  • Soporte para plugins de elevación de privilegios en Ansible Tower.

Además, en la nueva versión se han corregido más de 160 errores y fallos registrados.

Soporte para Red Hat Enterprise Linux 8.

A menudo repetimos que Red Hat Enterprise Linux (RHEL) es una base confiable y versátil para construir, por ejemplo, una nube híbrida. Ansible Tower 3.5 (al igual que Ansible Engine 2.8) proporciona gestión de hosts RHEL 8 y también puede ejecutarse en la plataforma Red Hat Enterprise Linux 8 como nodo de control del sistema Red Hat Ansible Automation.

Almacenes de credenciales externas.

Además del almacén de credenciales integrado, Ansible Tower 3.5 ahora puede utilizar también almacenes de credenciales externos, ya que a veces es necesario hacer que las credenciales sean más accesibles para aplicaciones distribuidas. Por lo tanto, la nueva versión de Ansible Tower puede trabajar directamente con diversas soluciones para el almacenamiento de contraseñas y claves, como:

  • HashiCorp Vault;
  • CyberArk AIM;
  • CyberArk Conjur;
  • Microsoft Azure Key Vault.

Los detalles sobre cómo trabajar con estos sistemas se proporcionan en la documentación. Sistema de Gestión de Secretos..

Nuevos plugins para trabajar con inventory y elevación de privilegios.

Siguiendo el desarrollo de Ansible Engine, Ansible Tower 3.5 ofrece nuevos plugins de inventory y un plugin para trabajar con la nueva herramienta de elevación de privilegios.

Gracias a nuevos plugins de inventory. Ansible Tower ahora puede utilizar como fuente de inventory plataformas Microsoft Azure, Google Cloud Platform y Red Hat OpenStack Platform, lo que asegura su funcionamiento con entornos de nube híbrida 'out of the box'.

El nuevo plugin de Elevación de Privilegios proporciona un manejo integral de tareas de elevación de privilegios, ofreciendo mucha más flexibilidad y control en comparación con los tradicionales sudo y su.

Interfaz de usuario de listas rediseñada.

En la nueva versión, trabajar con listas es mucho más conveniente. Se pueden expandir para mostrar detalles y contraer para mostrar más elementos en la pantalla. Las listas también se pueden ordenar por diferentes campos y filtrar casi por cualquier propiedad.

Métricas mejoradas

Las métricas ahora tienen lo que se llaman endpoints (/api/v2/metrics), gracias a los cuales Ansible Tower puede ser monitoreado fácilmente con Prometheus y otros sistemas similares, permitiendo el uso simultáneo de varios sistemas, incluidos los basados en la nube.

Ansible Tower 3.5 ya está disponible para descargar, la versión más reciente de Red Hat Ansible Tower se puede instalar tanto de forma local como a través de Vagrant o Amazon AMI.

Webinars sobre Ansible: mejora tus habilidades

Siempre en crecimiento almacenamiento de webinars sobre el tema: www.ansible.com/resources/webinars-training?hsLang=en-us

El 4 de junio se llevó a cabo webinar Novedades en la Automatización Ansible, dedicado a las nuevas y mejoradas funciones de Red Hat Ansible Tower y Red Hat Ansible Engine. Pronto estará disponible en el almacenamiento.

En ruso está disponible un webinar sobre Automatización de Redes utilizando Ansible.

Fuente: habr.com

Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS 🔥 Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS | ProHoster