In questo tutorial impareremo i passaggi per installare Puppet Server su distribuzioni AlmaLinux o Rocky Linux 8 usando il terminale di comando.
Puppet è un progetto open source con supporto aziendale, consente agli amministratori di automatizzare la configurazione di un singolo server o computer su una vasta rete di sistemi; Ansible e Foreman sono alcune delle sue alternative.
Quando gli sviluppatori e gli amministratori devono configurare più server contemporaneamente con configurazioni simili, invece di ripetere le stesse attività su ciascun sistema uno per uno, utilizzano gestori di configurazione speciali come Puppet. Idealmente, molte attività possono essere automatizzate utilizzando Puppet's Domain-Specific Language (DSL) — Puppet code — che puoi utilizzare con un'ampia gamma di dispositivi e sistemi operativi. È stato sviluppato nel 2005 da Puppet Labs, Portland, Oregon; scritto in Ruby e progettato per essere multipiattaforma. Qualsiasi sistema operativo aziendale con termini di accesso può essere utilizzato per ospitare server Puppet come OracleLinux, RedHat, SuSE, Ubuntu, Debian AlmaLinux e Rocky Linux. I sistemi che eseguono Windows possono anche essere configurati e gestiti con Puppet, con alcune limitazioni.
Utilizza il principio client-server
Come la maggior parte degli strumenti utilizzati per il monitoraggio e la gestione di sistemi remoti, anche Puppet utilizza l'architettura Client-Server. La parte del server è nota come "PuppetMaster ” che mantiene tutte le configurazioni dei computer attive nella rete. Consente agli amministratori di gestire centralmente tutti i computer connessi a una rete con l'aiuto di agenti . Sì, l'agente è la parte client, nota come PuppetAgent installato su tutti i sistemi che devono essere configurati. Dà un contributo significativo al comfort dell'architettura Puppet. Viene eseguito dal master su tutti i sistemi da configurare. Le impostazioni di configurazione memorizzate nel catalogo come stato di destinazione fungono da base. La comunicazione tra agent e master avviene tramite HTTPS. I certificati su entrambi i lati servono a proteggere i processi di comunicazione bidirezionale.
Quando si parla di edizioni, oltre all'open source, offre anche Puppet Enterprise (PE). È la versione commerciale di Puppet costruita sulla piattaforma open source Puppet. Entrambi i prodotti consentono di gestire la configurazione di migliaia di nodi. Open source Puppet lo fa con la gestione dello stato desiderata. Il PE fornisce un approccio imperativo, oltre che dichiarativo, all'automazione dell'infrastruttura. Quindi, secondo la dichiarazione ufficiale degli sviluppatori, se una persona ha un'infrastruttura complessa o grande gestita e gestita da più team, dovrebbe scegliere la versione Enterprise del pupazzo a causa dell'interfaccia utente grafica, della distribuzione del codice point-and-click strategie, test continui e integrazione e capacità di prevedere l'impatto delle modifiche al codice prima dell'implementazione.
Passaggi per installare il server e il client Puppet su Rocky Linux | AlmaLinux 8
1. Requisiti
• Processore minimo a 2 core con almeno 1 GB di RAM o 4 core con almeno 4 GB di RAM per servire almeno 1.000 nodi.
• Un nuovo Linux basato su RedHat come Oracle, Rocky o AlmaLinux
• Almeno accesso utente sudo non root
• Accesso al terminale
• Connessione Internet
2. Esegui il comando di aggiornamento Dnf
Innanzitutto, esegui il comando di aggiornamento e aggiornamento del sistema per assicurarti che tutto sia allo stato più recente sul tuo sistema Linux.
sudo dnf update && upgrade
Inoltre, installa alcuni strumenti necessari durante l'installazione:
sudo dnf install wget curl nano
Abilita repository EPEL e PowerTools:
sudo dnf install epel-release
sudo dnf config-manager --set-enabled powertools
sudo dnf update
3. Imposta FQDN come nome host di sistema
L'FQDN che si desidera utilizzare per accedere a Puppet, impostare come nome host del server utilizzando il comando riportato di seguito:
sudo hostnamectl set-hostname puppetmaster.how2shout.com
Nota :Sostituisci puppetmaster.how2shout.com con qualsiasi cosa tu voglia impostare e aggiungi anche lo stesso in /etc/hosts
il file insieme all'indirizzo IP del tuo server Puppet.
sudo nano /etc/hosts/
Aggiungi il nome host insieme all'indirizzo IP del server, ad esempio
192.168.1.45 puppetmaster.how2shout.com puppetmaster puppetserver
192.168.1.45 è l'indirizzo IP del server dove il puppetmaster.how2shout.com FDQN per puppet insieme ad alcuni nomi alternativi che abbiamo assegnato all'IP.
Riavvia il server:
sudo reboot
4. Aggiungi il repository Puppet su Rocky o Almalinux 8
Gli ultimi pacchetti possono essere facilmente scaricati aggiungendo il repository Yum ufficiale di Puppet su Rocky Linux e AlmaLinux. Per questo segui semplicemente i comandi forniti:
sudo dnf -y install https://yum.puppet.com/puppet-release-el-8.noarch.rpm
sudo dnf update -y
5. Installa Burattinaio Almalinux 8 | Server Rocky Linux 8
Una volta aggiunto il repository, è abbastanza facile installare Puppet Master sul nostro server utilizzando il gestore di pacchetti DNF predefinito.
sudo dnf install puppetserver -y
6. Configura il server Puppet Master
A partire da ora hai già la parte server del Puppet installata correttamente sul tuo sistema. Quindi, modifichiamo il suo file di configurazione per eseguire alcune modifiche.
sudo nano /etc/puppetlabs/puppet/puppet.conf
Aggiungi FQDN che hai impostato sul server, ad esempio nel file di configurazione,”
dns_alt_names=puppetmaster.how2shout.com,puppetmaster,puppetserver,puppet
Considerando che aggiungi anche le seguenti righe per informarlo sul certificato e sul nome del server:
[main] certname = puppetmaster.how2shout.com server = puppetmaster.hwo2shout.com environment = production runinterval = 1h
Salva il file utilizzando CTRL+O , premi Invio tasto, quindi esci dal file utilizzando Ctrl+X .
Per saperne di più sulla configurazione delle impostazioni dei pupazzi file è possibile visitare i seguenti collegamenti:
# – https://puppet.com/docs/puppet/latest/config_important_settings.html
# – https://puppet.com/docs/puppet/latest/config_about_settings.html
# – https://puppet.com/docs/puppet/latest/config_file_main.html
# – https://puppet.com/docs/puppet/latest/configuration.html
7. Allocazione memoria JVM (opzionale)
Per impostazione predefinita, la memoria JAVA allocata al server Puppet Master è 2 GB, tuttavia, se il tuo sistema non consente l'allocazione di così tanta memoria o se vuoi consentirne di più, possiamo farlo modificando il file di configurazione del server Puppet:
sudo nano /etc/sysconfig/puppetserver
Nel file, trova due argomenti:Xms2g -Xmx2g e cambia da 2 g a 1 g (significa 1 GB) o 4 g (per 4 GB). Dopodiché salva il file:usando Ctrl+X , premi Y e premi Invio chiave.
8. Consenti servizio Puppet nel firewall
Apri il servizio Puppet nel firewall del tuo sistema per assicurarti che possa comunicare facilmente in rete con gli agenti.
sudo firewall-cmd --add-service=puppetmaster --permanent
sudo firewall-cmd --reload
9. Avvia il server dei pupazzi su Rocky | AlmaLinux 8
Bene, abbiamo completato tutte le impostazioni necessarie per iniziare con il server. Per impostazione predefinita, i servizi Puppet master non saranno in esecuzione, avviamo e abilitiamo lo stesso.
sudo systemctl start puppetserver sudo systemctl enable puppetserver
Per verificare lo stato del servizio utilizzare:
sudo systemctl status puppetserver
Per riavviare puoi utilizzare:
sudo systemctl restart puppetserver
10. Aggiungi Puppet al tuo percorso di sistema
Per utilizzare la riga di comando di questo strumento indipendentemente dalla directory in cui ti trovi:
echo 'export PATH=$PATH:/opt/puppetlabs/bin' | tee -a ~/.bashrc
Ricarica bash:
source ~/.bashrc
Per confermare puoi usare:
puppet --version
Passa a root:
sudo su -
Rilascia certificati
puppetserver ca setup
Per elencare:
puppetserver ca list --all
Confermiamo che il server funziona correttamente utilizzandolo con un client Puppet installato localmente.
puppent agent -t
o
puppet agent --test --ca_server=puppetmaster.how2shout.com
Per elencare tutti i certificati disponibili su Puppet Master Node.
puppetserver ca list --all
Puoi firmare tutti i certificati in sospeso eseguendo il comando:
puppetserver ca sign --all
In questo modo possiamo installare sia master che agent su Rocky Linux o Almalinux. Se desideri un agente in remoto o un server nella rete, segui i passaggi successivi.
——————————————————————————————————
11. Imposta l'agente puppet su un sistema o un nodo remoto
Ora, se vuoi installare l'agente Puppet su qualche server Linux o Windows remoto, possiamo farlo facilmente.
#Per i sistemi RPM come Redhat, CentOS, Rocky, Oracle Linux, Almalinux... usa i seguenti comandi:
sudo dnf -y install https://yum.puppet.com/puppet-release-el-8.noarch.rpm
sudo dnf update
#Per i sistemi Ubuntu e Debian:
Visita https://apt.puppet.com e copia il link del pacchetto repo come per il tuo sistema Debian.
Ad esempio-
Ubuntu 20.04
wget https://apt.puppet.com/puppet7-release-focal.deb
Per Debian Bullseye:
wget https://apt.puppet.com/puppet7-release-bullseye.deb
Per installare
sudo dpkg -i puppet7-release-focal.deb
Esegui aggiornamento di sistema:
sudo apt update
Installa l'agente dei pupazzi
sudo apt install puppet-agent
Avvia servizio:
sudo systemctl enable --now puppet
12. Configura l'agente pupazzo
Modifica file agente:
sudo nano /etc/puppetlabs/puppet/puppet.conf
Aggiungi :
[main] ssldir = /var/lib/puppet/ssl vardir = /var/lib/puppet cadir = /var/lib/puppet/ssl/ca dns_alt_names = puppet [agent] server=puppetmaster-ipadress ca_server=puppetmaster-ipadress
Salva il file.
Ora, modifica l'host e definisci il DNS per il burattinaio
sudo nano /etc/hosts
esempio, nel modo seguente:
192.168.1.45 puppet-master-server fqdn 192.168.1.16 your-node-01-hostname
Allo stesso modo, modifica il file PuppetMaster /etc/hosts e definisci l'indirizzo IP e i nomi host dei nodi
sudo nano /etc/hosts
192.168.1.16 your-node-01-hostname
Per richiedere il certificato CA al momento dell'esecuzione:
sudo su - puppet agent -t