Einführung
Puppet ist eine Open-Source-Automatisierungs-Admin-Engine, die verwendet wird, um administrative Aufgaben und die Serververwaltung aus der Ferne auszuführen. Dieses Tool ist unter Linux, Unix und Windows verfügbar.
In diesem Schritt-für-Schritt-Tutorial behandeln wir die Installation von Puppet unter Ubuntu 20.04 auf Master- und Client-Knoten.

Voraussetzungen
- Mehrere Systeme, auf denen Ubuntu 20.04 ausgeführt wird (eines für den Master-Knoten und eines oder mehrere für Client-Knoten)
- Zugriff auf ein Konto mit sudo-Berechtigungen
- Zugriff auf Terminal/Befehlszeile
Schritt 1:Paketliste aktualisieren
Aktualisieren Sie vor Beginn des Installationsvorgangs die Liste der verfügbaren Pakete:
sudo apt-get update -y

Schritt 2:Hostnamenauflösung einrichten
Bei Puppet kommunizieren Master- und Client-Knoten über Hostnamen. Bevor Sie Puppet installieren, müssen Sie auf jedem Knoten einen eindeutigen Hostnamen einrichten.
1. Öffnen Sie die hosts
Datei auf jedem Knoten mit:
sudo nano /etc/hosts
2. Fügen Sie die folgenden Zeilen am Ende jedes hosts
ein Datei:
[puppet master ip] puppetmaster puppet
[puppet client ip] puppetclient
Wo:
[puppet master ip]
die IP-Adresse des Master-Knotens ist und[puppet client ip]
ist die IP-Adresse des Client-Knotens.

3. Drücken Sie Ctrl + X
um die Datei zu schließen, und geben Sie dann Y
ein und drücken Sie Enter
um die vorgenommenen Änderungen zu speichern.
Schritt 3:Installieren Sie Puppet Server auf dem Master-Knoten
1. Laden Sie die neueste Puppet-Version auf den Master-Knoten herunter:
wget https://apt.puppetlabs.com/puppet6-release-focal.deb

2. Sobald der Download abgeschlossen ist, installieren Sie das Paket mit:
sudo dpkg -i puppet6-release-focal.deb

3. Aktualisieren Sie das Paket-Repository:
sudo apt-get update -y
4. Installieren Sie den Puppet-Server mit dem folgenden Befehl:
sudo apt-get install puppetserver -y
5. Öffnen Sie den puppetserver
Datei mit:
sudo nano /etc/default/puppetserver
6. Im puppetserver
ändern Sie die folgende Zeile, um die Speichergröße auf 1 GB zu ändern:
JAVA_ARGS="-Xms1g -Xmx1g -Djruby.logger.class=com.puppetlabs.jruby_utils.jruby.Slf4jLogger"

7. Drücken Sie Ctrl + X
um den puppetserver
zu schließen Datei. Geben Sie Y
ein und drücken Sie Enter
um die vorgenommenen Änderungen zu speichern.
8. Starten Sie den Puppet-Dienst und stellen Sie ihn so ein, dass er beim Systemstart gestartet wird, indem Sie Folgendes verwenden:
sudo systemctl start puppetserver
sudo systemctl enable puppetserver

9. Prüfen Sie, ob der Puppet-Dienst läuft mit:
sudo systemctl status puppetserver

Schritt 4:Installieren Sie Puppet Agent auf dem Client-Knoten
1. Laden Sie die neueste Version von Puppet auf einen Client-Knoten herunter:
wget https://apt.puppetlabs.com/puppet6-release-focal.deb
2. Sobald der Download abgeschlossen ist, installieren Sie das Paket mit:
sudo dpkg -i puppet6-release-focal.deb
3. Aktualisieren Sie das Paket-Repository noch einmal:
sudo apt-get update -y
4. Installieren Sie den Puppet-Agenten mit:
sudo apt-get install puppet-agent -y
5. Öffnen Sie die Puppet-Konfigurationsdatei:
sudo nano /etc/puppetlabs/puppet/puppet.conf
6. Fügen Sie am Ende der Puppet-Konfigurationsdatei die folgenden Zeilen hinzu, um die Puppet-Masterinformationen zu definieren:
[main]
certname = puppetclient
server = puppetmaster

7. Drücken Sie Ctrl + X
um die Puppet-Konfigurationsdatei zu schließen, geben Sie dann Y
ein und drücken Sie Enter
um die Änderungen zu speichern.
8. Starten Sie den Puppet-Dienst und stellen Sie ihn so ein, dass er beim Systemstart gestartet wird, indem Sie Folgendes verwenden:
sudo systemctl start puppet
sudo systemctl enable puppet
9. Prüfen Sie, ob der Puppet-Dienst läuft mit:
sudo systemctl status puppet

Schritt 5:Puppet-Agent-Zertifikat signieren
1. Listen Sie mithilfe des Puppet-Master-Knotens alle verfügbaren Zertifikate auf:
sudo /opt/puppetlabs/bin/puppetserver ca list --all

2. Signieren Sie die Zertifikate mit:
sudo /opt/puppetlabs/bin/puppetserver ca sign --all
3. Verwenden Sie den folgenden Befehl, um die Kommunikation zwischen Master- und Client-Knoten zu testen:
sudo /opt/puppetlabs/bin/puppet agent --test