Newsgroup: it.comp.os.linux.software
Titolo: Chef

Avete qualche bel libro/pdf da consigliare per capire bene come funziona 'sto software?
 
Ho letto della documentazione in giro (molta a dire la verità) ma ho le idee meno chiare di prima e sinceramente non so nemmeno se può tornare utile al mio scopo:
 
 - automatizzare il deploy e le configurazioni di più server con i rispettivi upgrade.
 
Esempio:
 
supponiamo di avere 20 server, identici, in cui cambia solo il software principale da installare a bordo (apache, mysql, dovecot, etc etc)
tutto il resto è in comune (openssh, php, cippolippo, cazziemazzi)
 
Vorrei poter partire da una VM base, utilizzata come template che contiene al suo interno solamente il client chef.
 
Una volta avviata, chef deve fare tutto il resto, seguire la ricetta, tirare giù i pacchetti mancanti, aggiornare quelli obsoleti fino ad arrivare alla configurazione corretta del nodo.
 
Se tra 6 mesi dovesse venir aggiornato uno dei software che è in comune su tutti i server, vorrei poter eseguire *un* comando che automaticamente fa partire gli update a tutti e 20 i nodi, mantenendoli sempre sincronizzati.
 
Credo che Chef sia fatto apposta.
 
La stessa cosa di può fare con del caro vecchio scripting in bash e vagonate di template VM, ma vedo che Chef va di moda e vorrei provare ad usarlo.
Oltretutto mi consentirebbe di tenere 1 solo template VM valido per tutti i nodi, negli altri casi, o impazzisco con gli script, o dovrei tenere 1 template per ogni tipologia di server (1 mysql, 1 dovecot, ...)
 
Però, non so da dove cominciare.

  rispettivi upgrade.
 
Non ho studiato Chef, ma mi sono dato un'infarinatura di Puppet.
 
In Puppet hai un server centrale che fa da puppet master, e i vari server 
amministrati che sono i puppet client.
 
Sul master definisci, tramite file di configurazione, la configurazione di 
ogni client. Possono essere semplici config tipo "installa joe" fino a 
roba più complessa tipo "installa postfix con il 
master.cf
 fatto così e il 
main.cf
 cosà, e con dipendenza mysql per i virtual users fatti cosù".
 
Non sei tu che mandi il comando di update ai server. Sono loro che, ogni 
tot, si collegano al master e vedono se ci sono aggiornamenti alla loro 
config. Se ci sono, se li scaricano e si autoaggiornano.
 
In pratica poi tu lavori solo sul master e non fai più login sui puppet.
 
La cosa bella è che puoi raggruppare i server e servire configurazioni 
condivise, in cui cambia solo una variabile (l'IP, o l'hostname, o la 
chiave di ssh, per esempio), e definire dei "casi speciali" (per esempio 
per aggiornare i server a gruppi invece che tutti insieme, per vedere se 
la config funziona prima di propagarla a tutti o per valutare il carico 
con le nuove modifiche).
 
In giro trovi ricette sia per chef che per puppet per le installazioni più 
comuni di pacchetti, così hai una base da cui partire, invece di dover 
scrivere tutte le config a mano (che è una palla spaventosa, te 
l'assicuro! :).
 
Bye.

  puppet master
 
già mi piace!


Mah, c'ha un retrogusto un po' metallica
 
-- 
I fatti mi cosano

 Mah, c'ha un retrogusto un po' metallica
 
Laughter, laughter.
 
-- 
Andrea