Puppet - Configurazione

Dopo aver installato Puppet sul sistema, il passaggio successivo è configurarlo per eseguire determinate operazioni iniziali.

Apri porte firewall sui computer

Per fare in modo che il server Puppet gestisca centralmente il server del client, è necessario aprire una porta specificata su tutte le macchine, ad es 8140può essere utilizzato se non è in uso in nessuna delle macchine che stiamo cercando di configurare. Dobbiamo abilitare sia la comunicazione TCP che UDP su tutte le macchine.

File di configurazione

Il file di configurazione principale per Puppet è etc/puppet/puppet.conf. Tutti i file di configurazione vengono creati in una configurazione basata su pacchetti di Puppet. La maggior parte della configurazione necessaria per configurare Puppet è conservata in questi file e, una volta eseguita l'esecuzione di Puppet, raccoglie automaticamente tali configurazioni. Tuttavia, per alcune attività specifiche come la configurazione di un server Web o un'autorità di certificazione (CA) esterna, Puppet ha una configurazione separata per file e impostazioni.

I file di configurazione del server si trovano in conf.ddirectory nota anche come Puppet master. Questi file si trovano per impostazione predefinita in/etc/puppetlabs/puppetserver/conf.dsentiero. Questi file di configurazione sono in formato HOCON, che mantiene la struttura di base di JSON ma è più leggibile. All'avvio di Puppet, vengono prelevati tutti i file .cong dalla directory conf.d e li utilizza per apportare eventuali modifiche alla configurazione. Qualsiasi modifica in questi file avviene solo al riavvio del server.

File di elenco e file di impostazioni

  • global.conf
  • webserver.conf
  • web-routes.conf
  • puppetserver.conf
  • auth.conf
  • master.conf (deprecato)
  • ca.conf (deprecato)

Ci sono diversi file di configurazione in Puppet che sono specifici per ogni componente in Puppet.

Puppet.conf

Il file Puppet.conf è il file di configurazione principale di Puppet. Puppet utilizza lo stesso file di configurazione per configurare tutti i comandi e servizi di Puppet richiesti. Tutte le impostazioni relative a Puppet, come la definizione di Puppet master, Puppet agent, Puppet apply e certificati, sono definite in questo file. Puppet può riferirli secondo il requisito.

Il file di configurazione assomiglia a un file ini standard in cui le impostazioni possono entrare nella sezione dell'applicazione specifica della sezione principale.

Sezione Main Config

[main] 
certname = Test1.vipin.com 
server = TestingSrv 
environment = production 
runinterval = 1h

File di configurazione di Puppet Master

[main] 
certname = puppetmaster.vipin.com 
server = MasterSrv 
environment = production 
runinterval = 1h 
strict_variables = true  
[master] 

dns_alt_names = MasterSrv,brcleprod01.vipin.com,puppet,puppet.test.com 
reports = puppetdb 
storeconfigs_backend = puppetdb 
storeconfigs = true 
environment_timeout = unlimited

Panoramica dei dettagli

Nella configurazione di Puppet, il file che verrà utilizzato ha più sezioni di configurazione in cui ogni sezione ha diversi tipi di numero multiplo di impostazioni.

Sezione Config

Il file di configurazione di Puppet consiste principalmente nelle seguenti sezioni di configurazione.

  • Main- Questa è nota come la sezione globale che viene utilizzata da tutti i comandi e servizi in Puppet. Uno definisce i valori predefiniti nella sezione principale che possono essere sovrascritti da qualsiasi sezione presente nel file puppet.conf.

  • Master - Questa sezione è indicata dal servizio Puppet master e dal comando Puppet cert.

  • Agent - Questa sezione è riferita dal servizio agente Puppet.

  • User - Viene utilizzato principalmente dal comando Puppet apply e da molti dei comandi meno comuni.

[main] 
certname = PuppetTestmaster1.example.com

Componenti chiave del file di configurazione

Di seguito sono riportati i componenti chiave del file Config.

Righe di commento

In Puppet, qualsiasi riga di commento inizia con (#) cartello. Questo può essere inteso con qualsiasi quantità di spazio. Possiamo anche avere un commento parziale all'interno della stessa riga.

# This is a comment. 
Testing = true #this is also a comment in same line

Impostazioni Linee

La riga delle impostazioni deve essere composta da:

  • Qualsiasi quantità di spazio iniziale (opzionale)
  • Nome delle impostazioni
  • Un segno uguale = a, che può essere circondato da un numero qualsiasi di spazio
  • Un valore per l'impostazione

Impostazione delle variabili

Nella maggior parte dei casi, il valore delle impostazioni sarà una singola parola, ma in alcuni casi speciali, ci sono pochi valori speciali.

Sentieri

Nelle impostazioni del file di configurazione, prendi un elenco di directory. Durante la definizione di queste directory, si dovrebbe tenere presente che dovrebbero essere separate dal carattere separatore del percorso di sistema, che è (:) nelle piattaforme * nix e punto e virgola (;) su Windows.

# *nix version: 
environmentpath = $codedir/special_environments:$codedir/environments 
# Windows version: 
environmentpath = $codedir/environments;C:\ProgramData\PuppetLabs\code\environment

Nella definizione, la directory del file che è elencata per prima viene scansionata e poi si sposta nell'altra directory nell'elenco, se non ne trova una.

File e directory

Tutte le impostazioni che accettano un singolo file o directory possono accettare un hash facoltativo di autorizzazioni. Quando il server si avvia, Puppet applicherà quei file o directory nell'elenco.

ssldir = $vardir/ssl {owner = service, mode = 0771}

Nel codice sopra, gli hash consentiti sono proprietario, gruppo e modalità. Esistono solo due valori validi per le chiavi del proprietario e del gruppo.