Ciao a tutti, benvenuti nel nostro articolo di oggi su Foreman per gestire i vostri Puppet Nodes su Ubuntu 16. Foreman è uno strumento open source che aiuta gli amministratori di sistema a gestire i server durante tutto il loro ciclo di vita, dal provisioning e configurazione all'orchestrazione e al monitoraggio. Puoi automatizzare facilmente le attività ripetitive, distribuire rapidamente le applicazioni e gestire in modo proattivo le modifiche, sia in sede con VM che bare-metal o nel cloud, utilizzando l'architettura proxy intelligente di Puppet, Chef, Salt, Ansible e Foreman. Foreman fornisce funzionalità di interazione complete, tra cui un frontend Web, CLI e API RESTful che consentono di creare una logica aziendale di livello superiore su solide fondamenta.
Utilizzando Foreman puoi scoprire, eseguire il provisioning e aggiornare l'intera infrastruttura bare-metal, creare e gestire istanze su cloud pubblici e privati. Puoi utilizzarlo in un gruppo dei tuoi host e gestirli in blocco, indipendentemente dalla posizione, quindi rivedere le modifiche storiche per il controllo o la risoluzione dei problemi.
Prerequisiti
Ci sono alcuni requisiti di base che devono essere assicurati prima di passare all'installazione di Foreman. La prima cosa è creare una nuova VM su cui hai i privilegi di root, configurare il suo FQDN e il nome host che può essere impostato usando i comandi seguenti.
# hostnamectl set-hostname ksh-u16
Quindi modifica il file "hosts" con il tuo FQDN prima del nome host .
# vi /ete/hosts
127.0.0.1 ksh-u16.domain.com ksh-u16
Salva e chiudi il file ed esegui il comando seguente per verificare se il tuo FQDN è stato configurato.
# hostname -f
Vedrai il tuo FQDN nell'output. Ora aggiorna il tuo sistema con gli ultimi aggiornamenti e le patch di sicurezza usando emettendo il seguente comando nel tuo terminale della riga di comando.
# apt-get update
# apt-get upgrade
Seleziona il tasto 'Y' per confermare e per avviare gli aggiornamenti del sistema. Una volta che tutti gli aggiornamenti sono stati completati, possiamo passare all'installazione di Foreman.
Installazione di Foreman su Ubuntu 16
Ora installeremo Foreman utilizzando il suo programma di installazione, che includerà tutti i componenti necessari per eseguire Foreman, ovvero il master e l'agente dei burattini, il server Web Apache con SSL e il modulo Passenger.
Per prima cosa consentiremo al repository di utilizzare Puppet 4.x con Puppet Agent e Puppet Server utilizzando i comandi seguenti.
# apt-get -y install ca-certificates
# wget https://apt.puppetlabs.com/puppetlabs-release-pc1-xenial.deb
# dpkg -i puppetlabs-release-pc1-xenial.deb
Quindi usa i comandi seguenti per abilitare il repository Foreman.
echo "deb http://deb.theforeman.org/ xenial 1.14" > /etc/apt/sources.list.d/foreman.list
echo "deb http://deb.theforeman.org/ plugins 1.14" >> /etc/apt/sources.list.d/foreman.list
apt-get -y install ca-certificates
wget -q https://deb.theforeman.org/pubkey.gpg -O- | apt-key add -
Scarica il programma di installazione di Forman utilizzando il comando seguente.
# apt-get update && apt-get -y install foreman-installer
Ora eseguiremo il programma di installazione di foreman ma prima di eseguire il programma di installazione, assicurati che ping $(hostname -f) mostra l'indirizzo IP reale, non 127.0.1.1. Modifica o rimuovi questa voce da /etc/hosts se presente.
L'esecuzione dell'installazione non è interattiva, ma la configurazione può essere personalizzata fornendo una qualsiasi delle opzioni elencate in foreman-installer --help o eseguendo foreman-installer -i per la modalità interattiva. L'aggiunta di -v disabiliterà la barra di avanzamento e visualizzerà tutte le modifiche.
Per eseguire il programma di installazione, esegui il comando seguente.
# foreman-installer
Installing Done [100%] [...........................................................................]
Success!
* Foreman is running at https://ksh-u16.domain.com
Initial credentials are admin / cwGbVjM2zGP5aDwm
* Foreman Proxy is running at https://ksh-u16.domain.com:8443
* Puppetmaster is running at port 8140
The full log is at /var/log/foreman-installer/foreman.log
Dopo il completamento, il programma di installazione stamperà alcuni dettagli come mostrato sopra dove troverai i dettagli di Foreman, Smart Proxy e Puppet master.
Interfaccia Web del caposquadra
Apriamo il tuo browser preferito insieme all'URL web Foreman menzionato sopra e accediamo con le credenziali fornite come mostrato.
https://ksh-u16.domain.com
Gestione dei burattini
Dopo una corretta installazione, il programma di installazione di Foreman avrà impostato un burattinaio sull'host, completamente integrato con Foreman. Per prima cosa esegui l'agente Puppet sull'host Foreman che invierà il primo rapporto Puppet a Foreman, creando automaticamente l'host nel database di Foreman.
# puppet agent --test
Info: Using configured environment 'production'
Info: Retrieving pluginfacts
Info: Retrieving plugin
Info: Caching catalog for ksh-u16.centricait.com
Info: Applying configuration version '1485372953'
Notice: Applied catalog in 0.23 seconds
Ora in Foreman Web Interface, fai clic su Host scheda e il tuo host Foreman dovrebbe essere visibile nell'elenco con uno stato "OK". Ciò indica che lo stato è OK, senza modifiche apportate all'ultima esecuzione del pupazzo.
Download di un modulo Puppet
Successivamente, installeremo un modulo Puppet per la gestione del servizio NTP da Puppet Forge al nostro ambiente di "produzione" predefinito utilizzando il comando seguente.
# puppet module install puppetlabs/ntp
Notice: Preparing to install into /etc/puppetlabs/code/environments/production/modules ...
Notice: Downloading from https://forgeapi.puppet.com ...
Notice: Installing -- do not interrupt ...
/etc/puppetlabs/code/environments/production/modules
└─┬ puppetlabs-ntp (v6.0.0)
└── puppetlabs-stdlib (v4.15.0)
In Foreman, vai su Configura> Classi e fai clic su Importa da nome host (in alto a destra) per leggere le classi di burattini disponibili dal burattinaio e popolare il database di Foreman. La classe "ntp" apparirà nell'elenco delle classi Puppet se installata correttamente come mostrato di seguito.
Qui è necessario controllare l'icona e fare clic sul pulsante "aggiorna". Il modulo ntp è ora importato in Foreman e pronto per essere utilizzato con un host.
Utilizzo del modulo pupazzi
Fai clic sulla classe "ntp" nell'elenco, passa ai Parametri Smart Class scheda e selezionare il parametro server sul lato sinistro. Seleziona la casella di controllo Sostituisci in modo che Foreman gestisca i "server" parametro della classe e modificare il valore predefinito se lo si desidera, prima di inviare la pagina.
Ora torna alla scheda Host e fai clic su Modifica sull'host Foreman. Nella scheda Puppet Classes, espandi il modulo ntp e fai clic sull'icona + per aggiungere la classe ntp all'host, quindi salva l'host.
Per visualizzare le configurazioni dei pupazzi, facendo clic sul pulsante YAML quando si torna alla pagina host, verranno mostrati la classe ntp e il parametro server, come passati a Puppet tramite l'interfaccia ENC (classificatore di nodi esterni). Esegui nuovamente 'puppet agent --test' sull'host Foreman per vedere il servizio NTP riconfigurato automaticamente da Puppet e dal modulo NTP.
Dopo aver fatto clic su YAML, ottieni il seguente output sulla tua pagina web.
---
classes:
ntp:
authprov: ''
broadcastclient: ''
config: ''
config_dir: ''
config_epp: ''
config_file_mode: ''
config_template: ''
tos_minsane: ''
udlc: ''
udlc_stratum: ''
parameters:
puppetmaster: ksh-u16.domain.com
domainname: domain.com
root_pw:
puppet_ca: ksh-u16.domain.com
foreman_env: production
owner_name: Admin User
owner_email: [email protected]
foreman_subnets: []
foreman_config_groups: []
environment: production
Aggiunta di altri host gestiti da pupazzi
Altri host con agenti Puppet installati possono utilizzare questo master puppet impostando server =ksh-u16.domain.com in puppet.conf. Firma i loro certificati in Foreman andando su Infrastrutture> Proxy intelligenti> Certificati o utilizzando i comandi seguenti sul burattinaio.
# puppet cert list
# puppet cert sign
Le classi di pupazzi possono essere aggiunte ai gruppi host in Foreman invece che ai singoli host, consentendo una configurazione standard di molti host contemporaneamente. I gruppi host vengono in genere utilizzati per rappresentare i ruoli del server.
Conclusione
In questo articolo abbiamo appreso dell'installazione di Foreman e dell'uso e della gestione dei nodi pupazzo su Ubuntu 16. Foreman può essere un'unica fonte di informazioni per la configurazione e aiutarti a creare e fornire sistemi più velocemente in modo che quando un nuovo membro del team si unisce al tuo squadra è sufficiente premere un pulsante ed eseguire automaticamente il provisioning della sua nuova macchina. Con Foreman è possibile impostare nuovi ambienti di test con ogni singola implementazione eseguita aiutandoti a testare le diverse caratteristiche delle funzionalità in modo molto semplice e tenendo traccia dell'evoluzione dell'ambiente insieme a quella del codice. In questo modo devi fare il minimo sforzo per configurare il tuo nuovo ambiente di test o produzione. Spero che questo articolo ti sia di grande aiuto, grazie per aver letto.