Presentamos el nuevo Ansible Automatización Hub

Hoy en día, Ansible es una de las herramientas de automatización más utilizadas en TI. Sin embargo, el gran desafío con la gran cantidad de módulos y roles disponibles en la comunidad que atienden diferentes casos de uso es encontrar los módulos correctos reforzados, adecuados y confiables para entornos de producción.

Cuando utiliza módulos y funciones de la comunidad en playbooks para automatizar sus entornos de producción, debe realizar un seguimiento de su ciclo de vida y verificar su compatibilidad con las nuevas versiones de Ansible.

Estos desafíos hacen que la confiabilidad de los módulos y roles de la comunidad Ansible sea cuestionable.

Índice

Centro de automatización de Red Hat

Red Hat cambió recientemente su modelo de suscripción de Ansible e introdujo muchos productos nuevos de Ansible accesibles en línea desde el Herramientas de nube de Red Hat sitio si tiene la suscripción Ansible correcta.

El principal producto en línea, que creo que hará que Ansible sea más confiable, es Red Hat Automatización Hub. No sería una exageración si dijera que aumentará drásticamente el nivel de confianza. Red Hat Automatización Hub es la versión compatible de módulos y roles en Ansible Galaxy.

Red Hat prueba y fortalece módulos y roles antes de lanzarlos a Automatización Hub. Puede verlos como un registro de Red Hat disponible para Open Shift, pero esta vez para Ansible. El Automatización Hub es otro producto nuevo que no tiene muchos módulos, pero Red Hat continúa agregando más.

Colecciones y FQCN

Red Hat consolida los módulos y roles en Automatización Hub en. En el libro de jugadas, cuando usa un módulo de una colección instalada, hace referencia a él usando el "Nombre completo de la colección calificada" o el FQCN, que generalmente tiene el siguiente formato:

namespace.collection.module

Sin embargo, el Automatización Hub es un producto nuevo. Todavía puede encontrar algunos módulos a los que se debe hacer referencia solo por su nombre, como siempre ocurre con las colecciones F5 y Ansible 2.9. Siempre puede abrir un caso con Red Hat Support si los módulos no funcionan y ellos se lo notificarán. Con Automatización Hub, ya no está solo.

Diseño

En este artículo, vamos a instalar el motor Ansible. La instalación se basa en RHEL8.2. Tiene Python 3.6, que todavía es compatible, y es un requisito previo para los módulos de Ansible más recientes.

Ansible Engine tiene tres capas diferentes:

  1. Sistema operativo, que es RHEL8.2 en nuestro caso.
  2. Binarios de Ansible.
  3. Módulos adicionales (en Red Hat Automatización Hub se denominan colecciones).

Hipótesis:

  1. La descarga de colecciones requiere el uso de Ansible Engine basado en RHEL. La instalación de RHEL8.2 está fuera del alcance de este artículo, por lo que se supone que hay un servidor listo para usar.
  2. Tiene las suscripciones adecuadas de Red Hat Ansible.
  3. La instalación y el uso de Ansible Tower están fuera del alcance de este artículo.
  4. La instalación se realizará detrás de un proxy. Sin embargo, si está instalando Ansible Engine en un sistema que está conectado directamente a Internet, puede omitir los pasos del proxy.
  5. Se instalará y utilizará Ansible 2.9.

Instalación del motor Ansible

Después de una instalación nueva de RHEL8.2, siga estos pasos para instalar Ansible Engine:

1. Modifique el archivo de configuración de RHSM:

# vi /etc/rhsm/rhsm.conf

2. Edite esta sección en el archivo de configuración de RHSM con los detalles del proxy y luego guarde el archivo:

# an http proxy server to use
proxy_hostname =

# The scheme to use for the proxy when updating repo definitions, if needed
# e.g. http or https
proxy_scheme = http

# port for http proxy server
proxy_port =

# user name for authenticating to an http proxy, if needed
proxy_user =

# password for basic http proxy auth, if needed
proxy_password =

3. Regístrese en RHSM:

# subscription-manager register

4. Adjúntelo a sus suscripciones de RHEL y Red Hat Ansible Engine. Este comando lo ayudará a encontrar las suscripciones disponibles de RHEL Red Hat Ansible Engine:

# subscription-manager list --available

5. Ingrese el ID del grupo de suscripción y ejecute el siguiente comando:

# subscription-manager attach --pool=<pool id here of RHEL subscription>
# subscription-manager attach --pool=<pool id here of engine subscription>

6. Activar los repositorios asociados:

# subscription-manager repos --enable rhel-8-for-x86_64-appstream-rpms --enable rhel-8-for-x86_64-baseos-rpms --enable ansible-2.9-for-rhel-8-x86_64-rpms

7. Instale Ansible:

# yum install -y ansible

8. Actualice los archivos binarios del sistema operativo:

# yum update -y

9. Reinicie el nodo.

Instalación de la colección F5

La configuración de una instalación predeterminada de Ansible apunta a ansible-galaxy aguas arriba, por lo que la configuración de Ansible debe cambiarse para incluir Red Hat Automatización Hub de la siguiente manera:

1. Ir a Gestión de tokens de Red Hat Automatización Hub sitio.

2. Inicie sesión con su nombre de usuario y contraseña para el Herramientas de nube de Red Hat sitio.

3. Presione Obtenga un token de API.

4. Copie el token.

5. Edite el archivo de configuración de Ansible:

# vi /etc/ansible/ansible.cfg

6. Agregue las siguientes líneas al final del archivo de configuración:

[galaxy]
server_list = automation_hub, release_galaxy, test_galaxy

[galaxy_server.automation_hub]
url=https://cloud.tipstecnologicos.es/api/Automatización-hub/
auth_url=https://sso.tipstecnologicos.es/auth/realms/redhat-external/protocol/openid-connect/token

token=" Paste Token"

7. Guarde el ansible.cfg archivo de configuración.

Ahora está listo para descargar las colecciones, pero antes de comenzar, hay algunas cosas que debe considerar:

1. Si el nodo de Ansible no está conectado directamente a Internet, debe definir un proxy desde el que se pueda acceder a Internet. La configuración del proxy debe ser temporal y no debe durar con nuevas sesiones SSH, por lo que cuando se ejecuta un libro de jugadas que automatiza un sistema de destino usando su API a través de HTTP o HTTPS, el libro de jugadas no falla.

Para definir el proxy:

$ export http_proxy='proxy.example.com:port'
$ export https_proxy='proxy.example.com:port'

Nota: Las colecciones se pueden descargar como archivos tarball si se instalan sin conexión y luego se instalan en la ruta predeterminada de acuerdo con el siguiente punto.

2. La colección se descarga e instala localmente en el directorio de inicio del usuario actual. Se instalará en la siguiente ruta:

$HOME/.ansible/collections/ansible_collections/

El siguiente comando le permite descargar cualquier colección:

$ ansible-galaxy collection download namespace.collection

Sobre Herramientas de nube de Red Hat sitio, seleccione la página de colección adecuada y podrá ver el orden exacto en la siguiente captura de pantalla:

Para descargar la colección F5, ejecute el siguiente comando:

$ ansible-galaxy collection install f5networks.f5_modules

Un ejemplo de un libro de jugadas

Para comenzar a automatizar el equipo F5, la red debe definirse como se muestra a continuación, donde el nodo Ansible puede llegar a la interfaz de administración (puerto) de F5:

En la guía de colección en Herramientas de nube de Red Hat sitio, es recomendable usar FQCN, pero desafortunadamente esto no era posible en el momento de escribir este artículo. Hablar gitMemory sitio, esto podría solucionarse en Ansible 2.10:

Consulte una muestra de un libro de jugadas de trabajo de mi sitio GitHub.

La IP en el libro de jugadas debe reemplazarse por la IP de la interfaz de administración de equipos F5, y la contraseña debe reemplazarse por la contraseña "admin", protegida con ansible-vault.

Conclusión

  • Ansible Automatización Hub es un producto muy prometedor de Red Hat que llevaría a Ansible de una herramienta de automatización respaldada por la comunidad a una de nivel empresarial.
  • El Hub aún está en pañales en comparación con la cantidad de funciones y módulos disponibles en sentido ascendente, pero en las últimas semanas he notado que más proveedores se han unido al Hub (es decir, HP, Arista, etc.)
  • Algunos módulos descargados del concentrador aún no están listos para ser referenciados usando su FQCN, por lo que si recibe algún error extraño, intente hacer referencia a ellos usando solo sus nombres antes de abrir un caso con Red Hat Support. .
  • Creo que ser capaz de duplicar el Centro de Automatización a un local, por ejemplo, en Satélite, hará que el Centro de Automatización sea mucho más valioso.

Las referencias

Artículos de interés

Subir