Installation von Puppet (Teil 3) – Die ersten Skripte

In diesem dritten Teil der Blogserie haben wir bereits durch Teil 1 und Teil 2 eine Verbindung zwischen unserem Puppet Master und einem Client. Nun werden wir uns anschauen, wie wir eine Administration des Clients machen können und welche Möglichkeiten Puppet bietet.

Der erste Test

Um zu prüfen, ob der Puppet-Client korrekt funktioniert und auch genau das umsetzt, was wir von ihm möchten, testen wir unseren Aufbau im ersten Schritt. Hierzu erstellen wir eine neue Datei auf dem Puppetmaster und füllen diese mit Leben.

mkdir -p /etc/puppet/code/environments/production/manifests
nano /etc/puppet/code/environments/production/manifests/puppetclient1.pp

In diese Datei müssen wir nun aufnehmen, welche Dinge durchgeführt werden sollen. Im ersten Schritt legen wir einfach eine neue Test-Datei unter /tmp an.

node 'puppetclient1.domain.local' {
  file { '/tmp/test':
   ensure => 'present',
   content => "Hallo Welt\n",
   mode => '644',
  }
}

Die erste Zeile sorgt dafür, dass die folgenden Befehle nur auf dem definierten Server gemacht werden, nicht bei allen Systemen. Soll die gewünschte Änderung bei allen Systemen durchgeführt werden, kann die erste und die letzte Zeile einfach weggelassen werden, alternativ ersetzen wir den spezifischen Hostnamen durch default.

Auf dem Client können wir nun manuell einen Abgleich des Puppet-Agent starten. Dies geschieht über den Aufruf von

puppet agent --test

Dies ist nicht ein Test, wie der Name vielleicht vermuten lässt, sondern ein vollständiger Durchlauf inkl. Ausführung von möglichen Änderungen.

Möchte man nun am Ende der Datei noch eine neue Zeile einfügen, kann man die manifest-Datei anpassen und einen erneuten Abgleich machen. Ist dieser passiert, sieht man die gemachten Änderungen und danach in meinem Screenshot die Änderung an der Datei.

Die Installation von Paketen

Soll die Installation von einem oder mehreren Paketen durchgeführt werden, kann dies mit der folgenden Syntax erreicht werden.

  package { 'htop':
    ensure => installed,
  }

Die Arbeit mit Modulen und Klassen

Sobald eine Puppet-Installation etwas größer wird, sollte man sich unbedingt daran gewöhnen, mit Modulen und Klassen zu arbeiten. Dies macht die Arbeit deutlich einfacher, weiterhin gibt es ganz viele vorgefertige und gute Module unter forge.puppet.com.

Eine komplette Beschreibung, was genau Module sind, wie sie anzuwenden sind usw., würde an dieser Stelle absolut den Rahmen sprengen. Mir selbst haben bei dieser Arbeit die folgenden Seiten und Beiträge geholfen:

bogotobogo.com: Packages, Files, and Services

bogotobogo.com: Classes and Modules

root@home: Puppet Master und Client installieren und konfigurieren

und natürlich die Docs von Puppet.com selbst (hier nur ein Beispiel für Klassen, links ist ein Menü mit allen weiteren Punkten und Hilfen)

docs.puppet.com: Language: Classes


Sie benötigten persönliche Unterstützung oder haben nicht die richtige Lösung für Ihr Problem gefunden?

Dieser Blog wird von mir, Jan Kappen, in seiner Freizeit betrieben, hier beschreibe ich Lösungen für Probleme aller Art oder technische Anleitungen mit Lösungsansätzen.

Die berufliche Unabhängigkeit

Ich bin seit Januar 2020 vollständig selbstständig und habe meine eigene Firma gegründet, die Building Networks mit Sitz in Winterberg im schönen Sauerland. Hier stehe ich als Dienstleister gerne für Anfragen, Support oder Projekte zur Verfügung.

Die Firma Building Networks bietet Ihnen:

  • Hilfe und Support per Telefon, Fernwartung oder persönlich vor Ort
  • Projekt-Unterstützung
  • Ausgezeichnete Kompetenz zu den Themen
    • Microsoft Hyper-V
    • Microsoft Failover Clustering & HA
    • Storage Spaces Direct (S2D) & Azure Stack HCI
    • Veeam Backup & Recovery
    • Microsoft Exchange
    • Microsoft Exchange Hybrid Infrastruktur
    • Microsoft Active Directory
    • Microsoft Office 365
    • Ubiquiti
    • 3CX VoIP PBX
    • Fortinet Network Security
    • Baramundi Software
    • ...

Ich freue mich über Ihren Kontakt, weitere Informationen finden Sie auf der Webseite meiner Firma unter Building-Networks.de

Jan

Jan Kappen arbeitet seit 2005 in der IT. Er hat seine Ausbildung 2008 abgeschlossen und war bis 2018 als IT-Consultant im Bereich Hyper-V, Failover Clustering und Software Defined Storage unterwegs. Seit 2015 wurde er jährlich von Microsoft als Most Valuable Professional (MVP) im Bereich "Cloud & Datacenter Management" ausgezeichnet für seine Kenntnisse und die Weitergabe seines Wissens. Jan ist häufig auf Konferenzen als Sprecher zu finden, weiterhin bloggt er viel. Von September 2018 bis Dezember 2019 war Jan als Senior Network- und Systemadministrator bei einem großen mittelständischen Unternehmen im schönen Sauerland angestellt. Im Januar 2020 hat er den Sprung in die Selbstständigkeit gewagt und ist seitdem Geschäftsführer der Firma Building Networks in Winterberg. In seiner Freizeit kümmert er sich um das Freifunk-Netzwerk in Winterberg und Umgebung.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert