Puppet ist ein kostenloses und automatisiertes Open-Source-Verwaltungsmodul für Linux-, Unix- und Windows-Betriebssysteme. Es wird zum Bereitstellen, Konfigurieren und Verwalten von Servern verwendet und führt administrative Aufgaben wie das Hinzufügen von Benutzern, das Installieren von Paketen und vieles mehr aus. Es hilft Systemadministratoren, Zeit und Denkraum freizugeben, indem es Aufgaben auf Tausenden von physischen und virtuellen Maschinen automatisiert. Es verwendet ein Client-Server-Modell. Wo Puppet-Master Konfigurationsinformationen für Puppet-Agenten steuert, während Puppet-Agenten mit dem Puppet-Master kommunizieren und Konfigurationsprofile vom Puppet-Master abrufen.
In diesem Tutorial erklären wir, wie man einen Puppet-Server und -Agenten auf einem Ubuntu 20.04-Server installiert.
Voraussetzungen
- Zwei Server mit Ubuntu 20.04.
- Ein Root-Passwort ist auf beiden Servern konfiguriert.
Erste Schritte
Zuerst müssen Sie alle Pakete auf Puppet-Master- und Puppet-Client-Systemen aktualisieren. Sie können sie aktualisieren, indem Sie den folgenden Befehl ausführen:
apt-get update -y
Sobald alle Pakete auf dem neuesten Stand sind, können Sie mit dem nächsten Schritt fortfahren.
Hostnamenauflösung einrichten
Als nächstes müssen Sie den Hostnamen auf beiden Knoten einrichten. So kann jeder Knoten über den Hostnamen miteinander kommunizieren. Sie können dies tun, indem Sie die Datei /etc/hosts auf beiden Knoten bearbeiten:
nano /etc/hosts
Fügen Sie die folgenden Zeilen auf beiden Knoten hinzu:
puppetmaster-ip puppetmaster puppetpuppet-client-ip puppetclient
Speichern und schließen Sie die Datei, wenn Sie fertig sind. Dann können Sie mit dem nächsten Schritt fortfahren.
Puppet-Server installieren
Zuerst müssen Sie den Puppet-Server auf dem Master-Knoten installieren. Standardmäßig ist das Puppet-Paket nicht im Standard-Repository von Ubuntu 20.04 verfügbar. Sie müssen also das Puppet-Repository auf Ihrem Server installieren.
Laden Sie zunächst die neueste Version von Puppet mit dem folgenden Befehl herunter:
wget https://apt.puppetlabs.com/puppet6-release-focal.deb
Nachdem das Paket heruntergeladen wurde, installieren Sie es, indem Sie den folgenden Befehl ausführen:
dpkg -i puppet6-release-focal.deb
Aktualisieren Sie nach Abschluss der Installation das Repository und installieren Sie den Puppet-Server, indem Sie den folgenden Befehl ausführen:
apt-get update -y
apt-get install puppetserver -y
Nach der Installation des Puppet-Servers müssen Sie die Zuweisungsgröße des Puppet-Java-Prozessspeichers ändern. Sie können dies tun, indem Sie die /etc/default/puppetserver-Datei bearbeiten:
nano /etc/default/puppetserver
Ändern Sie die Speichergröße auf 1 g, wie unten gezeigt:
JAVA_ARGS="-Xms1g -Xmx1g -Djruby.logger.class=com.puppetlabs.jruby_utils.jruby.Slf4jLogger"
Speichern und schließen Sie die Datei, wenn Sie fertig sind. Starten Sie dann den Puppet-Dienst und ermöglichen Sie ihm, beim Systemneustart mit dem folgenden Befehl zu starten:
systemctl Puppetserver starten
systemctl Puppetserver aktivieren
Als Nächstes können Sie den Status des Puppet-Dienstes mit dem folgenden Befehl überprüfen:
systemctl status puppetserver
Sie sollten den folgenden Befehl sehen:
Wenn Sie fertig sind, können Sie mit dem nächsten Schritt fortfahren.
Puppet-Agent installieren und konfigurieren
An dieser Stelle wird der Puppet-Server installiert und konfiguriert. Jetzt müssen Sie den Puppet-Agenten auf dem Client-Knoten installieren.
Laden Sie zunächst das Puppet-Repository herunter und installieren Sie es mit dem folgenden Befehl:
wget https://apt.puppetlabs.com/puppet6-release-focal.deb
dpkg -i puppet6-release-focal.deb
Aktualisieren Sie als Nächstes das Repository und installieren Sie den Puppet-Agenten, indem Sie den folgenden Befehl ausführen:
apt-get update -y
apt-get install puppet-agent -y
Nach der Installation des Puppet-Agenten müssen Sie die Puppet-Konfigurationsdatei bearbeiten und die Puppet-Master-Informationen definieren:
nano /etc/puppetlabs/puppet/puppet.conf
Fügen Sie die folgenden Zeilen hinzu:
[main]certname =puppetclientserver =puppetmaster
Speichern und schließen Sie die Datei, wenn Sie fertig sind. Starten Sie dann den Puppet-Agentendienst und ermöglichen Sie ihm, beim Booten mit dem folgenden Befehl zu starten:
systemctl start puppet
systemctl enable puppet
Überprüfen Sie als Nächstes den Status des Puppets mit dem folgenden Befehl:
Systemctl-Statuspuppet
Sie sollten die folgende Ausgabe erhalten:
An diesem Punkt wird der Puppet-Agent installiert und konfiguriert. Jetzt können Sie mit dem nächsten Schritt fortfahren.
Puppet-Agent-Zertifikat signieren
Puppet verwendet eine Client-Server-Architektur, sodass Sie eine Zertifikatsanforderung für jeden Agentenknoten genehmigen müssen, bevor er ihn konfigurieren kann.
Führen Sie auf dem Puppet-Master-Knoten den folgenden Befehl aus, um alle Zertifikate aufzulisten:
/opt/puppetlabs/bin/puppetserver CA-Liste
Sie sollten die folgende Ausgabe sehen:
Angeforderte Zertifikate:Puppetclient (SHA256) A4:9A:E9:87:8B:54:0A:4F:A0:78:65:1A:3C:99:B5:EC:31:9E:BB:4C:17:8A:50:16:E9:1E:3D:D6:27:74:89:85 Puppenspieler (SHA256) E9:25:4C:51:4E:47:D7:44:11:1F:C5:A9 :4E:96:D9:E8:3A:EB:A0:01:48:06:B5:EF:3F:C4:09:03:90:3E:D8:2D
Signieren Sie nun alle Zertifikate mit dem folgenden Befehl:
/opt/puppetlabs/bin/puppetserver ca sign --all
Sie sollten die folgende Ausgabe erhalten:
Erfolgreich signierte Zertifikatsanforderung für puppetclientErfolgreich signierte Zertifikatsanforderung für puppetmaster
Jetzt kann der Puppet-Master mit dem Agentenknoten kommunizieren und ihn steuern.
Testen Sie auf dem Puppet-Agent-Knoten die Puppet-Master- und -Agent-Kommunikation mit dem folgenden Befehl:
/opt/puppetlabs/bin/puppet agent --test
Wenn alles in Ordnung ist, sollten Sie die folgende Ausgabe erhalten:
Info:Verwenden der konfigurierten Umgebung „production“Info:Abrufen von pluginfactsInfo:Abrufen von pluginInfo:Abrufen von localesInfo:Zwischenspeichern des Katalogs für puppetclientInfo:Anwenden der Konfigurationsversion „1599300398“Hinweis:Angewandter Katalog in 0,02 Sekunden
Schlussfolgerung
Herzliche Glückwünsche! Sie haben Puppet Master und Agent erfolgreich auf dem Ubuntu 20.04-Server installiert und konfiguriert. Sie können jetzt ganz einfach mehrere Agenten hinzufügen und sie einfach mit Puppet verwalten.