Jump to section

Cos'è un Ansible Playbook?

Copia URL

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 all'infinito, 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.

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 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.

Ansible è in grado di comunicare con molte diverse tipologie di dispositivi, dalle API REST basate su cloud, ai sistemi Linux e Windows, all'hardware di rete e molto altro. Di seguito un esempio di due moduli Ansible che aggiornano automaticamente due 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 due 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.

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 due estensioni di file YAML diverse, ma perfettamente accettabili: .yaml o .yml. 

Esistono due 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.

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 di base 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.

Icon-Red_Hat-Media_and_documents-Quotemark_Open-B-Red-RGB 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.

Jesse Amerson

IT Director, Ulta Beauty

Quanto tempo si può risparmiare grazie all'automazione?

Rispondi ad alcune semplici domande per calcolare il tempo che potresti risparmiare utilizzando Ansible Automation Platform per l'automazione dell'IT.

Continua a leggere

Articolo

I concetti base di Ansible

Ansible consente di automatizzare i processi IT, come il provisioning e la gestione della configurazione. Questo articolo fornisce un'introduzione ai concetti base di Ansible.

Articolo

Cos'è la gestione dei processi aziendali?

La gestione dei processi di business (BPM, business process management) consiste nella creazione di modelli di business, nell'analisi e nell'ottimizzazione dei processi aziendali end to end per realizzare i tuoi obiettivi aziendali strategici.

Articolo

Perché scegliere Red Hat per l'automazione

Red Hat Ansible Automation Platform include tutti gli strumenti necessari per condividere le competenze di automazione tra i team e adottare l'automazione a livello aziendale.

Scopri di più sull'automazione

Prodotti

Collabora con il nostro team di consulenti strategici in grado di analizzare l'azienda nel suo insieme e valutare le sfide da affrontare, per aiutarti a superarle con soluzioni complete e convenienti.

Una piattaforma per implementare l'automazione in azienda, in qualsiasi fase del tuo percorso di trasformazione

Risorse

Ebook

L'azienda automatizzata connette persone e processi

Ebook

Automazione dei flussi di lavoro dell'infrastruttura

Continua a leggere

Formazione

Corso di formazione gratuito

Ansible Essentials: Simplicity in Automation Technical Overview

Corso di formazione gratuito

Red Hat Ansible Automation for SAP