Iscriviti al feed

Introduzione

Automation Mesh è una funzionalità di Red Hat Ansible Automation Platform che consente alle organizzazioni di distribuire i carichi di lavoro di automazione su connessioni peer to peer di cloud ibrido utilizzando reti esistenti. Automation Mesh e Red Hat Ansible Automation Platform on Microsoft Azure consentono alle organizzazioni di rendere scalabile l'automazione con un unico piano di controllo in due modi:

  1. L'architettura di Ansible Automation Platform su Azure si adatta automaticamente in base ai carichi di lavoro di automazione che può automatizzare direttamente, tramite routing diretto o di transito. In questo modo, i clienti non dovranno più gestire direttamente l'infrastruttura di automazione.
  2. Quando l'automazione deve essere eseguita su risorse in altri data center, all'edge o in circostanze in cui Ansible Automation Platform su Azure non può connettersi direttamente, i clienti possono configurare un piano di esecuzione di Automation Mesh connesso ad Ansible Automation Platform su Azure.

Il piano di esecuzione di Automation Mesh è costituito da due tipi di nodi: quelli hop e quelli di esecuzione.

I nodi hop facilitano la comunicazione con quelli di esecuzione e instradano il traffico verso di essi.

I nodi di esecuzione eseguono l'automazione sulle risorse dell'endpoint di destinazione.

Molte organizzazioni dispongono di ambienti di cloud ibrido con carichi di lavoro e risorse in cloud pubblici, privati e data center. Per loro, raggiungere tali reti e posizionare i nodi di esecuzione vicino agli endpoint di automazione è fondamentale. Di seguito è riportato un esempio di questo tipo di configurazione.

mermaid-diagram-2024-01-10-083728

Con il rilascio di Automation Controller 4.5, è ora possibile implementare nodi hop in Ansible Automation Platform su Azure.

La sottoscrizione ad Ansible Automation Platform include dieci licenze Red Hat Enterprise Linux (RHEL) che possono essere utilizzate per l'esecuzione dei componenti di Ansible Automation Platform. In questo esempio, sfrutteremo tali licenze per implementare Automation Mesh utilizzando un nodo hop e un nodo di esecuzione eseguito in un sito remoto dal nostro deployment di Ansible Automation Platform su Azure.

Scopriamo insieme come eseguire il deployment e sfruttare questa funzionalità.

Preparazione della rete

In questi esempi utilizzeremo porte predefinite per fare una dimostrazione. La configurazione della rete può essere configurata in base alle esigenze dell'organizzazione; per i casi complessi, consulta la documentazione di Automation Mesh come guida.

Automation Mesh utilizza la crittografia TLS per la comunicazione, in modo che il traffico che attraversa le reti esterne (Internet o altro) venga crittografato in transito.

  1. La DMZ è aperta alla porta 27199 per il traffico proveniente dalla rete Internet pubblica che consentirà la comunicazione dall'istanza Ansible Automation Platform su Azure.
  2. Il traffico di rete può essere instradato tra la DMZ e la rete privata sulla porta 27199.
  3. Il traffico all'interno della rete privata può essere instradato sulle porte in cui si verifica l'automazione, ad esempio la 22 per SSH e la 443 per le API.

Inoltre, prepara le risorse sulla rete privata, ad esempio una macchina virtuale. In Ansible Automation Platform, crea un inventario con la risorsa privata utilizzando l'indirizzo IP o il nome host privato.

Preparazione delle istanze RHEL

Esistono diversi modi per eseguire il deployment e la configurazione delle macchine di Automation Mesh, anche con più automazione Ansible. A scopo esemplificativo, in questa sezione descriveremo i passaggi manualmente e ci baseremo sul presupposto che RHEL 9 venga eseguito su un'architettura x64_64.

  1. Esegui il deployment delle istanze RHEL nelle reti remote dove è richiesta la comunicazione.
    1. Nell'esempio precedente, un'istanza risiederà all'interno della rete DMZ con un indirizzo IP pubblico e un'altra risiederà nella rete privata.
    2. Le ISO RHEL sono disponibili su access.redhat.com.
  2. Utilizza SSH per connetterti a ciascuna delle istanze RHEL ed esegui i passaggi seguenti. A seconda dell'accesso alla rete e dei controlli, potrebbero essere necessari proxy SSH o altri modelli di accesso.
  3. Assicurati che le istanze RHEL siano autorizzate tramite il gestore delle sottoscrizioni.

    sudo subscription-manager register --auto-attach
  4. Iscriviti ai repository di Ansible Automation Platform. 

    sudo subscription-manager repos --enable ansible-automation-platform-2.4-for-rhel-9-x86_64-rpms
  5. Installa i pacchetti ansible-core.

    sudo dnf install -y ansible-core
  6. Installa la Ansible Collection ansible.receptor.

    ansible-galaxy collection install ansible.receptor
  7. Crea o copia una chiave SSH che può essere utilizzata per connettersi dal nodo hop a quello di esecuzione nei passaggi successivi. La chiave può essere temporanea, utilizzata solo per la configurazione di Automation Mesh, oppure di lunga durata. L'utente e la chiave SSH verranno utilizzati nei passaggi successivi.
  8. Apri la porta 27199 per la comunicazione del recettore.

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

Ora le istanze RHEL dovrebbero essere pronte per l'esecuzione di Automation Mesh.

Configurazione in Automation Controller

È necessario configurare i nodi in Automation Controller. Nel nostro esempio verranno installati un nodo hopun nodo di esecuzione.

  1. Accedi ad Automation Controller.
  2. Vai a "Instances" (istanze) nel menu "Administration" (amministrazione).
  3. Fai clic su "Add" (aggiungi).
  4. Compila i campi con le informazioni seguenti per configurare il nodo di esecuzione.
    1. Host name (nome host): <the private ip address of the host>
    2. Description (descrizione): Execution node
    3. Listener Port (porta listener): 27199
    4. Instance Type (tipo di istanza): Execution

  1. Fai clic su "Save" (salva).
  2. Fai clic sull'icona "Install Bundle" (installa pacchetto) per scaricare il pacchetto di installazione. Salvalo per utilizzarlo nei passaggi successivi.
  3. Fai clic su "Back to instances" (torna alle istanze).
  4. Fai clic su "Add" (aggiungi).
  5. Compila i campi con le informazioni seguenti per configurare il nodo hop.
    1. Host name (nome host): 
    2. Description (descrizione): Hop node
    3. Listener Port (porta listener): 27199
    4. Instance Type (tipo di istanza): Hop
    5. Peers (peer): fai clic sulla lente di ingrandimento e seleziona il nodo di esecuzione creato in precedenza
    6. Seleziona l'opzione "Peers from control nodes" (peer dai nodi di controllo)

L'indirizzo IP in questa schermata è solo un esempio

  1. Fai clic su "Save" (salva).
  2. Fai clic sull'icona "Install Bundle" (installa pacchetto) per scaricare il pacchetto di installazione. Salvalo per utilizzarlo nei passaggi successivi.
  3. Fai clic sulla voce di menu "Topology View" (visualizzatore della topologia) in "Administration" (amministrazione). La configurazione di Automation Mesh dovrebbe essere provvisoriamente allo stato "installed" (installato).

Gli indirizzi IP in questa schermata sono solo a scopo esemplificativo

Indirizzo IP del nodo hop:  20.123.123.972

Indirizzo IP del nodo di esecuzione: 10.10.0.2

Installazione dei pacchetti di Automation Mesh

I due pacchetti scaricati nella sezione precedente utilizzano Ansible Automation Platform per configurare ciascuno di questi nodi di Automation Mesh. La posizione in cui vengono eseguiti questi pacchetti dipende dall'accesso della rete alle risorse. Nel nostro esempio, supponiamo che tu disponga dell'accesso SSH al nodo hop e che possa eseguire l'automazione del pacchetto per entrambe le macchine dal nodo hop.

  1. Copia i file di entrambi pacchetti dalla macchina locale al nodo hop. Tieni presente che gli indirizzi IP o i nomi host saranno univoci per il tuo 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. Estrai entrambi i file 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. Passa alla directory della cartella del nodo di esecuzione.
cd /path/to/exec/bundle/10.10.0.2_install_bundle
  1. Apri il file inventory.yml in un editor di testo.
vim /path/to/exec/bundle/10.10.0.2_install_bundle/inventory.yml
  1. Modifica il campo utente in modo che contenga l'utente SSH per il nodo di esecuzione.
---
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 necessario, modifica il nome della chiave SSH in base a come è stata configurata su questo host nei passaggi precedenti.
  2. Salva il file inventory.yml.
  3. Esegui il playbook per installare Automation Mesh sull'host del nodo di esecuzione.
ansible-playbook -i inventory.yml install_receptor.yml
  1. Al termine dell'installazione, passa alla directory per la cartella del nodo hop.
cd /path/to/hop/bundle/20.123.123.972_install_bundle
  1. Apri il file inventory.yml in un editor di testo.
vim /path/to/hop/bundle/20.123.123.972_install_bundle/inventory.yml
  1. Modifica il campo dell'utente in modo che contenga l'utente SSH per il nodo 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 necessario, modifica il nome della chiave SSH in base a come è stata configurata su questo host nei passaggi precedenti.
  2. Salva il file inventory.yml.
  3. Esegui il playbook per installare Automation Mesh sull'host hop node.
ansible-playbook -i inventory.yml install_receptor.yml

Verifica della connettività

  1. Apri di nuovo Automation Controller nel browser web.
  2. Fai clic su "Instances" (istanze) in "Administration" (amministrazione) nel menu a sinistra.
  3. Fai clic sulla casella di controllo accanto al nodo di esecuzione.
  4. Fai clic su "Run health check" (esegui controllo integrità). Questo passaggio potrebbe richiedere alcuni minuti.
  5. Se Automation Mesh funziona correttamente, tutti i nodi devono essere allo stato "Ready" (pronto).

Creazione di un gruppo di istanze

  1. Fai clic su "Instance Groups" (gruppi di istanze) in "Administration" (amministrazione).
  2. Fai clic su "Add" (aggiungi).
  3. Fai clic su "Add instance group" (aggiungi gruppo di istanze).
  4. Crea il gruppo di istanze con i seguenti campi:
    1. Name (nome): Remote Network

  1. Fai clic su "Save" (salva).
  2. Fai clic sulla scheda "Instances" (istanze).
  3. Fare clic su "Associate" (associa).
  4. Fai clic sulla casella di controllo accanto al nodo di esecuzione creato.
  5. Fai clic su "Save" (salva).

Dimostrazione del funzionamento

Dopo aver configurato i nodi hop e di esecuzione, avviamo alcuni processi da Automation Controller e osserviamo come passano attraverso il nodo hop, che a sua volta li passa ai nodi di esecuzione per eseguire le attività di automazione.

  1. Apri l'inventario che hai creato come passaggio preparatorio a questa guida.
  2. Fai clic su "Edit" (modifica) per modificarlo.
  3. Fai clic sulla lente di ingrandimento accanto a Instance Groups (gruppi di istanze).
  4. Seleziona il gruppo di istanze "Remote Network" (rete remota).
  5. Fai clic su "OK".
  6. Fai clic su "Save" (salva).
  7. Fai clic sulla scheda "hosts" (host).
  8. Fai clic sulla casella di controllo accanto all'host della VM creato sulla rete privata.
  9. Fai clic su "Run Command" (esegui comando).
  10. Esegui il modulo ping sull'host.

Se il ping ha esito positivo, Automation Mesh è configurato correttamente. Ora puoi eseguire processi di automazione su host su una rete privata.

Possibili passi successivi

Per sapere di più su Ansible Automation Platform su Azure, visita questa pagina.

Per maggiori informazioni su Automation Mesh, consulta questa guida.

Per sapere di più su Ansible Automation Platform su altri cloud hyperscaler, visita questa pagina.

Per i laboratori pratici on demand su Ansible Automation Platform, consulta questa pagina.

  • Laboratorio su Ansible Automation Platform su Azure.
  • Laboratorio per iniziare a usare Automation Mesh.
  • Documentazione per Red Hat Ansible Automation Platform Automation Mesh per installazioni basate sugli operatori
  • Documentazione per Red Hat Ansible Automation Platform Automation Mesh per installazioni basate su VM

Sugli autori

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

Ricerca per canale

automation icon

Automazione

Novità sull'automazione IT di tecnologie, team e ambienti

AI icon

Intelligenza artificiale

Aggiornamenti sulle piattaforme che consentono alle aziende di eseguire carichi di lavoro IA ovunque

open hybrid cloud icon

Hybrid cloud open source

Scopri come affrontare il futuro in modo più agile grazie al cloud ibrido

security icon

Sicurezza

Le ultime novità sulle nostre soluzioni per ridurre i rischi nelle tecnologie e negli ambienti

edge icon

Edge computing

Aggiornamenti sulle piattaforme che semplificano l'operatività edge

Infrastructure icon

Infrastruttura

Le ultime novità sulla piattaforma Linux aziendale leader a livello mondiale

application development icon

Applicazioni

Approfondimenti sulle nostre soluzioni alle sfide applicative più difficili

Original series icon

Serie originali

Raccontiamo le interessanti storie di leader e creatori di tecnologie pensate per le aziende