Questa è la seconda parte del tutorial di Foreman. Nella prima guida ti abbiamo già mostrato l'installazione e la configurazione di Foreman su Ubuntu Server 18.04 LTS e ora ti mostrerò come aggiungere Puppet Agent a Foremen.
Prerequisiti
- Maestro burattinaio caposquadra
- Privilegi di root
Cosa faremo?
- Imposta host
- Installa e configura Puppet Agent
- Firma certificati sul burattinaio caposquadra
- Test
Passaggio 1:configurazione degli host
Prima di tutto, dobbiamo configurare l'FQDN (Fully Qualified Domain Name) dei server degli agent puppet.
Cambia il nome host del server usando il comando hostnamectl di seguito.
hostnamectl set-hostname client.hakase-labs.io
Successivamente, modifica il file '/etc/hosts'.
vim /etc/hosts
Modifica l'indirizzo IP e l'FQDN con il tuo e incollalo.
10.9.9.20 server.hakase-labs.io server
10.9.9.21 client.hakase-labs.io client
Salva e chiudi.
Ora prova l'host usando il comando seguente e assicurati di ottenere che l'FQDN del server sia risolto nel tuo indirizzo IP valido.
ping $(hostname -f) -c 3
Passaggio 2:installazione e configurazione di Puppet Agent
In questo passaggio, installeremo Puppet Agent 5 sui server Ubuntu 18.04 e CentOS 7. Vogliamo aggiungere il repository Puppet al sistema, quindi installare i pacchetti dell'agente puppet su entrambi i server Ubuntu e CentOS.
- Installa Puppet Agent sul server Ubuntu 18.04
Scarica il repository del pacchetto e aggiungilo al sistema.
cd /tmp && wget https://apt.puppetlabs.com/puppet5-release-bionic.deb
sudo dpkg -i puppet5-release-bionic.deb
Successivamente, aggiorna i repository Ubuntu e installa i pacchetti dell'agente puppet utilizzando i seguenti comandi apt.
sudo apt update
sudo apt install -y puppet-agent
- Installa Puppet Agent sul server CentOS 7
Scarica il repository del pacchetto e aggiungilo al sistema.
cd /tmp && wget https://yum.puppet.com/puppet5/puppet5-release-el-7.noarch.rpm
rpm -ivh puppet5-release-el-7.noarch.rpm
Successivamente, installa i pacchetti dell'agente puppet utilizzando il comando seguente.
sudo yum install -y puppet-agent
Al termine dell'installazione, è necessario modificare la configurazione predefinita del pupazzo e definire le impostazioni dell'agente.
Vai alla directory '/etc/puppetlabs/puppet' e modifica il file di configurazione 'puppet.conf'.
cd /etc/puppetlabs/puppet/
vim puppet.conf
Modifica il nome di dominio completo del server e il nome del certificato con il tuo e incollalo.
[agent]
server = server.hakase-labs.io
certname = client.hakase-labs.io
runinterval = 180
environment = production
listen = false
pluginsync = true
report = true
Salva ed esci.
Successivamente, esegui il servizio dell'agente pupazzo utilizzando il comando seguente.
sudo /opt/puppetlabs/bin/puppet resource service puppet ensure=running enable=true
Oppure, se necessario, riavvia il servizio.
sudo systemctl restart puppet
L'agente pupazzo è attivo e funzionante su entrambi i server Ubuntu e CentOS.
Fase 3:firma le richieste di certificati degli agenti burattinai
Per firmare le richieste di certificato degli agenti pupazzo, possiamo utilizzare la shell del terminale del server master puppet (in questo caso è il server foreman stesso) o utilizzare il dashboard foreman.
- Firma richieste di certificati utilizzando Terminal Shell
Accedi al server del puppet master (in questa guida c'è il server foreman) e verifica la richiesta del certificato utilizzando il comando seguente.
sudo /opt/puppetlabs/bin/puppetserver ca list
Ora vedrai il certificato del nome del client, firma con il comando seguente.
sudo /opt/puppetlabs/bin/puppetserver ca sign --certname client.hakase-labs.io
E il certificato dell'agente fantoccio è stato aggiunto al burattinaio tramite il server terminal.
- Firma richieste di certificati utilizzando Foreman Dashboard
Fai clic su "Infrastruttura ' a sinistra, quindi scegli 'Proxy intelligenti '.
Ora seleziona "Certificati ' opzioni dal pulsante a discesa del server foreman.
Ora otterrai il nome del cliente che effettua le richieste nello stato "in attesa", fai clic su "Firma pulsante '.
Successivamente, verifica gli host dell'agente andando alla pagina "Host".
All'interno degli 'Host ', fai clic su 'Tutti gli host ' e assicurati di ottenere il nome dell'agente fantoccio nell'elenco dei server come di seguito.
Di seguito i dettagli su Ubuntu Puppet Agent.
Fase 4 - Test
In questo tutorial, testeremo il server del caposquadra dei pupazzi e l'agente dei pupazzi per la distribuzione dei servizi nginx e NTP all'host dell'agente dei pupazzi. Prima di iniziare, dobbiamo scaricare i moduli puppet nginx e ntp sul server foreman, quindi attivare questi moduli e aggiungerli all'agente puppet.
- Scarica il modulo Nginx Puppet
Scarica il modulo puppet nginx eseguendo il comando seguente sul server caposquadra burattinaio.
sudo /opt/puppetlabs/bin/puppet module install puppet/nginx
- Attiva i moduli burattino
Successivamente, importa il modulo nginx tramite la dashboard di caposquadra.
Fai clic su "Configura ' a sinistra e fai clic su Puppet 'Classi '.
Fai clic su "Importa ambiente da server.hakase-labs.io ', seleziona le classi di moduli disponibili e fai clic su 'Aggiorna '.
Ora otterrai il modulo Nginx nell'elenco.
- Aggiungi modulo pupazzo all'host agente
Fai clic su "Host ' menu a sinistra, fai clic su 'Tutti gli host ' per ottenere elenchi di host disponibili.
Ora fai clic su "Modifica ' sull'host dell'agente denominato 'client.hakase-labs.io'.
Vai a "Classi di marionette ', aggiungi il modulo 'nginx' e 'ntp' e fai clic su 'Invia pulsante '.
I moduli Nginx e NTP sono stati aggiunti all'host dell'agente.
Aggiuntivo :
Se desideri verificare le classi attive sugli host, fai clic su 'YAML ' sulle informazioni dettagliate sull'host e ti verrà mostrata l'origine grezza della configurazione YAML.
- Applica e verifica
Se desideri applicare le modifiche manualmente, puoi eseguire il seguente comando sugli host dell'agente pupazzo.
sudo /opt/puppetlabs/bin/puppet agent --test
Al termine, visualizzerai il risultato come di seguito.
Successivamente, verifica il servizio nginx e ntp controllando la porta elencata per assicurarti che le porte HTTP e NTP siano utilizzate dai servizi nginx e ntp.
netstat -plntu
Ora puoi accedere al server web nginx sul nodo agente.
curl client.hakase-labs.io
Per verificare la configurazione del server ntp, eseguire il comando seguente.
cat /etc/ntp.conf
E ti verrà mostrata la configurazione ntp gestita da Puppet.
Link
- https://theforeman.org/manuals/