Suscríbase al feed

Introducción

La malla de automatización es una característica de Red Hat Ansible Automation Platform que permite que las empresas distribuyan las cargas de trabajo de automatización a través de las conexiones entre colegas de la nube híbrida con otras redes que ya poseen. La combinación de la malla de automatización y Red Hat Ansible Automation Platform en Microsoft Azure permite que las empresas amplíen la automatización mediante un solo plano de control con dos aspectos:

  1. La arquitectura de Ansible Automation Platform en Azure se adapta automáticamente en función de las cargas de trabajo de automatización que puede llevar a cabo directamente mediante el enrutamiento directo o de tránsito, lo cual permite que los clientes no tengan que gestionar la infraestructura de la automatización por su cuenta.
  2. Cuando la automatización debe ejecutarse en recursos que se encuentran en otros centros de datos, en el extremo de la red o en circunstancias en las que Ansible Automation Platform en Azure no se conecta directamente, los clientes pueden configurar un plano de ejecución de la malla de automatización conectado a Ansible Automation Platform en Azure.

El plano de ejecución de la malla de automatización consta de dos tipos de nodos de malla: los nodos de salto y los de ejecución.

Los nodos de salto facilitan la comunicación con los nodos de ejecución y dirigen el tráfico hacia ellos.

Los nodos de ejecución llevan a cabo la automatización en los recursos del extremo de destino.

Muchas empresas tienen entornos de nube híbrida con cargas de trabajo y recursos en la nube pública, las nubes privadas y los centros de datos. Para ellas, la necesidad de llegar a esas redes y colocar los nodos de ejecución cerca de los extremos de la automatización es fundamental. A continuación se muestra un ejemplo de este tipo de configuración.

mermaid-diagram-2024-01-10-083728-es

Con el lanzamiento del controlador de la automatización 4.5, la capacidad de implementar nodos de salto está disponible para Ansible Automation Platform en Azure ahora mismo.

Con su suscripción a Ansible Automation Platform, obtiene diez licencias de Red Hat Enterprise Linux (RHEL) que puede utilizar para ejecutar elementos de Ansible Automation Platform. En este ejemplo, aprovecharemos esas licencias para implementar la malla de automatización con un nodo de salto y un nodo de ejecución que funciona en un sitio remoto desde nuestra implementación de Ansible Automation Platform en Azure.

Veamos la manera de hacerlo y aprovechar esta función.

Preparación de la red

En estos ejemplos, la configuración de la red usará los puertos predeterminados. Tenga en cuenta que se puede ajustar según las necesidades de la empresa. Para las configuraciones complejas, use la documentación de la malla de automatización como guía.

La malla de automatización usa el cifrado TLS para la comunicación, por lo que el tráfico que atraviese redes externas (Internet u otras) se cifrará en tránsito.

  1. La zona desmilitarizada (DMZ) está abierta al puerto 27199 para el tráfico proveniente del Internet público, que permitirá la comunicación desde la instancia de Ansible Automation Platform en Azure.
  2. El tráfico de la red puede dirigirse entre la red DMZ y la red privada en el puerto 27199.
  3. El tráfico dentro de la red privada puede dirigirse mediante los puertos donde se produce la automatización, como el 22 para el protocolo SSH y el 443 para las API.

También prepare recursos, como una máquina virtual, en la red privada. En Ansible Automation Platform, cree un inventario con el recurso y su dirección IP privada o nombre de host.

Preparación de las instancias de RHEL

Hay muchas maneras diferentes de implementar y configurar las máquinas de la malla de automatización, incluidas aquellas con más tareas de automatización de Ansible. A modo de ejemplo, describiremos cada uno de los pasos en esta sección. Para ello, supondremos que RHEL 9 se ejecuta en la arquitectura x64_64.

  1. Implemente las instancias de RHEL dentro de las redes remotas donde se requiere comunicación.
    1. En el ejemplo anterior, una instancia estará ubicada dentro de la red de la DMZ con una dirección IP pública y otra se encontrará en la red privada.
    2. Las ISO de RHEL se obtienen en access.redhat.com.
  2. Inicie sesión mediante SSH en cada una de las instancias de RHEL y lleve a cabo los siguientes pasos. Según el acceso y los controles de su red, es posible que se requieran proxies SSH u otros modelos de acceso.
  3. Asegúrese de que las instancias de RHEL tengan autorización a través de subscribe-manager.

    sudo subscription-manager register --auto-attach
  4. Suscríbase a los repositorios de Ansible Automation Platform.

    sudo subscription-manager repos --enable ansible-automation-platform-2.4-for-rhel-9-x86_64-rpms
  5. Instale los paquetes ansible-core.

    sudo dnf install -y ansible-core
  6. Instale el conjunto ansible.receptor de Ansible.

    ansible-galaxy collection install ansible.receptor
  7. Cree o copie una clave de SSH que se pueda usar para conectarse desde el nodo de salto hasta el nodo de ejecución en los pasos posteriores. Puede ser una clave temporal que use solo para la configuración de la malla de automatización o una clave de larga duración. El usuario y la clave de SSH se usarán en pasos posteriores.
  8. Abra el puerto 27199 para la comunicación del receptor.

    sudo firewall-cmd --permanent --zone=public --add-port=27199/tcp

Las instancias de RHEL ahora deben estar listas para ejecutar la malla de automatización.

Configuración en el controlador de la automatización

Debemos configurar los nodos en el controlador de la automatización. En nuestro ejemplo, implementaremos un nodo de salto y un nodo de ejecución.

  1. Inicie sesión en el controlador de la automatización.
  2. Diríjase a Instances en el menú Administration.
  3. Haga clic en Add.
  4. Complete los campos con la siguiente información para configurar el nodo de ejecución.
    1. Host name: <the private ip address of the host>>
    2. Description: Nodo de ejecución
    3. Listener Port: 27199
    4. Instance Type: Execution

  1. Haga clic en Save.
  2. Haga clic en el ícono Install Bundle para descargar el paquete de instalación. Guárdelo para usarlo en pasos posteriores.
  3. Haga clic en Back to instances.
  4. Haga clic en Add.
  5. Complete los campos con la siguiente información para configurar el nodo de salto.
    1. Host name: <the public ip address or host name of the host>
    2. Description: Nodo de salto
    3. Listener Port: 27199
    4. Instance Type: Hop
    5. Peers: haga clic en la lupa y seleccione el nodo de ejecución que creó anteriormente.
    6. Marque la opción Peers from control nodes.

La dirección IP que aparece en esta captura de pantalla solo tiene fin ilustrativo.

  1. Haga clic en Save.
  2. Haga clic en el ícono Install Bundle para descargar el paquete de instalación. Guárdelo para usarlo en pasos posteriores.
  3. Haga clic en el elemento Topology View del menú Administration. Debería ver la configuración de la malla de automatización en el estado provisorio "installed".

Las direcciones IP que aparecen en esta captura de pantalla solo tienen fines ilustrativos.

Dirección IP del nodo de salto: 20.123.123.972

Dirección IP del nodo de ejecución: 10.10.0.2

Instalación de los paquetes de la malla de automatización

Los dos paquetes que se descargaron en la sección anterior usan Ansible Automation Platform para configurar cada uno de estos nodos de la malla de automatización. El lugar donde ejecute estos paquetes dependerá del acceso de su red a los recursos. En nuestro ejemplo, supondremos que tiene acceso SSH al nodo de salto y que puede ejecutar la automatización de los paquetes para ambas máquinas desde el nodo de salto.

  1. Copie ambos archivos del paquete de su máquina local al nodo de salto. Tenga en cuenta que sus direcciones IP o nombres de host serán únicos para su entorno.
scp /path/to/hop/bundle/20.123.123.972_install_bundle.tar.gz \ user@20.123.123.972

scp /path/to/exec/bundle/10.10.0.2_install_bundle.tar.gz user@20.123.123.972
  1. Extraiga los dos archivos tar.gz.
tar -xzvf /path/to/hop/bundle/20.123.123.972_install_bundle.tar.gz
tar -xzvf /path/to/exec/bundle/10.10.0.2_install_bundle.tar.gz
  1. Cambie al directorio de la carpeta del nodo de ejecución.
cd /path/to/exec/bundle/10.10.0.2_install_bundle
  1. Abra el archivo inventory.yml en un editor de texto.
vim /path/to/exec/bundle/10.10.0.2_install_bundle/inventory.yml
  1. Cambie el campo de usuario para que contenga el usuario SSH para el nodo de ejecución.
---
all:
  hosts:
    remote-execution:
      ansible_host: 10.10.0.2
      ansible_user: <username> # user provided
      ansible_ssh_private_key_file: ~/.ssh/id_rsa
  1. Si es necesario, cambie el nombre de la clave de SSH según su configuración en este host en los pasos anteriores.
  2. Guarde el archivo inventory.yml.
  3. Ejecute el playbook para instalar la malla de automatización en el host del nodo de ejecución.
ansible-playbook -i inventory.yml install_receptor.yml
  1. Cuando se complete la instalación, cambie al directorio de la carpeta del nodo de salto.
cd /path/to/hop/bundle/20.123.123.972_install_bundle
  1. Abra el archivo inventory.yml en un editor de texto.
vim /path/to/hop/bundle/20.123.123.972_install_bundle/inventory.yml
  1. Cambie el campo de usuario para que contenga el usuario SSH para el nodo de salto.
---
all:
  hosts:
    remote-execution:
      ansible_host: 20.123.123.972
      ansible_user: <username> # user provided
      ansible_ssh_private_key_file: ~/.ssh/id_rsa
  1. Si es necesario, cambie el nombre de la clave de SSH según su configuración en este host en los pasos anteriores.
  2. Guarde el archivo inventory.yml.
  3. Ejecute el playbook para instalar la malla de automatización en el host del nodo de salto.
ansible-playbook -i inventory.yml install_receptor.yml

Comprobación de la conectividad

  1. En su explorador web, vuelva a abrir el controlador de la automatización.
  2. Haga clic en Instances en el menú Administration de la izquierda.
  3. Haga clic en la casilla de verificación ubicada junto al nodo de ejecución.
  4. Haga clic en Run health check. Este paso puede tardar unos minutos.
  5. Si la malla de automatización funciona correctamente, todos los nodos deben tener el estado Ready.

Creación de un grupo de instancias

  1. En Administration, haga clic en Instance Groups.
  2. Haga clic en Add.
  3. Haga clic en Add instance group.
  4. Cree el grupo de instancias con los siguientes campos:
    1. Name: Remote Network

  1. Haga clic en Save.
  2. Haga clic en la pestaña Instances.
  3. Haga clic en Associate.
  4. Haga clic en la casilla de verificación ubicada junto al nodo de ejecución que se creó.
  5. Haga clic en Save.

Demostración del funcionamiento

Ahora que configuramos los nodos de salto y ejecución, iniciemos algunos trabajos desde el controlador de la automatización y observemos cómo pasan a través del nodo de salto, el cual, a su vez, los pasa a los nodos de ejecución para que ejecuten las tareas de automatización.

  1. Abra el inventario que creó como preparación para esta guía.
  2. Haga clic en Edit para editar el inventario.
  3. Haga clic en la lupa ubicada junto a Instance Groups.
  4. Seleccione el grupo de instancias Remote Network.
  5. Haga clic en OK.
  6. Haga clic en Save.
  7. Haga clic en la pestaña hosts.
  8. Haga clic en la casilla de verificación ubicada junto al host de la máquina virtual que creó en la red privada.
  9. Haga clic en Run Command.
  10. Ejecute el módulo ping en el host.

Si el ping se ejecuta correctamente, la malla de automatización estará configurada de forma adecuada. Ahora puede ejecutar trabajos de automatización en los hosts de una red privada.

Más información

Para obtener más información sobre Ansible Automation Platform en Azure, consulte esta página.

Para obtener más información sobre la malla de automatización, consulte esta guía.

Para obtener más información sobre Ansible Automation Platform en las nubes de otros proveedores principales, consulte esta página.

Para acceder a los laboratorios prácticos autorregulados sobre Ansible Automation Platform, consulte esta página.

  • Laboratorio sobre Ansible Automation Platform en Azure
  • Laboratorio sobre los primeros pasos con la malla de automatización
  • Documentación sobre la malla de automatización de Red Hat Ansible Automation Platform para las instalaciones basadas en operadores
  • Documentación sobre la malla de automatización de Red Hat Ansible Automation Platform para las instalaciones basadas en máquinas virtuales

Sobre los autores

Hicham is responsible for technical marketing of the Red Hat Ansible Automation Platform on Clouds. Hicham has been in the software industry for over 20 years and for many of them focused on cloud management. Hicham has been a frequent presenter at events and conferences like VMworld, vForum, VMUG, VMLive, Gartner, Dell Technology World, AWS re:Invent, HPE Discover, Cloud Field Day, Red Hat Summit, AnsibleFest, in addition to Customer events.

Read full bio

Scott Harwell is a Principal Product Manager at Red Hat for Ansible on Clouds. His focus is the delivery of Ansible Automation Platform offerings on hyperscaler cloud vendors such as Microsoft Azure and AWS. Prior to joining Red Hat, Scott held product management, development, and consulting roles for Oracle, AST Corporation, Tech Machine, and Volvo. Scott is a cloud enthusiast with experience and certifications across many cloud providers. He is passionate about automation and likes to find creative ways to improve IT, technical, and business processes.

Read full bio
UI_Icon-Red_Hat-Close-A-Black-RGB

Navegar por canal

automation icon

Automatización

Las últimas novedades en la automatización de la TI para los equipos, la tecnología y los entornos

AI icon

Inteligencia artificial

Descubra las actualizaciones en las plataformas que permiten a los clientes ejecutar cargas de trabajo de inteligecia artificial en cualquier lugar

open hybrid cloud icon

Nube híbrida abierta

Vea como construimos un futuro flexible con la nube híbrida

security icon

Seguridad

Vea las últimas novedades sobre cómo reducimos los riesgos en entornos y tecnologías

edge icon

Edge computing

Conozca las actualizaciones en las plataformas que simplifican las operaciones en el edge

Infrastructure icon

Infraestructura

Vea las últimas novedades sobre la plataforma Linux empresarial líder en el mundo

application development icon

Aplicaciones

Conozca nuestras soluciones para abordar los desafíos más complejos de las aplicaciones

Original series icon

Programas originales

Vea historias divertidas de creadores y líderes en tecnología empresarial