Ricerca nel sito web

Installa e configura Puppet su Ubuntu 20.04


Puppet è un popolare strumento di gestione della configurazione che semplifica il processo di gestione dell'infrastruttura su larga scala. Consente di automatizzare la fornitura, la configurazione e la distribuzione di applicazioni e servizi su più server e ambienti.

Puppet può aiutarti a definire lo stato desiderato della tua infrastruttura come un codice noto come "manifesto". Il manifest specifica le risorse e le configurazioni che desideri che Puppet gestisca, ad esempio pacchetti, file, utenti e servizi. Puppet garantisce che lo stato effettivo delle risorse sui sistemi di destinazione corrisponda allo stato desiderato definito nel manifest.

Puppet offre funzionalità interessanti come linguaggio dichiarativo, astrazione delle risorse, idempotenza, architettura basata su agenti ed estensibilità. Questo tutorial fornisce una guida passo passo su come installare e configurare Puppet su Ubuntu 20.04.

Prerequisiti per installare Puppet su Ubuntu 20.04

Prima di installare Puppet su Ubuntu 20.04, devi assicurarti che il tuo sistema soddisfi i seguenti requisiti:

  1. Installato Ubuntu 20.04 sul sistema di destinazione

  2. Un account utente con privilegi sudo

  3. Una connessione Internet stabile per scaricare e installare i pacchetti richiesti

  4. Spazio su disco sufficiente per installare ed eseguire Puppet

Inoltre, potrebbe essere necessario configurare il firewall per consentire la comunicazione tra il server e l'agente Puppet e qualsiasi altra porta richiesta. Potrebbe anche essere necessario configurare il DNS o le voci del file host per risolvere il nome host del server Puppet.

Guida passo passo per installare Puppet su Ubuntu 20.04

Una volta soddisfatti i prerequisiti, puoi procedere con l'installazione di Puppet su Ubuntu 20.04 seguendo questi passaggi:

Passaggio 1: aggiorna l'indice dei pacchetti sul tuo sistemaAggiorna il pacchetto utilizzando il seguente comando:

sudo apt update

L'output di questo comando è simile al seguente:

Questo output indica che gli elenchi dei pacchetti sono aggiornati per la versione focale di Ubuntu (20.04) e che non sono attualmente disponibili nuovi aggiornamenti. L'output mostra anche le fonti di cui vengono controllati gli aggiornamenti, come i repository principali e di sicurezza.

Passaggio 2: installa il repository dei pupazzi e le dipendenzeInstalla il repository dei pupazzi necessario utilizzando il seguente comando:

sudo apt install curl ca-certificates gnupg2
curl https://apt.puppet.com/DEB-GPG-KEY-puppet | sudo apt-key add -
echo "deb http://apt.puppet.com $(lsb_release -sc) puppet7" | sudo tee /etc/apt/sources.list.d/puppet7.list
sudo apt update

Il primo comando installa tre pacchetti: curl, ca-certificates e gnupg2. Se questi pacchetti sono già installati, verrà visualizzato un messaggio che informa che sono già aggiornati. Il secondo comando aggiunge la chiave GPG del repository Puppet all'elenco delle chiavi attendibili del sistema.

Il terzo comando aggiunge il repository Puppet all'elenco delle fonti software del sistema. In questo caso, aggiunge un sorgente per la versione 7 di Puppet e utilizza l'output del comando "lsb_release –sc" per determinare il nome in codice della versione di Ubuntu attualmente in esecuzione sul sistema.

Infine, il quarto comando aggiorna gli elenchi dei pacchetti per il sistema incluso il repository Puppet appena aggiunto. L'output mostra quali repository sono aggiornati e indica che è possibile aggiornare 24 pacchetti.

Passaggio 3: installa il server Puppet e i pacchetti agenteProcedi con l'installazione del server Puppet e dei pacchetti agente utilizzando questo comando:

sudo apt install puppetserver puppet-agent

Passaggio 4: abilita il server Puppet e i pacchetti agenteAbilita il server Puppet e i pacchetti agente utilizzando questi comandi:

sudo systemctl start puppetserver
sudo systemctl enable puppetserver
sudo systemctl start Puppet
sudo systemctl enable Puppet

Passaggio 5: configura l'agente PuppetConfigura l'agente Puppet per comunicare con il server Puppet. Modifica il file /etc/puppetlabs/puppet/puppet.conf e imposta il parametro del server sul nome host del tuo server Puppet.

Passaggio 6: testare la comunicazioneTestare la comunicazione tra il server Puppet e l'agente utilizzando il seguente comando:

sudo /opt/puppetlabs/bin/puppet agent –test

L'output di esempio è simile al seguente:

Questo output mostra l'agente Puppet che esegue un'esecuzione di test e applica la versione di configurazione corrente. Innanzitutto crea una nuova richiesta di certificato SSL, quindi recupera le informazioni sul plug-in, memorizza nella cache i certificati, recupera un catalogo di risorse da applicare e infine applica la configurazione.

Creazione e gestione dei moduli pupazzo

I moduli pupazzo sono raccolte riutilizzabili di codice che contengono risorse e configurazioni per gestire un aspetto specifico dell'infrastruttura come l'installazione di un pacchetto o la configurazione di un servizio. Per creare e gestire i moduli Puppet, puoi seguire questi passaggi:

Passaggio 1: crea una struttura di directory del moduloPuoi ottenere questo risultato utilizzando il seguente codice:

sudo mkdir -p /etc/puppetlabs/code/environments/production/modules/mymodule/{manifests,files,templates}

Passaggio 2: crea un file manifestCrea un file manifest utilizzando il seguente comando:

sudo nano /etc/puppetlabs/code/environments/production/modules/mymodule/manifests/init.pp

Una volta terminato, aggiungi le risorse e le configurazioni desiderate come:

class mymodule {
  package { 'nginx':
    ensure => 'installed',
  }
  service { 'nginx':
    ensure => 'running',
    enable => true,
  }
}

Un output di esempio è simile a quello che abbiamo nella figura seguente:

Questo output indica che l'agente Puppet ha applicato con successo la configurazione mymodule e installato e avviato il servizio Nginx. I messaggi di avviso mostrano che Puppet ha compilato il catalogo delle risorse e quindi ha creato una risorsa Pacchetto per installare Nginx, seguita da una risorsa di servizio per garantire che Nginx sia in esecuzione e abilitato.

Passaggio 3: applica il modulo al sistema di destinazioneProcedi con l'applicazione del modulo al sistema di destinazione come mostrato di seguito:

sudo /opt/puppetlabs/bin/puppet apply -e 'include mymodule'

L'output del comando è simile al seguente esempio:

Puoi anche scaricare e utilizzare i moduli esistenti da Puppet Forge, un archivio di moduli forniti dalla comunità.

Conclusione

Puppet è uno strumento di gestione della configurazione potente e flessibile che ti consente di automatizzare e gestire l'infrastruttura su larga scala. Con Puppet, puoi definire lo stato desiderato della tua infrastruttura utilizzando il linguaggio Puppet e applicare le modifiche in modo coerente su più nodi e ambienti.

Articoli correlati: