Puppenspieler

In Puppet wird die Client-Server-Architektur des Puppet-Masters als Kontrollautorität des gesamten Setups betrachtet. Puppet Master fungiert als Server im Setup und steuert alle Aktivitäten auf allen Knoten.

Für jeden Server, der als Puppet-Master fungieren muss, sollte die Puppet-Serversoftware ausgeführt werden. Diese Serversoftware ist die Schlüsselkomponente zur Steuerung aller Aktivitäten auf Knoten. In diesem Setup ist es wichtig, einen Superuser-Zugriff auf alle Computer zu haben, die im Setup verwendet werden sollen. Im Folgenden finden Sie die Schritte zum Einrichten des Puppet Masters.

Voraussetzungen

Private Network DNS- Vorwärts und Rückwärts sollten konfiguriert sein, wobei jeder Server einen eindeutigen Hostnamen haben sollte. Wenn das DNS nicht konfiguriert ist, kann ein privates Netzwerk für die Kommunikation mit der Infrastruktur verwendet werden.

Firewall Open Port- Puppet Master sollte an einem bestimmten Port geöffnet sein, damit er die eingehenden Anforderungen an einem bestimmten Port abhören kann. Wir können jeden Port verwenden, der in der Firewall geöffnet ist.

Puppet Master Server erstellen

Der von uns erstellte Puppet-Master wird auf einem CentOS 7 × 64-Computer mit Puppet als Hostnamen ausgeführt. Die minimale Systemkonfiguration für die Erstellung des Puppet-Masters beträgt zwei CPU-Kerne und 1 GB Speicher. Die Konfiguration kann auch größer sein, abhängig von der Anzahl der Knoten, die wir mit diesem Master verwalten werden. In der Infrastruktur ist größer als es mit 2 GB RAM konfiguriert ist.

Hostname Rolle Privater FQDN
Brcleprod001 Puppenspieler bnrcleprod001.brcl.com

Als nächstes muss ein Puppet-Master-SSL-Zertifikat generiert werden, und der Name des Master-Computers wird in die Konfigurationsdatei aller Knoten kopiert.

NTP installieren

Da der Puppet-Master die zentrale Autorität für Agentenknoten in einem bestimmten Setup ist, liegt es in der Hauptverantwortung des Puppet-Masters, die genaue Systemzeit einzuhalten, um mögliche Konfigurationsprobleme zu vermeiden, die auftreten können, wenn Agentenzertifikate an Knoten ausgestellt werden.

Wenn das Problem mit dem Zeitkonflikt auftritt, können Zertifikate als abgelaufen erscheinen, wenn zwischen dem Master und dem Knoten zeitliche Abweichungen bestehen. Das Netzwerkzeitprotokoll ist einer der Schlüsselmechanismen, um solche Probleme zu vermeiden.

Auflistung der verfügbaren Zeitzonen

$ timedatectl list-timezones

Der obige Befehl enthält eine vollständige Liste der verfügbaren Zeitzonen. Regionen erhalten Zeitzonenverfügbarkeit.

Mit dem folgenden Befehl können Sie die erforderliche Zeitzone auf der Maschine einstellen.

$ sudo timedatectl set-timezone India/Delhi

Installieren Sie NTP mit dem Dienstprogramm yum des CentOS-Computers auf dem Puppet-Server.

$ sudo yum -y install ntp

Synchronisieren Sie NTP mit der Systemzeit, die wir in den obigen Befehlen festgelegt haben.

$ sudo ntpdate pool.ntp.org

In der Regel wird die NTP-Konfiguration aktualisiert, um allgemeine Pools zu verwenden, die näher an den Rechenzentren des Computers verfügbar sind. Dazu müssen wir die Datei ntp.conf unter bearbeiten/etc.

$ sudo vi /etc/ntp.conf

Fügen Sie den Zeitserver aus den verfügbaren Zeitzonen des NTP-Pools hinzu. Im Folgenden sehen Sie, wie die Datei ntp.conf aussieht.

brcleprod001.brcl.pool.ntp.org 
brcleprod002.brcl.pool.ntp.org 
brcleprod003.brcl.pool.ntp.org
brcleprod004.brcl.pool.ntp.org

Speichern Sie die Konfiguration. Starten Sie den Server und aktivieren Sie den Daemon.

$ sudo systemctl restart ntpd 
$ sudo systemctl enable ntpd

Puppet Server Software einrichten

Puppet Server Software ist eine Software, die auf dem Puppet Master-Computer ausgeführt wird. Es ist der Computer, der Konfigurationen auf andere Computer überträgt, auf denen die Puppet Agent-Software ausgeführt wird.

Aktivieren Sie das offizielle Puppet Labs-Sammlungsrepository mit dem folgenden Befehl.

$ sudo rpm -ivh https://yum.puppetlabs.com/puppetlabs-release-pc1-el7.noarch.rpm

Installieren Sie das Puppetserver-Paket.

$ sudo yum -y install puppetserver

Konfigurieren Sie die Speicherzuordnung auf dem Puppet Server

Wie bereits erwähnt, wird der Puppet-Server standardmäßig auf einem 2-GB-RAM-Computer konfiguriert. Das Setup kann entsprechend dem auf dem Computer verfügbaren freien Speicher und der Anzahl der vom Server verwalteten Knoten angepasst werden.

Bearbeiten Sie die Puppet Server-Konfiguration im vi-Modus

$ 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"

Speichern Sie anschließend den Bearbeitungsmodus und beenden Sie ihn.

Nachdem alle oben genannten Einstellungen abgeschlossen sind, können Sie den Puppet-Server auf dem Master-Computer mit dem folgenden Befehl starten.

$ sudo systemctl start puppetserver

Als nächstes werden wir das Setup so durchführen, dass der Puppet-Server immer dann startet, wenn der Master-Server startet.

$ sudo systemctl enable puppetserver

Puppet.conf Master Section

[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 =