Sto imparando la mia strada attraverso la gestione della configurazione in generale e usando Puppet per implementarlo in particolare, e mi chiedo quali aspetti di un sistema, se ce ne sono, non dovrebbero essere gestiti con Puppet?
Ad esempio, di solito diamo per scontato che i nomi host siano già impostati prima di prestare il sistema alla gestione delle marionette. La connettività IP di base, almeno sulla rete utilizzata per raggiungere il burattinaio, deve funzionare. L'uso di Puppet per creare automaticamente file di zone DNS è allettante, ma i puntatori inversi DNS dovrebbero essere già in atto prima di avviare la cosa o i certificati diventeranno divertenti.
Quindi dovrei tralasciare la configurazione IP di Puppet? O dovrei configurarlo prima di avviare il burattino per la prima volta ma gestire comunque gli indirizzi IP con il burattino? Che dire dei sistemi con più IP (ad es. Per WAN, LAN e SAN)?
Che dire di IPMI ? Puoi configurarne la maggior parte, se non tutte, con ipmitool , risparmiandoti l'accesso alla console (fisico, seriale su LAN, KVM remoto, qualunque cosa) in modo che possa essere automatizzato con le marionette. Ma ricontrollare il suo stato ad ogni corsa di agenti fantoccio non mi sembra interessante, e le luci di base che accedono al sistema sono qualcosa che mi piacerebbe avere prima di fare qualsiasi altra cosa.
Un'altra storia completa riguarda l'installazione degli aggiornamenti. Non sto andando in questo punto specifico, ci sono già molte domande su SF e molte filosofie diverse tra amministratori di sistema diversi. Io stesso, ho deciso di non lasciare che le marionette aggiornino le cose (solo per esempio ensure => installed
) e facciano gli aggiornamenti manualmente come siamo già abituati, lasciando l'automazione di questa attività a un giorno successivo quando siamo più sicuri con le marionette (ad esempio aggiungendo MCollective a il mix).
Erano solo un paio di esempi che mi sono venuti in mente in questo momento. C'è qualche aspetto del sistema che dovrebbe essere lasciato fuori dalla portata delle marionette? Oppure, detto in un altro modo, dov'è la linea di demarcazione tra cosa dovrebbe essere impostato al momento del provisioning e "staticamente" configurato nel sistema e cosa viene gestito attraverso la gestione centralizzata della configurazione?