Inscreva-se no feed

Introdução

Automation mesh é uma funcionalidade do Red Hat Ansible Automation Platform que permite às organizações o uso de redes existentes para distribuir cargas de trabalho de automação em conexões peer-to-peer na nuvem híbrida. A automation mesh com o Red Hat Ansible Automation Platform on Microsoft Azure capacita as organizações para escalar a automação com um único control plane duplo:

  1. A arquitetura do Ansible Automation Platform on Azure escala automaticamente com base nas cargas de trabalho de automação que podem ser automatizadas diretamente por meio de roteamento direto ou de trânsito. Assim, os clientes não precisam gerenciar a infraestrutura de automação diretamente.
  2. Quando a automação precisa ser executada com recursos em outros data centers, na edge ou em circunstâncias que não permitem a conexão direta do Ansible Automation Platform on Azure, os clientes podem configurar um execution plane da automation mesh conectado ao Ansible Automation Platform on Azure.

O execution plane da automation mesh consiste em dois tipos de nós de mesh, nós hop e nós de execução.

Os nós hop servem para facilitar a comunicação com os nós de execução e rotear o tráfego para eles.

Os nós de execução executam a automação nos recursos do endpoint de destino.

Muitas organizações têm ambientes de nuvem híbrida com cargas de trabalho e recursos na nuvem pública, em nuvens privadas e em data centers. Para eles, é crítica a necessidade de acessar essas redes e colocar os nós de execução próximos aos endpoints de automação. Veja abaixo um exemplo desse tipo de configuração.

mermaid-diagram-2024-01-10-083728

Com o lançamento do automation controller 4.5, a capacidade de implementar nós hop está disponível para o Ansible Automation Platform on Azure.

A subscrição do Ansible Automation Platform concede dez licenças do Red Hat Enterprise Linux (RHEL) que podem ser usadas para executar componentes do Ansible Automation Platform. Neste exemplo, usaremos essas licenças para implementar a automation mesh usando um nó hop e um nó de execução executado em um local remoto da implantação do Ansible Automation Platform on Azure.

Vejamos como implantar e aproveitar esse recurso.

Preparação da rede

A configuração de rede usará portas padrão como exemplo. Ela pode ser definida conforme as necessidades da organização. Para orientações sobre configurações de rede complexas, use a documentação da automation mesh.

A automation mesh usa criptografia TLS para comunicação, então o tráfego das redes externas (Internet ou outras) será criptografado em trânsito.

  1. A DMZ está aberta na porta 27199 para o tráfego da internet pública que permitirá a comunicação da instância do Ansible Automation Platform on Azure.
  2. O tráfego de rede pode ser roteado entre a DMZ e a rede privada na porta 27199.
  3. O tráfego de rede na rede privada pode ser roteado nas portas em que a automação ocorre, como 22 para SSH e 443 para APIs.

Também prepare recursos na rede privada, como uma máquina virtual. No Ansible Automation Platform, crie um inventário com o recurso privado usando seu endereço IP ou nome de host privado.

Preparação das instâncias do RHEL

As máquinas da automation mesh podem ser implantadas e configuradas de muitas maneiras, inclusive com mais automação do Ansible. Como exemplo, as etapas serão descritas manualmente nesta seção. O exemplo a seguir pressupõe que o RHEL 9 está sendo executado na arquitetura x64_64.

  1. Implante as instâncias do RHEL nas redes remotas em que a comunicação é necessária.
    1. No exemplo acima, uma instância ficará na rede DMZ com um endereço IP público e outra residirá na rede privada.
    2. Para obter os ISOs do RHEL, acesse access.redhat.com.
  2. Execute o SSH em cada instância do RHEL e siga os próximos passos. Dependendo do acesso e controles de rede, talvez você precise de proxies SSH ou outros modelos de acesso.
  3. Certifique-se de que as instâncias do RHEL estão autorizadas pelo gerenciador de subscrições.

    sudo subscription-manager register --auto-attach
  4. Inscreva-se nos repositórios do Ansible Automation Platform. 

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

    sudo dnf install -y ansible-core
  6. Instale a coleção do Ansible ansible.receptor.

    ansible-galaxy collection install ansible.receptor
  7. Crie ou copie uma chave SSH que pode ser usada para se conectar do nó hop ao nó de execução em etapas posteriores. Pode ser uma chave temporária usada apenas para a configuração da automation mesh ou uma chave de longa duração. O usuário SSH e a chave serão usados mais tarde.
  8. Abra a porta 27199 para comunicação com o receptor.

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

As instâncias do RHEL já estarão prontas para executar a automation mesh.

Configuração no automation controller

Precisamos configurar os nós no automation controller. Em nosso exemplo, implantaremos um nó hopum nó de execução.

  1. Faça login no automation controller.
  2. Navegue até "Instances" (Instâncias) no menu "Administration" (Administração).
  3. Clique em "Add" (Adicionar)
  4. Para configurar o nó de execução, preencha os campos da seguinte maneira:
    1. Host name (Nome do host): <the private ip address of the host>>
    2. Description (Descrição): Execution node (Nó de execução)
    3. Listener Port (Porta do ouvinte): 27199
    4. Instance Type (Tipo de instância): Execution (Execução)

  1. Clique em "Save" (Salvar).
  2. Clique no ícone "Install Bundle" (Instalar pacote) para fazer download do pacote de instalação.  Guarde para usar em etapas posteriores.
  3. Clique em "Back to instances" (Voltar para instâncias).
  4. Clique em "Add" (Adicionar)
  5. Para configurar o nó hop, preencha os campos da seguinte maneira:
    1. Host name (Nome do host): <the public ip address or host name of the host>
    2. Description (Descrição): Hop node (Nó hop)
    3. Listener Port (Porta do ouvinte): 27199
    4. Instance Type (Tipo de instância): Hop
    5. Peers: clique na lupa e selecione o nó de execução criado anteriormente
    6. Marque a opção "Peers from control nodes" (Peers dos nós de controle)

O endereço IP nesta captura de tela é apenas um exemplo

  1. Clique em "Save" (Salvar).
  2. Clique no ícone "Install Bundle" (Instalar pacote) para fazer download do pacote de instalação. Guarde para usar em etapas posteriores.
  3. Clique no item de menu "Topology View" (Visualização de topologia) em "Administration" (Administração). Você verá a configuração da automation mesh em um estado provisório "installed" (instalado).

Os endereços IP nesta captura de tela são apenas exemplos

Hop node IP address (Endereço IP do nó hop): 20.123.123.972

Execution Node IP address (Endereço IP do nó de execução): 10.10.0.2

Instalação dos pacotes da automation mesh

Os dois pacotes baixados na seção anterior usam o Ansible Automation Platform para configurar cada um desses nós da automation mesh. O local de execução deles dependerá do seu acesso de rede aos recursos. Neste exemplo, presumiremos que você tem acesso por SSH ao nó hop e consegue executar a automação do pacote nas duas máquinas a partir do nó hop.

  1. Copie os dois arquivos da máquina local para o nó hop. Observe que os endereços IP ou nomes de host serão exclusivos para seu ambiente.
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. Extraia os dois arquivos 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. Mude para o diretório da pasta do nó de execução.
cd /path/to/exec/bundle/10.10.0.2_install_bundle
  1. Abra o arquivo inventory.yml em um editor de texto.
vim /path/to/exec/bundle/10.10.0.2_install_bundle/inventory.yml
  1. No campo do usuário, insira o usuário SSH do nó de execução.
---
all:
  hosts:
    remote-execution:
      ansible_host: 10.10.0.2
      ansible_user: <username> # user provided
      ansible_ssh_private_key_file: ~/.ssh/id_rsa
  1. Se necessário, altere o nome da chave SSH com base na configuração da chave SSH usada neste host em etapas anteriores.
  2. Salve o arquivo inventory.yml.
  3. Execute o playbook para instalar a automation mesh no host do nó de execução.
ansible-playbook -i inventory.yml install_receptor.yml
  1. Quando a instalação for concluída, mude para a pasta do nó hop no diretório.
cd /path/to/hop/bundle/20.123.123.972_install_bundle
  1. Abra o arquivo inventory.yml em um editor de texto.
vim /path/to/hop/bundle/20.123.123.972_install_bundle/inventory.yml
  1. No campo do usuário, insira o usuário SSH do nó hop.
---
all:
  hosts:
    remote-execution:
      ansible_host: 20.123.123.972
      ansible_user: <username> # user provided
      ansible_ssh_private_key_file: ~/.ssh/id_rsa
  1. Se necessário, altere o nome da chave SSH com base na configuração da chave SSH usada neste host em etapas anteriores.
  2. Salve o arquivo inventory.yml.
  3. Execute o playbook para instalar a automation mesh no host do nó hop.
ansible-playbook -i inventory.yml install_receptor.yml

Verificação da conectividade

  1. Em seu navegador, abra o automation controller novamente.
  2. Clique em "Instances" (Instâncias) em "Administration" (Administração) no menu à esquerda.
  3. Clique na caixa de seleção ao lado do nó de execução.
  4. Clique em "Run health check" (Executar verificação de integridade). Essa etapa pode levar alguns minutos.
  5. Se a automation mesh estiver funcionando corretamente, todos os nós exibirão um status "Ready" (Pronto).

Criação de um grupo de instâncias

  1. Clique em "Instance Groups" (Grupo de instâncias) em "Administration" (Administração).
  2. Clique em "Add" (Adicionar)
  3. Clique em "Add instance group" (Adicionar grupo de instâncias).
  4. Crie o grupo de instâncias com os seguintes campos:
    1. Name (Nome): Remote Network (Rede remota)

  1. Clique em "Save" (Salvar).
  2. Clique na guia "Instances" (Instâncias).
  3. Clique em "Associate" (Associar).
  4. Clique na caixa de seleção ao lado do nó de execução criado.
  5. Clique em "Save" (Salvar).

Demonstração de como funciona

Agora que configuramos os nós hop e de execução, iniciaremos algumas tarefas no controlador de automação e observar como elas passam pelo nó hop que, por sua vez, as transmite aos nós de execução para executar as tarefas de automação.

  1. Abra o inventário que você criou na etapa preparatória deste guia.
  2. Clique em "Edit" (Editar) para editar o inventário.
  3. Clique na lupa ao lado dos  Instance Groups (Grupos de instâncias).
  4. Selecione o grupo de instâncias "Remote Network" (Rede remota).
  5. Clique em "OK"
  6. Clique em "Save" (Salvar).
  7. Clique na guia "hosts".
  8. Clique na caixa de seleção próxima ao host da VM que você criou na rede privada.
  9. Clique em "Run Command" (Executar comando).
  10. Execute o módulo ping no host.

Se o ping for bem-sucedido, a automation mesh está configurada corretamente. Agora você pode executar tarefas de automação nos hosts de uma rede privada.

O que fazer a seguir?

Para saber mais sobre o Ansible Automation Platform on Azure, visite esta página.

Para saber mais sobre a automation mesh, acesse este guia.

Para saber mais sobre o Ansible Automation Platform em outras nuvens hyperscalers, visite esta página.

Para laboratórios hands-on individualizados sobre o Ansible Automation Platform, acesse esta página.

  • Um laboratório sobre o Ansible Automation Platform on Azure.
  • Um laboratório introdução à automation mesh.
  • Documentação do Red Hat Ansible Automation Platform Automation Mesh para instalações baseadas em operador
  • Documentação do Red Hat Ansible Automation Platform Automation Mesh para instalações baseadas em VM

Sobre os 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

Navegue por canal

automation icon

Automação

Últimas novidades em automação de TI para empresas de tecnologia, equipes e ambientes

AI icon

Inteligência artificial

Descubra as atualizações nas plataformas que proporcionam aos clientes executar suas cargas de trabalho de IA em qualquer ambiente

open hybrid cloud icon

Nuvem híbrida aberta

Veja como construímos um futuro mais flexível com a nuvem híbrida

security icon

Segurança

Veja as últimas novidades sobre como reduzimos riscos em ambientes e tecnologias

edge icon

Edge computing

Saiba quais são as atualizações nas plataformas que simplificam as operações na borda

Infrastructure icon

Infraestrutura

Saiba o que há de mais recente na plataforma Linux empresarial líder mundial

application development icon

Aplicações

Conheça nossas soluções desenvolvidas para ajudar você a superar os desafios mais complexos de aplicações

Original series icon

Programas originais

Veja as histórias divertidas de criadores e líderes em tecnologia empresarial