Puppet è uno strumento di gestione della configurazione open source e un framework di automazione del server. Puppet può essere eseguito su sistemi operativi simili a Unix, nonché su sistemi Microsoft Windows. Ti consente di gestire ed eseguire attività amministrative e la configurazione di centinaia di sistemi da un server principale.
In questo tutorial ti spiegherò come installare Puppet su CentOS 7. Installerò e configurerò un server CentOS 7 come "master" dei pupazzi e l'altro come "agente".
Prerequisiti
- 2 server CentOS 7
- 15.00.10 master.hakase.io 2 GB di memoria
- 15.00.11 agent.hakase.io
- Privilegi di root
Cosa faremo:
- Preinstallazione del pupazzo
- Installa e configura il server dei pupazzi
- Installa e configura Puppet Agent
- Verifica configurazione agente pupazzi
- Crea il primo manifesto delle marionette
Passaggio 1 - Preinstallazione del pupazzo
In questo passaggio, eseguiremo alcune attività tra cui l'installazione e la configurazione su entrambi i server puppet master e puppet agent. Configurare il file dell'host, sincronizzare l'ora utilizzando il server NTP, disabilitare SELinux e aggiungere il repository dei pupazzi al sistema.
- Configura host
Collegati al burattinaio e all'agente utilizzando il tuo utente root.
ssh [email protected]
ssh [email protected]
Ora modifica gli host utilizzando vim editor.
vim /etc/hosts
Aggiungi la seguente configurazione alla fine della riga.
10.0.15.10 master.hakase.io
10.0.15.11 agent.hakase.io
Salva ed esci.
Ora prova usando il comando ping.
ping master.hakase.io
ping agent.hakase.io
E assicurati di ottenere l'indirizzo IP del server 10.0.15.10 e 10.0.15.11.
- Configura il server NTP
È molto importante mantenere sincronizzato l'ora tra master e agent server.
Installa i pacchetti NTP su entrambi i server usando il comando yum.
yum -y install ntp ntpdate
Al termine dell'installazione, scegli il pool NTP che desideri eseguendo il comando come di seguito.
sudo ntpdate 0.centos.pool.ntp.org
Ora avvia il servizio NTP e abilitalo per l'avvio ogni volta all'avvio del sistema.
sudo systemctl start ntpd
sudo systemctl enable ntpd
L'installazione e la configurazione di NTP sono state completate.
- Disabilita SELinux
Modifica la configurazione di SELinux usando vim.
vim /etc/sysconfig/selinux
Modificare il valore SELINUX in 'disabilitato'.
SELINUX=disabled
Salva ed esci.
- Aggiungi repository di pupazzi
Ora aggiungi il repository dei pupazzi al sistema usando il comando rpm di seguito.
rpm -Uvh https://yum.puppetlabs.com/puppet5/puppet5-release-el-7.noarch.rpm
Al termine, riavvia entrambi i server.
reboot
Ora siamo pronti per l'installazione e la configurazione dei pupazzi.
Passaggio 2:installazione e configurazione di Puppetserver
In questo passaggio, installeremo il puppetserver sul server master.hakase.io. Installa puppetserver usando il comando yum di seguito.
sudo yum -y install puppetserver
Al termine dell'installazione, è necessario configurare l'allocazione della memoria per puppetserver. Imposteremo l'allocazione di memoria massima per il server dei pupazzi su 1 GB.
Modifica la configurazione del 'puppetserver' usando vim.
vim /etc/sysconfig/puppetserver
Ora cambia la linea come di seguito.
JAVA_ARGS="-Xms1g -Xmx1g ...."
Salva ed esci.
Quindi, vai alla directory di configurazione del pupazzo e modifica il file 'puppet.conf'.
cd /etc/puppetlabs/puppet
vim puppet.conf
Aggiungi la seguente configurazione.
[master]
dns_alt_names=master.hakase.io,puppet
[main]
certname = master.hakase.io
server = master.hakase.io
environment = production
runinterval = 1h
Salva ed esci.
Ora avvia il server delle marionette e abilitalo all'avvio ogni volta all'avvio.
systemctl start puppetserver
systemctl enable puppetserver
L'installazione e la configurazione di Puppetserver sono state completate con successo.
Se stai utilizzando firewalld sul tuo sistema, aggiungi la porta puppetserver all'elenco utilizzando il comando firewall-cmd di seguito.
firewall-cmd --add-port=8140/tcp --permanent
firewall-cmd --reload
Passaggio 3:installazione e configurazione di Puppet Agent
Installeremo l'agente pupazzo sul server 'agent.hakase.io'.
Installa l'agente pupazzo utilizzando il comando yum di seguito.
yum install -y puppet-agent
Al termine dell'installazione, vai alla directory di configurazione del puppet e modifica il file puppet.conf.
cd /etc/puppetlabs/puppet
vim puppet.conf
Incolla la seguente configurazione.
[main]
certname = agent.hakase.io
server = master.hakase.io
environment = production
runinterval = 1h
Salva ed esci.
Successivamente, registreremo l'agente burattinaio al burattinaio.
Esegui il comando seguente sulla shell dell'agente pupazzo.
/opt/puppetlabs/bin/puppet resource service puppet ensure=running enable=true
L'agente pupazzo è ora in esecuzione sul server e sta tentando di registrarsi presso il burattinaio.
Ora torna alla shell del puppet master ed esegui il comando seguente.
/opt/puppetlabs/bin/puppet cert list
E riceverai la richiesta di firma del certificato (CSR) in sospeso dal server dell'agente fantoccio "agent.hakase.io".
Firma il certificato usando il comando qui sotto.
/opt/puppetlabs/bin/puppet cert sign agent.hakase.io
E il risultato dovrebbe essere simile al seguente:
L'agente pupazzo è ora in esecuzione sul sistema e il certificato per l'agente è stato firmato dal burattinaio.
Passaggio 4:verifica della configurazione dell'agente pupazzo
Dopo che il burattinaio ha firmato il file del certificato per l'agente, esegui il comando seguente sull'agente burattino per verificare la configurazione.
/opt/puppetlabs/bin/puppet agent --test
E otterrai il risultato come mostrato di seguito.
L'agente Puppet ha estratto la configurazione dal burattinaio e l'ha applicata al server senza alcun errore.
Passaggio 5:crea il primo manifesto
L'installazione e la configurazione del burattinaio e dell'agente sono state completate. E per questo passaggio creeremo un semplice manifest per il test.
Creeremo il manifest per l'installazione del server Web Apache httpd.
Sul server del puppet master, vai alla directory '/etc/puppetlabs/code/' e crea il nuovo file manifest 'site.pp' usando vim.
cd /etc/puppetlabs/code/
cd environments/production/manifests
Crea un nuovo file manifest.
vim site.pp
Incolla la seguente configurazione.
node 'agent.hakase.io' {
package { 'httpd':
ensure => "installed",
}
service { 'httpd':
ensure => running,
enable => true
}
}
Salva ed esci.
Ora apri la shell del server dell'agente puppet ed esegui il comando seguente.
/opt/puppetlabs/bin/puppet agent --test
Il comando recupererà il nuovo file di configurazione manifest dal puppet master e quindi lo applicherà al server dell'agente.
Di seguito il risultato.
Apri il tuo browser web e digita l'indirizzo IP dell'agente pupazzo.
http://10.0.15.11/
E otterrai la pagina HTTP predefinita come di seguito.
Il server web httpd è stato installato utilizzando il manifest del pupazzo.
L'installazione e la configurazione di Puppet Master e Puppet Agent su CentOS 7 sono state completate con successo.