In questo tutorial, ti mostreremo come installare Puppet su RHEL 8/CentOS 8.
Introduzione
burattino è uno strumento di gestione della configurazione software che include un proprio linguaggio dichiarativo per descrivere la configurazione del sistema. È una soluzione basata su modello che richiede conoscenze di programmazione limitate da utilizzare.
Puppet è disponibile per i sistemi operativi Linux, Mac, BSD, Solaris e Windows. È scritto in lingua "Ruby" e rilasciato sotto licenza Apache.
Installazione del puppet-server
Segui i passaggi seguenti per iniziare
- Aggiungi repository di pupazzi
rpm -Uvh https://yum.puppet.com/puppet6-release-el-8.noarch.rpm
- Installa il server dei pupazzi
dnf install -y puppetserver
- Modifica il valore di allocazione della memoria in base al numero di nodi ad esso collegati. ad esempio assegnerò 512 MB di memoria.
- Modifica il file di configurazione di puppetserver come segue:
vim /etc/sysconfig/puppetserver
Modifica il valore.
Da:
JAVA_ARGS="-Xms2g -Xmx2g -Djruby.logger.class=com.puppetlabs.jruby_utils.jruby.Slf4jLogger"
A:
JAVA_ARGS="-Xms512m -Xmx512m -Djruby.logger.class=com.puppetlabs.jruby_utils.jruby.Slf4jLogger"
- Configura il server dei pupazzi
Il file di configurazione di Puppet è composto da due sezioni denominate [master] e [main] per il server e l'agente Pupper.
vim /etc/puppetlabs/puppet/puppet.conf
- Modifica il file in base al tuo ambiente. Gli agenti pupazzi possono utilizzare qualsiasi nome host menzionato in dns_alt_names per connettersi al server Puppet.
# Pupper Server Configuration
[master]
dns_alt_names = puppetserver,puppetserver.unixcop.com
# Puppet Agent Configuration
[main]
certname = puppetserver.unixcop.com
server = puppetserver.unixcop.com
runinterval = 30m
Dall'alto, il server è puppetserver.unixcop.com e certname è il nome host del mio client (client.unixcop.com).
- Genera la CA radice e firma per Puppet Server.
puppetserver ca setup
Output:
Generation succeeded. Find your files in /etc/puppetlabs/puppet/ssl/ca
NOTA :Se ottieni puppetserver:comando non trovato, esegui source /etc/profile.d/puppet-agent.sh nel terminale o disconnettersi dalla sessione corrente e riconnettersi.
- Avvia e abilita il server dei pupazzi.
systemctl start puppetserver
systemctl enable puppetserver
- Configura il firewall per consentire agli agenti di connettersi al puppet master. poiché la porta di ascolto del server dei pupazzi è 8140
firewall-cmd --permanent --add-port=8140/tcp
firewall-cmd --reload
Installa agente pupazzo
Segui i passaggi seguenti per iniziare
- Aggiungi il repository dei pupazzi su tutti i nodi.
rpm -Uvh https://yum.puppet.com/puppet6-release-el-8.noarch.rpm
- Installa l'agente pupazzo sul tuo client utilizzando il comando seguente.COPIA
dnf install -y puppet-agent
- Modifica il file di configurazione del pupazzo e imposta le informazioni sul server dei pupazzi.
vim /etc/puppetlabs/puppet/puppet.conf
Imposta come di seguito.
[main]
server = puppetserver.unixcop.com
certname = client.unixcop.com
runinterval = 20m
- Avvia l'agente puppet sul nodo e fallo partire automaticamente all'avvio del sistema.
puppet resource service puppet ensure=running enable=true
Output:
Notice: /Service[puppet]/ensure: ensure changed 'stopped' to 'running'
service { 'puppet':
ensure => 'running',
enable => 'true',
provider => 'systemd',
}
NOTA :Se ricevi puppet:comando non trovato, esegui source /etc/profile.d/puppet-agent.sh nel terminale o disconnettersi dalla sessione corrente e riconnettersi.
- I nodi agente richiederanno i certificati per la prima volta se tentano di essere eseguiti.
- Esegui il comando seguente sul nodo dell'agente per effettuare una connessione iniziale.
puppet agent -t
- Accedi al server Pupper ed esegui puppetserver ca list comando per visualizzare le richieste in sospeso.
puppetserver ca list
- Esegui il comando puppet cert sign per firmare una richiesta.
puppetserver ca sign --certname client.unixcop.com
Output:
Successfully signed certificate request for client.unixcop.com
Il server Puppet può ora comunicare con la macchina client e controllare il nodo.
- Se hai più richieste di firma dai nodi, puoi firmare tutte le richieste in un comando.
puppetserver ca sign --all
- Elenca tutte le richieste firmate e non firmate.
puppetserver ca list --all
- Esegui il seguente comando sulla macchina client per testare il server
puppet agent --test
Output:
Info: Using configured environment 'production'
Info: Retrieving pluginfacts
Info: Retrieving plugin
Info: Retrieving locales
Info: Caching catalog for client.unixcop.com
Info: Applying configuration version '3599283484'
Notice: Applied catalog in 0.03 seconds
Conclusione
Questo è tutto.
In questa guida abbiamo illustrato come installare Puppet su CentOS 8 / RHEL 8.
Grazie