Panoramica
In un certo senso, hai due domande qui ...
- Come posso creare e gestire server standard?
- Come posso mantenere la configurazione standard e apportare modifiche in seguito?
Ho diviso la mia risposta qui sotto affrontando queste due cose separatamente ma sono strettamente correlate. Sto affrontando le soluzioni tecnologiche qui e non nessuna delle migliori pratiche correlate, come il controllo delle modifiche.
Se ciò non copre l'ambito della tua domanda, ti preghiamo di chiarire e sarò felice di elaborare. Questa è la base necessaria, fondamentale per un'infrastruttura tecnologica ben gestita.
Server di costruzione
Non mi piacciono le immagini nel mondo UNIX; questo è più di un approccio in stile Windows. Anche alcune persone di Windows sembrano ora concentrarsi nuovamente sugli script per build standard.
Il satellite sembra diventare un po 'popolare nel mondo RHEL. Spacewalk è la controparte Open Source. Devi assolutamente acquistare l'approccio RHEL per usarlo. Questo serve sia per la creazione di server che per la gestione della configurazione.
Idealmente, si desidera stabilire mirror e repository locali su un file server per tutto il software necessario.
Innanzitutto, sfrutta l'automazione della tua distribuzione, come Kickstart in RHEL / CentOS. Il kickstart sarebbe una base con variazioni, a seconda delle tue esigenze. Le build di Kickstart possono essere avviate da un server PXE.
Per la parte più avanzata della build e tutto ciò che non era adatto per un file Kickstart, puoi scrivere i tuoi script personalizzati. Tuttavia, potresti trovare burattino o cfengine che funziona bene per te invece di script personalizzati. Ho scoperto che gli script personalizzati sono i più flessibili e non si limitano a nessun singolo approccio.
Se scegli di scrivere i tuoi script, ti consiglio uno script di base per la configurazione universale. Si tratterebbe di configurazione della sicurezza, protezione e tutto ciò che si applica a tutte le build. Quindi uno script finale per finalizzare il ruolo del server. Ad esempio, un server Web o un server di database.
Mantenimento degli standard
Ciò che descrivi rientra anche nel mantenimento delle configurazioni. Standard di build, aggiornamenti software e altre cose sono correlati alle build ma in molti modi separati.
Se si sceglie di fare affidamento sui pacchetti di sistema anziché sulla creazione di build basate sul codice sorgente per i ruoli del server più importanti, è possibile gestirne gran parte con utilità di sistema native. Questo può essere un semplice script per eseguire un for
ciclo sull'elenco dei server ed eseguire un yum -y update package
.
Per la gestione della configurazione, è qui che entrano in gioco le marionette, cfengine e altre utility di gestione della configurazione . Queste sono utility molto utili e forniscono le basi necessarie senza scrivere i tuoi script da zero.
Quando aggiorni gli standard di configurazione per i tuoi server, è importante riempire di nuovo questo nelle build del server standard.