In unserem Tutorial Installiere und konfiguriere Foreman unter Ubuntu 16.04/18.04 begleite ich dich durch den Installationsprozess und wichtige erste Schritte der Konfiguration von Foreman, einem Tool, mit dem du deine komplette Server-Infrastruktur handhaben und organisieren kannst. In diesem Tutorial gehe ich einen Schritt weiter und zeige dir, wie du das NTP-Modul zu Foreman addest und es so konfigurierst, dass es (d)einem (deiner) Host(s) zugeordnet ist. Dieses Tutorial setzt die im Tutorial Installiere und konfiguriere Foreman unter Ubuntu 16.04/18.04 durchgeführte Konfiguration voraus.
Zum NTP-Modul und dessen Nutzen für den Puppet-Server deines Foreman-Tools
Im oben referenzierten Tutorial erwähne ich Puppet als eine Komponente von Foreman. Puppet besteht aus einem zentralen Server. Dieser Server besteht zum einen aus dem Puppet-Master und des Weiteren aus den Clients, welche als Nodes, bzw. Knoten des Puppet-Master verstanden werden. Du kannst dir das Fungieren zwischen dem Puppet-Master und den Puppet-Knoten so vorstellen, dass sich die Knoten beim Master anmelden und dort nach der aktuellen Konfiguration fragen. Der Master gibt die Konfigurationsinformationen an die Nodes weiter.
Mit Hilfe des Puppet-Servers kann eine Reihe von Tasks erledigt werden, wie z.B. die Übergabe von Dateien, die an bestimmte Orte kopiert werden. Im Zuge dessen kann ein Knoten angewiesen werden, Dateirechte zu prüfen und diese bei Bedarf zu korrigieren. Je nach Betriebssystem kann erzwungen werden, dass ein Knoten prüft, ob bestimmte Dienste aktiv sind, oder ob bestimmte Pakete auch in der neuesten Version installiert sind. Der Puppet-Server kann einen Knoten anweisen, bestimmte Befehle auszuführen. Puppet benötigt für die Ausführung der oben beschriebenen Beispielaufgaben eine genaue Zeitplanung. Hier kommt das NTP-Modul ins Spiel, das die Zeitsynchronisierung in Netzwerken ermöglicht.
Installiere das NTP-Modul
Im Folgenden installierst du das NTP-Modul: Das NTP-Modul ist eine der wichtigsten Anforderungen von Puppet zur Verwaltung der NTP-Dienste.
/opt/puppetlabs/bin/puppet module install puppetlabs-ntp -i /etc/puppetlabs/code/modules/
Das Output des oben präsentierten Kommandos sollte dem aus dem Screenshot unten mit möglicher Abweichung der Versionsnummer(n) entsprechen.
Navigiere dich in der Foreman-Webkonsole zum Klassen-Menüpunkt des Konfigurieren-Hauptmenüpunktes, um die nach der Installation des NTP-Moduls verfügbaren Puppet-Klassen aus dem Puppet-Master zu lesen und die Foreman-Datenbank zu füllen.
Auf der Seite, auf die du daraufhin weitergeleitet wirst, kannst du über den oben rechts befindliche Button zum Import der Umgebung deines FQDN das NPT-Modul importieren.
Wähle das NTP-Modul für die development- und production-Umgebung und klicke auf die Schaltfläche Aktualisierung.
Nun kannst du das NTP-Modul und Foreman über das Dashboard verwalten.
Konfiguriere das NTP-Modul
Nachdem du das NTP-Modul importiert hast, suchst du in der Liste der verfügbaren Puppet-Klassen nach der NTP-Klasse. Dort führst du im Dropdown der Aktionen-Spalte dieser Klasse die Auswahl “Alle Parameter überschreiben” aus, wie im Screenshot unten vorgeführt. Damit setzt du durch, dass Foreman die Parameter der NTP-Klasse des Puppet Servers managen kann.
Danach begibst du dich im Menü zurück zu Hosts > Alle Hosts und wechselst für den betreffenden Host in der Aktionen-Spalte via dem Bearbeiten-Button in den Bearbeiten-Modus.
Erweitere im Tab Puppet-Klassen das NTP-Modul, indem du auf das +-Symbol klickst. Damit fügst du die NTP-Klasse zum Host hinzu. Bestätige diesen Vorgang im Anschluss mit dem Absenden-Button.
Nach der Zuordnung der NTP-Klasse zum betreffenden Host, wirst du automatisch in den Detailbereich dieses Hosts umgeleitet, wie im Screenshot zu erkennen.
Wenn du dort auf die YAML-Schaltfläche klickst, werden dir die NTP-Klasse und die Liste der dazugehörigen Parameter angezeigt, die an Puppet über die ENC-Schnittstelle (External Node Classifier) übergeben werden. Der Screenshot unten demonstriert dir, wie diese Auflistung beschaffen ist.
Führe schließlich via dem Terminal deines Ubuntu-Servers den folgenden Befehl auf dem Foreman-Host aus, um den NTP-Dienst anzuzeigen, der automatisch von Puppet und dem NTP-Modul neu konfiguriert wurde.
puppet agent --test
Um zu prüfen, ob das NTP-Modul installiert, neu gestartet und konfiguriert wurde, klickst du im Detailbereich des betreffenden Hosts auf die Reports-Schaltfläche, die sich neben der YAML-Schaltfläche befindet. Dort hast du eine Auflistung der bisher erstellten Berichte zur Verfügung. Je nachdem, wie lange die Installation von Foreman und der Implementierung des NTP-Moduls zwischen einander zurückliegt, kann diese Listung folgend auf den letzten erstellten Report bereits eine Reihe von zeitlich zurückliegenden Items enthalten.
Klickst du auf einen Bericht, der vor der Implementierung des NTP-Moduls und dessen nachfolgende Zuordnung zum betreffenden Host via der oben gezeigten Konfiguration des NTP-Moduls generiert wurde, dann kann der Report einem Report ähneln, wie du ihn aus dem Screenshot unten entnimmst.
Der Report, welcher nach der Konfiguration des NTP-Moduls erzeugt wurde, sollte dann einem Bericht gleichen, wie ihn dir der folgende Screenshot reflektiert. In diesem Fall ist der Puppet-Master fähig, Agenten oder Knoten zu akzeptieren.
Fazit
Ich habe dir gezeigt, wie du via dem Puppet-Server deines Foreman-Tools das Management der Zeitsynchronisierung möglich machst. Ich habe dir hierbei gerne weiter geholfen und wünsche dir gutes Gelingen mit dem Life-Cycle-Management-Tool Foreman. ?
Aus unserer Rubrik zu Foreman auch noch interessant und hilfreich:
- Wir von Tech4Hosting haben ein Plugin entwickelt, mit dem es dir möglich ist von Tech4Hosting angebotene Server-Templates direkt in Foreman zu generieren und zu verwalten. Mehr dazu unter Foreman provided by Tech4Hosting: Erstelle und manage deine Server in Foreman mit dem Plugin von Tech4Hosting