Account Accedi
Jump to section

Cos'è un Ansible Playbook?

Copia URL

Un Ansible® Playbook è un modello di attività di automazione, ovvero azioni IT complesse eseguite con un intervento umano minimo o nullo. Gli Ansible Playbook sono eseguiti su un insieme, gruppo o classe di host che costituiscono l'inventario Ansible.

Gli Ansible Playbook sono essenzialmente framework, ovvero codici scritti in precedenza che gli sviluppatori possono utilizzare ad-hoc o come modello di partenza. Gli Ansible Playbook sono utilizzati regolarmente per automatizzare l'infrastruttura IT (come i sistemi operativi e le piattaforme Kubernetes), le reti, i sistemi di sicurezza e gli strumenti di sviluppo (come Git).

Gli Ansible Playbook consentono ai team IT di programmare applicazioni, servizi, nodi server o altri dispositivi senza dover partire da zero ogni volta. Inoltre gli Ansible Playbook, così come le condizioni, le variabili e le attività al loro interno, possono essere salvati, condivisi o riutilizzati per un periodo indefinito.

I moduli Ansible eseguono le attività. Una o più attività di Ansible possono essere combinate per creare un play. Due o più play possono essere combinati per creare un Ansible Playbook. Gli Ansible Playbook sono elenchi di attività che vengono eseguite automaticamente sugli host. I gruppi di host formano l'inventario Ansible.

Ogni modulo all'interno di un Ansible Playbook esegue un'attività specifica. Ogni modulo contiene metadati che determinano quando e dove viene eseguita un'attività, nonché quale utente la esegue. Esistono migliaia di altri 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. In maniera simile, 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.

Sicurezza

Openssh_cert genera un host OpenSSH o certificati utente 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, ai sistemi Linux e Windows, all'hardware di rete e molto altro. Di seguito viene indicato un esempio di 2 moduli Ansible che aggiornano automaticamente 2 tipi di server:

--- name: update web servers
  hosts: webservers
  remote_user: root

  tasks:
  - name: ensure apache is at the latest version
    yum:
      name: httpd
      state: latest
  - name: write the apache config file
    template:
      src: /srv/httpd.j2
      dest: /etc/httpd.conf

- name: update db servers
  hosts: databases
  remote_user: root

  tasks:
  - name: ensure postgresql is at the latest version
    yum:
      name: postgresql
      state: latest
  - name: ensure that postgresql is started
    service:
      name: postgresql
      state: started

Il playbook contiene 2 play: 

  • Il primo verifica se il software del server web è aggiornato ed esegue l'aggiornamento se necessario
  • Il secondo verifica se il software del server di database è aggiornato ed esegue l'aggiornamento se necessario

Scopri di più sull'automazione.

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 della riga di comando (CLI) o utilizzando i deployment a pulsante di Red Hat Ansible Automation Platform.

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 basata sul web di Red Hat Ansible Automation Platform include deployment di Ansible Playbook a pulsante che vengono utilizzati come parte di processi più grandi (o modelli dei processi). Questi deployment sono dotati di ulteriori modalità di protezione che sono particolarmente utili per gli utenti che non conoscono bene l'automazione IT o per coloro che non hanno molta esperienza di utilizzo della CLI.

Scopri di più sull'automazione

Prodotti

Red Hat Consulting

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.

Red Hat Ansible Automation Platform

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

Red Hat Process Automation

Una piattaforma per lo sviluppo delle applicazioni cloud native destinate all'automazione dei processi e delle decisioni aziendali.

Risorse

Formazione

Corso di formazione gratuito

Ansible Essentials: Simplicity in Automation Technical Overview

Corso di formazione gratuito

Red Hat Ansible Automation for SAP

Illustration - mail

Ricevi contenuti simili

Iscriviti a Red Hat Shares, la nostra newsletter gratuita.