Dies ist der zweite Teil des Foreman-Tutorials. In der ersten Anleitung haben wir Ihnen bereits die Installation und Konfiguration von Foreman auf Ubuntu Server 18.04 LTS gezeigt und jetzt zeige ich Ihnen, wie Sie Puppet Agents zu Foremen hinzufügen.
Voraussetzungen
- Vorarbeiter-Puppenmeister
- Root-Rechte
Was werden wir tun?
- Hosts einrichten
- Installieren und konfigurieren Sie Puppet Agent
- Signiere Zertifikate auf dem Foreman Puppet Master
- Testen
Schritt 1 - Hosts einrichten
Zunächst müssen wir den FQDN (Fully Qualified Domain Name) der Puppet-Agent-Server konfigurieren.
Ändern Sie den Hostnamen des Servers mit dem folgenden hostnamectl-Befehl.
hostnamectl set-hostname client.hakase-labs.io
Bearbeiten Sie danach die Datei „/etc/hosts“.
vim /etc/hosts
Ändern Sie die IP-Adresse und den FQDN mit Ihren eigenen und fügen Sie sie ein.
10.9.9.20 server.hakase-labs.io server
10.9.9.21 client.hakase-labs.io client
Speichern und schließen.
Testen Sie nun den Host mit dem folgenden Befehl und stellen Sie sicher, dass der FQDN des Servers in Ihre gültige IP-Adresse aufgelöst wird.
ping $(hostname -f) -c 3
Schritt 2 – Puppet Agent installieren und konfigurieren
In diesem Schritt installieren wir den Puppet Agent 5 auf Ubuntu 18.04- und CentOS 7-Servern. Wir möchten das Puppet-Repository zum System hinzufügen und dann die Puppet-Agentenpakete sowohl auf Ubuntu- als auch auf CentOS-Servern installieren.
- Installieren Sie Puppet Agent auf Ubuntu 18.04 Server
Laden Sie das Paket-Repository herunter und fügen Sie es dem System hinzu.
cd /tmp && wget https://apt.puppetlabs.com/puppet5-release-bionic.deb
sudo dpkg -i puppet5-release-bionic.deb
Aktualisieren Sie danach die Ubuntu-Repositories und installieren Sie die Puppet-Agent-Pakete mit den folgenden apt-Befehlen.
sudo apt update
sudo apt install -y puppet-agent
- Installieren Sie Puppet Agent auf CentOS 7 Server
Laden Sie das Paket-Repository herunter und fügen Sie es dem System hinzu.
cd /tmp && wget https://yum.puppet.com/puppet5/puppet5-release-el-7.noarch.rpm
rpm -ivh puppet5-release-el-7.noarch.rpm
Installieren Sie danach die Puppet-Agent-Pakete mit dem folgenden Befehl.
sudo yum install -y puppet-agent
Wenn die Installation abgeschlossen ist, müssen wir die Standard-Puppet-Konfiguration bearbeiten und die Agent-Einstellungen definieren.
Gehen Sie in das Verzeichnis „/etc/puppetlabs/puppet“ und bearbeiten Sie die Konfigurationsdatei „puppet.conf“.
cd /etc/puppetlabs/puppet/
vim puppet.conf
Ändern Sie den Server-FQDN und den Zertifikatsnamen mit Ihrem eigenen und fügen Sie ihn ein.
[agent]
server = server.hakase-labs.io
certname = client.hakase-labs.io
runinterval = 180
environment = production
listen = false
pluginsync = true
report = true
Speichern und beenden.
Führen Sie danach den Puppet-Agent-Dienst mit dem folgenden Befehl aus.
sudo /opt/puppetlabs/bin/puppet resource service puppet ensure=running enable=true
Oder starten Sie den Dienst neu, falls erforderlich.
sudo systemctl restart puppet
Der Puppet-Agent läuft sowohl auf Ubuntu- als auch auf CentOS-Servern.
Schritt 3 - Zertifikatsanforderungen der Puppet-Agenten signieren
Um die Zertifikatsanfragen der Puppet-Agenten zu signieren, können wir die Terminal-Shell des Puppet-Master-Servers (in diesem Fall der Foreman-Server selbst) oder das Foreman-Dashboard verwenden.
- Zertifikatsanforderungen mit Terminal Shell signieren
Melden Sie sich beim Puppet-Master-Server an (in diesem Handbuch ist der Foreman-Server) und überprüfen Sie die Zertifikatsanforderung mit dem folgenden Befehl.
sudo /opt/puppetlabs/bin/puppetserver ca list
Jetzt sehen Sie das Client-Namenszertifikat, signieren Sie mit dem folgenden Befehl.
sudo /opt/puppetlabs/bin/puppetserver ca sign --certname client.hakase-labs.io
Und das Puppet-Agent-Zertifikat wurde dem Puppet-Master über den Terminalserver hinzugefügt.
- Zertifikatsanforderungen mit dem Foreman-Dashboard signieren
Klicken Sie auf "Infrastruktur". ' auf der linken Seite und wählen Sie dann "Smart Proxys". '.
Wählen Sie nun die 'Zertifikate aus ' Optionen aus der Dropdown-Schaltfläche des Vorarbeiter-Servers.
Jetzt erhalten Sie den Kundennamen, der Anfragen im Status „ausstehend“ stellt. Klicken Sie auf „Signieren“. ' Schaltfläche.
Überprüfen Sie danach die Agent-Hosts, indem Sie zur Seite „Hosts“ gehen.
Innerhalb der Datei „Hosts Klicken Sie im Menü auf „Alle Hosts ' und vergewissern Sie sich, dass Sie den Namen des Puppet-Agenten auf der Serverliste wie unten angegeben erhalten.
Nachfolgend Details zum Ubuntu Puppet Agent.
Schritt 4 – Testen
In diesem Tutorial testen wir den Puppet-Foreman-Server und den Puppet-Agent für die Bereitstellung der nginx- und NTP-Dienste auf dem Puppet-Agent-Host. Bevor wir beginnen, müssen wir die nginx- und ntp-Puppet-Module auf den Foreman-Server herunterladen und diese Module dann aktivieren und zum Puppet-Agenten hinzufügen.
- Laden Sie das Nginx Puppet-Modul herunter
Laden Sie das Nginx-Puppet-Modul herunter, indem Sie den folgenden Befehl auf dem Puppet-Master-Foreman-Server ausführen.
sudo /opt/puppetlabs/bin/puppet module install puppet/nginx
- Puppet-Module aktivieren
Importieren Sie danach das nginx-Modul über das Foreman-Dashboard.
Klicken Sie auf „Konfigurieren“. ' Menü auf der linken Seite und klicken Sie auf Puppet 'Klassen '.
Klicken Sie auf „Umgebung von server.hakase-labs.io importieren“. ', markieren Sie verfügbare Modulklassen und klicken Sie auf 'Aktualisieren '.
Jetzt erhalten Sie das Nginx-Modul in der Liste.
- Puppet-Modul zum Agent-Host hinzufügen
Klicken Sie auf "Hosts". Klicken Sie im Menü links auf „Alle Hosts“. ', um Listen verfügbarer Hosts zu erhalten.
Klicken Sie nun auf 'Bearbeiten '-Schaltfläche auf dem Agent-Host mit dem Namen 'client.hakase-labs.io'.
Gehen Sie zu den 'Marionettenklassen ', fügen Sie die Module 'nginx' und 'ntp' hinzu und klicken Sie auf 'Senden ' Schaltfläche.
Die Nginx- und NTP-Module wurden dem Agent-Host hinzugefügt.
Zusätzlich :
Wenn Sie aktive Klassen auf den Hosts überprüfen möchten, klicken Sie einfach auf „YAML ' auf den Detailinformationen zum Host und Ihnen wird die Rohquelle der YAML-Konfiguration angezeigt.
- Anwenden und testen
Wenn Sie die Änderungen manuell anwenden möchten, können Sie den folgenden Befehl auf den Puppet-Agent-Hosts ausführen.
sudo /opt/puppetlabs/bin/puppet agent --test
Wenn der Vorgang abgeschlossen ist, wird das Ergebnis wie folgt angezeigt.
Überprüfen Sie danach den nginx- und ntp-Dienst, indem Sie den aufgelisteten Port überprüfen, um sicherzustellen, dass die HTTP- und NTP-Ports von den nginx- und ntp-Diensten verwendet werden.
netstat -plntu
Jetzt können Sie auf den nginx-Webserver auf dem Agentenknoten zugreifen.
curl client.hakase-labs.io
Führen Sie den folgenden Befehl aus, um die NTP-Serverkonfiguration zu überprüfen.
cat /etc/ntp.conf
Und Ihnen wird die NTP-Konfiguration angezeigt, die von Puppet verwaltet wird.
Links
- https://theforeman.org/manuals/