Installazione di The Foreman in Debian
the Foreman installa un puppet master e gli strumenti fi gestione per un ambiente fisico o virtuale, per gestire un parco macchine linux dall'installazione alla gestione
Installazione in Debian Wheezy
- Su una macchina appena installata, aggiungere le fonti apt, installare la chiave gpgp ed i pacchetti:
sudo apt-get update sudo apt-get dist-upgrade echo "deb http://deb.theforeman.org/ wheezy 1.5" |sudo tee /etc/apt/sources.list.d/foreman.list echo "deb http://deb.theforeman.org/ plugins 1.5" | sudo tee -a /etc/apt/sources.list.d/foreman.list cat /etc/apt/sources.list.d/foreman.list wget -q http://deb.theforeman.org/foreman.asc -O- | sudo apt-key add - sudo apt-get update && sudo apt-get install foreman-installer
- Lanciare l'installazione (attenzione, la macchina deve avere accesso libero https o avere un proxy di sistema configurato, altrimenti i pacchetti foreman-bootdisk e foreman-installer non si riusciranno d installare):
sudo foreman-installer
- Loggarsi ora all'url della macchina installata (ci sarà redirect su https) http://server.example.com con credenziali
admin changeme
- Ora The Foreman è installato in "basic mode" e funziona solo da raccoglitore di report. Per poter installare e gestire gli host, va configurato in "unattended mode"
Verifica installazione
- Lanciare puppet sulla macchina appena configurata per inviare il primo report:
sudo puppet agent --test
- L'errore è ignorabile:
err: /File[/var/lib/puppet/lib]: Could not evaluate: Could not retrieve information from environment production source(s) puppet://rserver.example.com/plugins
- Verificare che nella console web nella dashboard ci sia un host che abbia inviato un report puppet.
Utilizzo di un modulo puppet
- Installiamo ora un modulo di test:
sudo puppet module install -i /etc/puppet/environments/production/modules saz/ntp
- Importiamolo ed attiviamo la classe. Via web, selezioniamo:
Configure > Puppet Classes Import from server.example.com
- La classe ntp apparirà nell'elenco: selezioniamola, e clicchiamo su update per importarla. Ora la classe è disponibile per essere utilizzata.
- Modifichiamo un parametro di default della classe, ad esempio l'elenco dei server ntp di default da utilizzare. Selezioniamo la classe ntp appena importata, e clicchiamo sulal scheda
Smart Class Parameters
- Selezioniamo a sinistra il valore
server_list
- Clicchiamo su "override" ed inseriamo nel textbox "Default values" l'elenco dei server ntp da utilizzare:
["0.debian.pool.ntp.org","1.debian.pool.ntp.org","2.debian.pool.ntp.org","3.debian.pool.ntp.org"]
Clicchiamo
Submit
- Ora assegnamo la classe nt al nostro host. Selezioniamo dal menu in alto
Hosts->All hosts server.example.com
- Si aprirà la scheda con tutti i dettagli dell'host. Cliccare
Edit
- Andare sulla scheda
Puppet classes
- Espandere la classe ntp, ed aggiungerla con il + e premere Submit
- Per curiosità, sui può vedere il codice yaml generato per l'host, che comprenderà la classe ntp con i valori dei server ntp precedentemente specificati.
- Se si vuole, nella classe ntp, nella scheda "Parameters" è possibile modificare gli "smart parameters" utilizzati.
- Sull'host, eseguire puppet per verificare che ntpd sia installato e si configuri come specificato:
sudo puppet agent --test
- L'errore è ignorabile:
err: /File[/var/lib/puppet/lib]: Could not evaluate: Could not retrieve information from environment production source(s) puppet://server.example.com/plugins