Burattinaio
In Puppet, l'architettura server client di Puppet master è considerata l'autorità di controllo dell'intera configurazione. Il burattinaio funge da server nel setup e controlla tutte le attività su tutti i nodi.
Per qualsiasi server che deve agire come Puppet master, dovrebbe essere in esecuzione il software del server Puppet. Questo software server è il componente chiave per controllare tutte le attività sui nodi. In questa configurazione, un punto chiave da ricordare è avere un accesso super utente a tutte le macchine che si utilizzerà nella configurazione. Di seguito sono riportati i passaggi per configurare Puppet master.
Prerequisiti
Private Network DNS- Devono essere configurati avanti e indietro, in cui ogni server dovrebbe avere un nome host univoco. Se non si dispone del DNS configurato, è possibile utilizzare una rete privata per la comunicazione con l'infrastruttura.
Firewall Open Port- Il burattinaio dovrebbe essere aperto su una particolare porta in modo che possa ascoltare le richieste in arrivo su una particolare porta. Possiamo usare qualsiasi porta aperta sul firewall.
Creazione di Puppet Master Server
Il burattinaio che stiamo creando sarà su CentOS 7 × 64 utilizzando Puppet come nome host. La configurazione di sistema minima per la creazione di Puppet master è di due core CPU e 1 GB di memoria. Anche la configurazione può avere dimensioni maggiori a seconda del numero di nodi che gestiremo con questo master. Nell'infrastruttura, è più grande di quanto sia configurato utilizzando 2 GB di RAM.
Nome host | Ruolo | FQDN privato |
---|---|---|
Brcleprod001 | Burattinaio | bnrcleprod001.brcl.com |
Successivamente, è necessario generare il certificato SSL del master Puppet e il nome della macchina master verrà copiato nel file di configurazione di tutti i nodi.
Installazione di NTP
Poiché Puppet master è l'autorità centrale per i nodi dell'agente in una determinata configurazione, è una delle responsabilità chiave del Puppet master mantenere l'ora di sistema precisa per evitare potenziali problemi di configurazione, che possono sorgere quando emette certificati di agente ai nodi.
Se si verifica un problema di conflitto temporale, i certificati possono sembrare scaduti se sono presenti discrepanze temporali tra il master e il nodo. Il protocollo temporale di rete è uno dei meccanismi chiave per evitare questo tipo di problemi.
Elenco dei fusi orari disponibili
$ timedatectl list-timezones
Il comando precedente fornirà un intero elenco di fusi orari disponibili. Fornirà alle regioni la disponibilità del fuso orario.
Il seguente comando può essere utilizzato per impostare il fuso orario richiesto sulla macchina.
$ sudo timedatectl set-timezone India/Delhi
Installa NTP sulla macchina server Puppet utilizzando l'utility yum della macchina CentOS.
$ sudo yum -y install ntp
Sincronizza NTP con l'ora di sistema che abbiamo impostato nei comandi precedenti.
$ sudo ntpdate pool.ntp.org
Nella pratica comune, aggiorneremo la configurazione NTP per utilizzare pool comuni che sono disponibili più vicino ai data center della macchina. Per questo, dobbiamo modificare il file ntp.conf sotto/etc.
$ sudo vi /etc/ntp.conf
Aggiungi il time server dai fusi orari del pool NTP disponibili. Di seguito è riportato l'aspetto del file ntp.conf.
brcleprod001.brcl.pool.ntp.org
brcleprod002.brcl.pool.ntp.org
brcleprod003.brcl.pool.ntp.org
brcleprod004.brcl.pool.ntp.org
Salva la configurazione. Avvia il server e abilita il daemon.
$ sudo systemctl restart ntpd
$ sudo systemctl enable ntpd
Configurazione del software Puppet Server
Il software del server Puppet è un software che viene eseguito sulla macchina master Puppet. È la macchina che invia le configurazioni ad altre macchine che eseguono il software dell'agente Puppet.
Abilita il repository di raccolta ufficiale di Puppet Labs utilizzando il seguente comando.
$ sudo rpm -ivh https://yum.puppetlabs.com/puppetlabs-release-pc1-el7.noarch.rpm
Installa il pacchetto Puppetserver.
$ sudo yum -y install puppetserver
Configurare l'allocazione della memoria sul server Puppet
Come abbiamo discusso, per impostazione predefinita, il server Puppet viene configurato su una macchina RAM da 2 GB. È possibile personalizzare il setup in base alla memoria libera disponibile sulla macchina e al numero di nodi che il server gestirà.
Modifica la configurazione del server pupazzo in modalità vi
$ sudo vi /etc/sysconfig/puppetserver
Find the JAVA_ARGS and use the –Xms and –Xms options to set the memory allocation.
We will allocate 3GB of space
JAVA_ARGS="-Xms3g -Xmx3g"
Una volta fatto, salva ed esci dalla modalità di modifica.
Dopo aver completato tutta la configurazione di cui sopra, siamo pronti per avviare il server Puppet sulla macchina master con il seguente comando.
$ sudo systemctl start puppetserver
Successivamente, eseguiremo la configurazione in modo che il server pupazzo venga avviato ogni volta che viene avviato il server principale.
$ sudo systemctl enable puppetserver
Sezione Puppet.conf Master
[master]
autosign = $confdir/autosign.conf { mode = 664 }
reports = foreman
external_nodes = /etc/puppet/node.rb
node_terminus = exec
ca = true
ssldir = /var/lib/puppet/ssl
certname = sat6.example.com
strict_variables = false
manifest =
/etc/puppet/environments/$environment/manifests/site.pp
modulepath = /etc/puppet/environments/$environment/modules
config_version =