Panoramica
Un Ansible® Playbook è un modello di attività di automazione, ovvero azioni IT eseguite con un intervento manuale minimo in un inventario di soluzioni IT. I Playbook indicano ad Ansible cosa fare con quali dispositivi.
Invece di applicare manualmente la stessa azione a centinaia o migliaia di tecnologie simili su più ambienti IT, l'esecuzione di un playbook completa automaticamente la stessa azione sul tipo di inventario specificato, ad esempio un set di router. I playbook fungono anche da framework di codice già scritto che gli sviluppatori possono utilizzare ad-hoc o come modello di partenza.
Sono utilizzati regolarmente per automatizzare l'infrastruttura IT (come i sistemi operativi e le piattaforme Kubernetes), le reti, i sistemi di sicurezza e i repository di codice come GitHub. I playbook consentono ai team IT di programmare applicazioni, servizi, nodi server o altri dispositivi senza dover partire da zero ogni volta.
Inoltre, possono essere salvati, condivisi o riutilizzati indefinitivamente, come le condizioni, le variabili e le attività che contengono. Per i team IT diventa più facile codificare le conoscenze operative e garantire l'esecuzione coerente delle stesse azioni.
Come funzionano gli Ansible Playbook?
Gli Ansible Playbook sono elenchi di attività che vengono eseguite automaticamente nell'inventario o nei gruppi di host specificati. La combinazione di una o più attività di Ansible costituisce un play, ovvero un raggruppamento ordinato di attività abbinate a specifici host; le attività vengono eseguite nell'ordine in cui sono scritte. Un playbook può includere uno o più play, ma anche Ansible Role, ossia pacchetti di attività abbinate a risorse di automazione che possono essere eseguiti in più play o riutilizzati in diversi playbook.
Le attività vengono eseguite da moduli, ognuno dei quali esegue un'attività specifica in un playbook e contiene metadati che determinano quando e dove viene eseguita l'attività, nonché quale utente la esegue.
Esistono migliaia di moduli Ansible che eseguono tutti i tipi di attività IT, come:
Gestione del cloud
oci_vcn crea, elimina o aggiorna reti cloud virtuali negli ambienti Oracle Cloud Infrastructure. Analogamente, vmware_cluster aggiunge, rimuove o aggiorna i cluster VMware vSphere.
Gestione utenti
selogin mappa gli utenti del sistema operativo (SO) Linux® sull'utente SELinux e gitlab_user crea, aggiorna o elimina gli utenti GitLab.
Reti
Decine di moduli gestiscono le interfacce di programmazione delle applicazioni (API), i dispositivi IOS, NXOS e IOS XR Cisco, nonché i servizi F5 BIG-IP e il sistema operativo di rete cloud Arista EOS.
Sicurezza
Openssh_cert genera certificati host o utente OpenSSH e ipa_config gestisce le impostazioni di configurazione FreeIPA globali.
Gestione della configurazione
pip gestisce le dipendenze della libreria Python mentre assemble consolida i file di configurazione dai frammenti.
Comunicazione
mail può inviare automaticamente email in base a determinati criteri e snow_record crea, elimina o aggiorna un singolo record in ServiceNow.
Risorse da Red Hat
Il parere degli esperti
Un esempio pratico di Ansible Playbook
Ansible è in grado di comunicare con molte diverse tipologie di dispositivi, dalle API REST, ai sistemi Linux e Windows, all'hardware di rete e molto altro. Di seguito un esempio di 2 moduli Ansible che aggiornano automaticamente 2 tipi di server:
--- - name: Update web servers hosts: webservers become: true tasks: - name: Ensure apache is at the latest version ansible.builtin.yum: name: httpd state: latest - name: Write the apache config file ansible.builtin.template: src: /srv/httpd.j2 dest: /etc/httpd.conf mode: "0644" - name: Update db servers hosts: databases become: true tasks: - name: Ensure postgresql is at the latest version ansible.builtin.yum: name: postgresql state: latest - name: Ensure that postgresql is started ansible.builtin.service: name: postgresql state: started
Il playbook contiene 2 play:
- Il primo verifica se il software del web server è aggiornato ed esegue l'aggiornamento se necessario.
- Il secondo verifica se il software del server di database è aggiornato ed esegue l'aggiornamento se necessario.
Come si utilizzano gli Ansible Playbook?
Ansible utilizza la sintassi YAML. Per alcuni, l'acronimo YAML sta per "yet another markup language", ovvero "un ulteriore linguaggio di markup", mentre per altri indica "YAML ain’t markup language", ovvero "YAML non è un linguaggio di markup" (un acronimo ricorrente). Esistono anche 2 estensioni di file YAML diverse, ma perfettamente accettabili: .yaml o .yml.
Esistono 2 modi per utilizzare gli Ansible Playbook: dall'interfaccia a riga di comando (CLI) o utilizzando i deployment a pulsante di Red Hat® Ansible Automation Platform.
Poiché YAML è un linguaggio leggibile in chiaro, i professionisti IT con esperienza in ambiti specifici, ad esempio le reti, la sicurezza o il cloud, potranno creare i playbook senza dover apprendere complicati linguaggi di codifica.
Dalla CLI
Dopo aver installato il progetto Ansible open source o Red Hat Ansible Automation Platform (per cui è sufficiente digitare "sudo yum install ansible" nella CLI di Red Hat Enterprise Linux), tutto ciò che devi fare è utilizzare il comando ansible-playbook per eseguire gli Ansible Playbook.
Dall'interno della piattaforma
L'interfaccia utente web di Red Hat Ansible Automation Platform include deployment di Ansible Playbook a pulsante che vengono utilizzati come parte di processi o modelli di processi più grandi. Questi deployment sono dotati di ulteriori modalità di protezione particolarmente utili per gli utenti che non conoscono bene l'automazione IT o per coloro che non hanno molta esperienza di utilizzo della CLI.
Perché scegliere Red Hat?
Red Hat Ansible Automation Platform è una piattaforma unificata capace di automatizzare interi processi nei domini IT per una serie di scenari di utilizzo, tra cui l'infrastruttura, il cloud ibrido, la sicurezza e le reti, fino alle posizioni all'edge. Ansible Automation Platform include tutti gli strumenti necessari per implementare l'automazione nell'intera azienda, inclusi playbook, strumenti di analisi e una soluzione basata sugli eventi. Consente inoltre ai team di centralizzare e controllare l'infrastruttura IT tramite un dashboard grafico, il controllo degli accessi basato sui ruoli e molte altre funzionalità volte a ridurre la complessità operativa.
Le sottoscrizioni Red Hat includono i contenuti certificati e supportati a cura di Red Hat e dei suoi partner, l'accesso ai servizi gestiti in hosting e il supporto tecnico per il ciclo di vita che agevolano la scalabilità dell'automazione nell'intera organizzazione. I clienti possono inoltre avvalersi delle conoscenze e delle competenze degli esperti Red Hat, acquisite attraverso collaborazioni di successo con migliaia di clienti.
L'introduzione di Red Hat Ansible Lightspeed with IBM watsonx Code Assistant rende Ansible ancora più accessibile ai principianti e permette ai team di automazione più esperti di apprendere, creare e gestire i contenuti su Red Hat Ansible Automation Platform in modo più efficiente. Questo servizio di IA generativa accetta le richieste inserite dagli utenti e interagisce con i modelli fondativi di IBM watsonx per generare il codice in base alle migliori pratiche Ansible. Ciò consente di convertire l'esperienza nel settore in un codice Ansible collaudato e affidabile, da estendere su scala in più team e domini.
Le funzionalità integrate di Red Hat Ansible Automation Platform ci hanno fornito un acceleratore per l'innovazione. È lo standard comune che molti dei nostri fornitori e partner utilizzano anche per scrivere gli script con cui installano, configurano e gestiscono la propria tecnologia.
Il blog ufficiale di Red Hat
Leggi gli articoli del blog di Red Hat per scoprire novità e consigli utili sulle nostre tecnologie, e avere aggiornamenti sul nostro ecosistema di clienti, partner e community.