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 =