Puppet è un potente strumento di system automation che permette la gestione centralizzata di una infrastruttura di sistemi Unix.
Puppet è un software opensource, scritto in Ruby, che permette la gestione automatizzata e centralizzata di un'infrastruttura di sistemi Linux e Unix, essendo disponibile per tutte le principali distribuzioni Linux, le diverse varianti di BSD oltre che Solaris e AIX.
Con Puppet è possibile gestire praticamente ogni risorsa di un sistema: programmi da insallare, servizi da avviare, file di configurazione con contenuti diversi a seconda di diverse logiche, utenti, cron jobs, mount point, esecuzione di comandi specifici ecc.
Praticamente permette di automatizzare ogni attività sistemistica cambiando di fatto il modo con sui si opera su sun server.
Puppet è un sistema client-server, il client viene lanciato (come comando singolo o servizio) sul sistema da configurare e si connette al server (il Puppet Master) sulla porta 8140 TCP da cui recupera il profilo di configurazioni associato al suo hostname.
Sul server sono configurate in file chiamai manifest, con estensione .pp tutte le risorse che sono associate agli host gestiti.
Il traffico di rete è criptato, previo scambio di certificati x509 fra client e server che ne garantisce l'autenticità e integrezza.
I pacchetti di Puppet sono disponibili nelle principali distribuzioni Linux nei repository principali (Ubuntu , Debian) o in repository extra come EPEL per RedHat Enterprise Linux.
Se si deve installare il client, basta usare il pacchetto puppet ed eventualmente avviare l'omonimo servizio, sul server va installato anche il pacchetto puppet-server e avviato il servizio pupppetmaster.
Per entrambi i file di configurazione è /etc/puppet/puppet.conf, dove sono presenti diverse sezioni relative al comportamento di client e server.
I log passano per syslog (in /var/log/messages o /var/log/syslog), mentre vari file (certificati, backup, file di stato, estensioni) vengono depositati in /var/lib/puppet.
La logica di Puppet è di definire lo stato di un sistema e fare in modo che questo sia tale ogni volta che il client Puppet viene eseguito.
La prima volta che lo si esegue, quindi, vengono installati pacchetti, avviati servizi, modificati file di configurazione secondo quanto definito sul PuppetMaster e le volte successive, in teoria, se non sono intervenute modifiche manuali sul sitema, o cambiamenti delle configurazioni sul master, non dovrebbe cambiare nulla.
Questo è un concetto importante per il sistemista e un vero e proprio cambio di paradigma sul suo modo di operare: in un sistema gestito con Puppet non si devono modificare a mano i file che Puppet gestisce, perchè questi vengono rimodificati la prima volta che questo viene eseguito.
E, visto che nelle condizioni ideali, Puppet gestisce tutte le risorse di un sistema (non è obbligatorio che sia così, ma è comunque consigliabile), di fatto, salvo in casi di emergenza, un sistemista non dovrà mai intervenire a mano sui suoi server.
Se da un lato tutto questo può risultare laborioso e in qualche modo "innaturale" nella gestione dall'altro comporta una serie di vantaggi clamorosi:
- Si può configurare il profilo di un server ed applicarlo a decine o centinaia di host, tutti uguali, tutti allineati, tutti configurati con la stessa logica.
- La procedura di setup e configurazione di un sistema è riproducibile: non è più necessaria quella arcana alchimia manuale con cui a volte ci si ritrova a gestire dei sistemi che poi non si sanno più reinstallare.
- E' facile e quasi intrinseco prevedere per ogni host il suo corrispettivo di sviluppo, collaudo e produzione, non avendo limiti nel numero di ambienti previsti e avendo la certezza di avere i sistemi fra di loro allineati.
- I manifest di puppet sono generalmente gestiti con un sistema di versioning (git, subversion, cvs vanno tutti bene), questo comporta automaticamente una gestione formale, reversibile, documentata e tracciata delle modifiche fatte sui sistemi.
Il risultato è che, già in infrastrutture di qualche decine di host, Puppet diventa uno strumento unico e insostituibile per una gestione rapida ed efficace del parco macchine, lo sforzo iniziale di definizione delle sue configurazioni viene ampiamente ripagato nel tempo con tempi di gestione e setup dei sistemi enormemente ridotti.
Insomma, con Puppet ci si può dedicare al miglioramento e l'affinamento della propria infrastruttura risparmiando il tempo speso in attività ordinarie ripetitive e noiose.
Se ti è piaciuto l'articolo , iscriviti al feed cliccando sull'immagine sottostante per tenerti sempre aggiornato sui nuovi contenuti del blog:
Magazine Informatica
Puppet, centralizzare e automatizzare le configurazioni dei sistemi
Creato il 13 agosto 2010 da Hugor @msdiaz61Possono interessarti anche questi articoli :
-
148 Comandi per Windows da conoscere
Salve community, su Windows esistono dei comandi per eseguire qualcosa. Ogni volta che si desidera qualcosa, è sufficiente digitare il comando, e ci vogliono... Leggere il seguito
Da Desktopsolution
INFORMATICA, TECNOLOGIA -
[GUIDA] Come spiare WhatsApp su Android e iPhone
Esiste un trucchetto con cui è possibile spiare WhatsApp sia su Android che su iPhone, e non è nemmeno complicato da effettuare. Volete sapere come? vediamo... Leggere il seguito
Da Desktopsolution
INFORMATICA, TECNOLOGIA -
6tag per Windows Phone si aggiorna alla versione 5.1.1 con tante novità
Si aggiorna nuovamente 6tag, l’app disponibile per device dotati di sistema operativo Windows Phone che rappresenta una validissima alternativa al client... Leggere il seguito
Da Wpdaily
TECNOLOGIA, TELEFONIA MOBILE -
MyTube debutta sul Windows Store e diventa Universal App
In queste ore, MyTube, una dei client alternativi a Youtube su smartphone dotati di sistema operativo Windows Phone, ha fatto il suo debutto sullo store... Leggere il seguito
Da Wpdaily
TECNOLOGIA, TELEFONIA MOBILE -
Zimbra, il web client open source di posta elettronica evoluta
La casella di posta elettronica ha sostituito ogni altra forma di comunicazione e trasmissione di file e documenti. Il servizio standard offerto dai più noti... Leggere il seguito
Da Guideitech
INFORMATICA, TECNOLOGIA -
Airdroid si aggiorna ed introduce il supporto a Telegram
Dopo l'aggiornamento rilasciato qualche giorno fa per l'applicazione Android, Airdroid oggi rilascia un ulteriore update per il client desktop per PC e Mac... Leggere il seguito
Da Paolo Dolci
INFORMATICA, TECNOLOGIA