A seconda dell'ambiente e del processo di provisioning, può essere più veloce da creare da capo rispetto all'utilizzo dei modelli VMware e del clone from template caratteristica.
Ho lavorato in un grande ambiente VMware incentrato su Linux, in cui il processo di distribuzione non era automatizzato come avrebbe dovuto. Ci siamo affidati ai modelli vSphere dei sistemi RHEL, ma dopo il clone iniziale è stato necessario un bel po' di lavoro manuale.
Vantaggi del modello:
- I modelli sono utili se stai incorporando altre applicazioni, impostazioni di configurazione e cose che si estendono oltre la portata della gestione della configurazione nel modello. (ad esempio uno stack di applicazioni Oracle complesso )
- Il tempo di clonazione dipende dall'infrastruttura di storage e vSphere. Ho visto che si verificano lavori di clonazione molto lenti e ad alta intensità di risorse.
- Se usi Red Hat/CentOS/Debian/Ubuntu, ad esempio, puoi sfruttare
sys-unconfig
comando per "deconfigurare" un sistema prima del template. Questo è l'equivalente Linux diSysprep
di Microsoft e rimuove le regole dell'interfaccia di rete, le chiavi SSH, le impostazioni di rete, ecc. - Gli strumenti di assegnazione IP di VMware vanno bene e non hanno rappresentato un grosso problema con i principali sistemi operativi Linux.
Vantaggi dell'implementazione PXE/kickstart:
- Solitamente più veloce del template/cloning, supponendo che tu abbia un repository locale e un'immagine di avvio da rete.
- Più flessibile in quanto puoi apportare modifiche alle tue immagini/master senza il ciclo di conversione del modello in VM, modifica, riconversione e clonazione.
- Migliore se abbinato a una soluzione di gestione della configurazione.
Alla fine, dipende dalla tua applicazione e da quanto lavoro aggiuntivo è necessario dopo l'installazione iniziale del sistema operativo. Ho adottato un approccio ibrido, utilizzando cloni per le istanze più complesse e nuove build tramite un sistema di provisioning per i sistemi di routine. Non si escludono a vicenda.
Le specifiche dipendono dalla distribuzione, ma ti darò alcune cose CentOS/RHEL da ricordare quando crei il tuo modello.
- Elimina le chiavi in
/etc/ssh/
- Rimuovi il SOTTOSISTEMA righe in
/etc/udev/rules.d/70-persistent-net.rules
che fanno riferimento alle tue NIC
Entrambi verranno rigenerati al primo avvio.
Hai bisogno di un modo per eseguire gli aggiornamenti dopo aver distribuito il modello.
Con vSphere puoi definire la rete e il nome host. Come utente Puppet, posso semplicemente installare il client Puppet nel mio modello insieme a un puppet.conf
standard . Se utilizzo più ambienti, in realtà ho bisogno di un modello diverso per ogni ambiente.
Quando modifichi un modello, devi ricordarti di rimuovere i file sopra.
Personalmente, mentre la distribuzione dal modello è leggermente più rapida, preferisco comunque eseguire il provisioning da PXE poiché è più flessibile.