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. Dieses Konfigurationsmanagement-Tool hilft Ihnen, die Verwaltung und Konfiguration Ihrer Serverinfrastruktur zu automatisieren. Nachdem Sie diesem Tutorial gefolgt sind, sollten Sie Puppet-Master- und -Client-Knoten auf Ihren Ubuntu-Systemen vollständig eingerichtet haben.
Dieses Tutorial hilft Ihnen bei der Installation und Konfiguration von Puppet-Master- und -Agent-Knoten auf Ubuntu 20.04-Linux-Systemen.
Voraussetzungen
Sie müssen Folgendes haben:
- Zwei oder mehr laufende Ubuntu 20.04-Systeme, eines für den Master und andere Clients.
- Shell-Zugriff auf alle Systeme mit sudo-privilegiertem Konto.
- Alle Systeme müssen über ein privates oder öffentliches Netzwerk miteinander verbunden sein.
Schritt 1 – Hosts konfigurieren
Puppet-Master- und Client-Knoten verwenden Hostnamen, um miteinander zu kommunizieren. Daher ist es gut, damit zu beginnen, jedem Knoten einen eindeutigen Hostnamen zuzuweisen.
1. Melden Sie sich nacheinander beim Master und bei jedem Client-Knoten an und bearbeiten Sie /etc/hosts
Datei:
sudo nano /etc/hosts
2. Fügen Sie am Ende jeder Hosts-Datei die folgenden Einträge hinzu:
10.132.14.239 puppetmaster puppet 10.132.14.240 puppetclient1 10.132.14.241 puppetclient2
Hier:
- 10.132.14.239 ist die IP-Adresse des Master-Knotens.
- 10.132.14.240 ist die IP-Adresse des Client-Knotens.
- 10.132.14.242 ist die IP-Adresse eines anderen Client-Knotens.
- Fügen Sie bei Bedarf weitere Client-Knoten hinzu
Speichern Sie Ihre Datei und schließen Sie sie. Um die Datei mit dem Nano-Editor zu speichern, drücken Sie Strg + X und geben Sie dann Y ein und drücken Sie die Eingabetaste, um die Änderung zu speichern und die Datei zu schließen.
Schritt 2 – Installieren Sie Puppet Server (Master-Knoten)
Melden Sie sich jetzt mit dem Shell-Zugriff beim Master-Knoten an
3. Installieren Sie das neueste Puppet-Debian-Paket, um PPA auf dem Master-Knoten zu konfigurieren:
wget https://apt.puppetlabs.com/puppet7-release-focal.deb
sudo dpkg -i puppet7-release-focal.deb
4. Aktualisieren Sie nach dem Hinzufügen des PPA den Apt-Cache und installieren Sie den Puppet-Server mit dem folgenden Befehl:
sudo apt update
sudo apt install puppetserver -y
5. Nach erfolgreicher Installation aller Puppet-Pakete. Bearbeiten Sie die Puppet-Server-Datei mit:
sudo nano /etc/default/puppetserver
Die standardmäßige Puppet-Server-Datei, die für die Verwendung von 2 GB Arbeitsspeicher konfiguriert ist. Falls Ihr Server nicht über genügend Speicher verfügt. Reduzieren Sie die Speichergröße auf 1 GB oder einen anderen Wert:
JAVA_ARGS="-Xms1g -Xmx1g -Djruby.logger.class=com.puppetlabs.jruby_utils.jruby.Slf4jLogger"
Speichern Sie Ihre Änderungen und schließen Sie die Puppetserver-Datei. Um die Datei mit dem Nano-Editor zu speichern, drücken Sie Strg + X und geben Sie dann Y ein, um die Änderungen zu speichern.
6. Starten Sie als Nächstes den Puppet-Dienst und stellen Sie ihn so ein, dass er beim Systemstart automatisch startet:
sudo systemctl start puppetserver
sudo systemctl enable puppetserver
7. Sobald der Dienst gestartet ist, überprüfen Sie den Dienststatus mit:
sudo systemctl status puppetserver
Der Dienststatus wird als ausgeführt angezeigt.
Beginnen Sie nun mit der Konfiguration aller Client-Knoten.
Schritt 3 – Installieren Sie Puppet Agent (Client-Knoten)
Stellen Sie zunächst sicher, dass Sie bereits aktualisierte Hosts-Dateieinträge haben, die in Schritt 1 in allen Client-Knoten definiert wurden.
8. Laden Sie jetzt das neueste Puppet-Debian-Paket herunter und installieren Sie es, um PPA auf Ihrem Client-Knoten zu konfigurieren:
wget https://apt.puppetlabs.com/puppet7-release-focal.deb
sudo dpkg -i puppet7-release-focal.deb
9. Nachdem Sie das PPA konfiguriert haben, installieren Sie das Puppet-Agentenpaket auf allen Client-Servern.
sudo apt update
sudo apt install puppet-agent -y
10. Sobald die Paketinstallation abgeschlossen ist. Bearbeiten Sie die Puppet-Konfigurationsdatei:
sudo nano /etc/puppetlabs/puppet/puppet.conf
Fügen Sie die folgenden Einträge am Ende der Puppet-Konfigurationsdatei hinzu, um die Details des Puppet-Master-Knotens zu definieren:
[main] certname = puppetclient1 server = puppetmaster
Speichern Sie Ihre Datei und schließen Sie sie.
11. Starten Sie als Nächstes den Puppet-Agent-Dienst auf allen Client-Knoten und stellen Sie ihn so ein, dass er beim Systemstart automatisch startet:
sudo systemctl start puppet
sudo systemctl enable puppet
12. Überprüfen Sie anschließend, ob der Puppet-Agentendienst ordnungsgemäß ausgeführt wird:
sudo systemctl status puppet
Sie sollten auf allen Agentensystemen einen laufenden Status sehen
Schritt 4 – Puppet-Agent-Zertifikate signieren
13. Sie sind mit der Konfiguration fertig. Melden Sie sich jetzt beim Puppet-Master-Knoten an und führen Sie den folgenden Befehl aus, um alle verfügbaren Zertifikate aufzulisten:
sudo /opt/puppetlabs/bin/puppetserver ca list --all
14. Als nächstes signieren Sie alle Client-Zertifikate mit:
sudo /opt/puppetlabs/bin/puppetserver ca sign --all
15. Testen Sie abschließend die Kommunikation zwischen Puppet-Master und Client-Knoten mit dem folgenden Befehl.
sudo /opt/puppetlabs/bin/puppet agent --test
Schlussfolgerung
Das ist es. Sie haben Puppet erfolgreich auf einem Ubuntu 20.04-System installiert. Dieses Tutorial beschreibt, wie Sie Puppet sowohl auf dem Master-Knoten als auch auf einem Client-Knoten installieren.
Weitere Informationen zur Konfiguration von Puppet-Serverknoten und Client-Knoten finden Sie auch in der offiziellen Dokumentation auf