Puppet

Puppet/Bolt Grundlagen

Änderungen sind der Normalfall in großen Serverfarmen, aber auch in kleineren Büro-Installationen. Werden sie manuell durchgeführt, schleichen sich gerne Fehler ein: Konfigurationsstände sind unterschiedlich, Dienste fallen unplanmäßig aus, Daten gehen verloren.

Um solche Fehler soweit wie möglich auszuschließen, implementiert man Automatisierungskonzepte. Die dafür verfügbaren Lösungen unterstützen die Systemadministratoren bei täglichen Aufgaben wie Paketinstallationen, Konfigurationsänderungen oder Systeminstallationen. Wichtig ist dabei, dass die erforderlichen Änderungen nicht mehr manuell ausgeführt werden, sondern innerhalb einer zentralen Komponente beschrieben werden. Um sie dann vor dem Rollout zu testen. Dann spielt es auch keine Rolle mehr, ob die Änderung auf einem, hundert oder sogar tausend Systemen durchgeführt wird.

Eine sehr gute Lösung zur Automatisierung von solchen Aufgaben ist Puppet. Puppet setzt die gewünschten Änderungen (im ITIL-Deutsch "changes") - unabhängig vom Betriebssystem - auf den Servern um. Die genaue Verteilung bestimmt Puppet durch eine deklarative Beschreibungssprache, sowie Dienste-Definitionen und Rechnerklassen.

Die notwendigen Konfigurationsdaten der Server kann Puppet selbst generieren. Dadurch ist es möglich, beispielsweise eine Änderung an allen DNS Servern vorzunehmen, ohne genau zu wissen wie die Server heißen oder welche IP Adressen sie haben.

Dieser Kurs vermittelt Ihnen die notwendigen Fähigkeiten zur Planung, Installation und Administration eines Puppet Konfigurationsmanagement Systems. Das Hauptziel dieses Kurses ist es, Puppet zu verstehen, praktische Erfahrungen im Umgang mit den wichtigsten Funktionen zu sammeln und ein Grundverständnis für komplexe Strukturen zu erwerben.

Im Grundlagen Training lernen die Teilnehmenden, wie Puppet Konfigurationsmanagement in einer eigenen Infrastruktur eingesetzt werden kann. Sie lernen, wie Puppet Erweiterungen eingebunden und genutzt werden können. Für ablaufbasierte oder Host-übergreifende Aktivitäten wird die Nutzung von Puppet Tasks und Plans erklärt.

Lerninhalte:

  • Grundlagen Nutzung Git-Client
  • Grundlagen Puppet Konfigurationsmanagement
  • Nutzung von System Informationen mit Facter
  • Aufbau/Struktur Control-Repository
  • Einbinden von Puppet Bibliotheken (Module)
  • Aufbau und Struktur von Puppet Bibliotheken (Module)
  • Puppet DSL und Parameter
  • Trennung von Code und Daten mit Hiera
  • Grundlagen Puppet Bolt
  • Aufbau und Struktur von Puppet Tasks
  • Verwendung von Puppet Tasks
  • Aufbau und Struktur von Puppet Plans
  • Grundlagen Puppet Server
  • Zugriff und Nutzung von Puppet APIs

Dieses Training wird als Grundlage für die Zertifizierung zum Puppet Certified Professional empfohlen.

Trainer und Dozenten

Das Puppet Grundlagen Training erfolgt durch Martin Alfke.
Martin Alfke ist Gründer und Geschäftsführer der betadots GmbH, Puppet Certified Professional 2013, 2015, 2019 und Puppet Certfied Consultant. Die betadots GmbH ist offizieller Puppet Solution provider.

Martin arbeitet seit 2007 mit Puppet und führt seit 2011 Puppet Trainings in Europa durch.

Dieses Training wird als Grundlage für die Zertifizierung zum Puppet Certified Professional empfohlen.

Voraussetzungen

Diese Schulung wendet sich an Systemadministratoren, die bereits Erfahrung mit Linux-Systemen haben.

Während der Kurse wird praktisch ausschließlich das Thema Puppet als Konfigurationsmanagement bearbeitet, die grundlegenden Mechanismen von Linux-Systemen werden als bekannt vorausgesetzt, ebenso wie Kenntnisse im Bereich TCP/IP Dienste wie sie z.B. in unserer Linux Netzwerkdienste Schulung vermittelt werden.

Welche Tutorials könnten helfen, bevor ich am Training nehme?

Obwohl für diesen Kurs keine Voraussetzungen vorhanden sind, empfehlen wir Ihnen, die folgenden Tutorials zu absolvieren, um sich am ersten Tag des Unterrichts wohl zu fühlen:

  • Git-Grundlagen. Wenn Sie mit Git nicht vertraut sind, bietet dies eine schöne Einführung (https://git-scm.com/doc)
  • GitLab. Dies ist unser Klassenzimmer-Git-Server (https://docs.gitlab.com/ee/gitlab-basics/)
  • VS-Code. Dies ist unser empfohlener Klassenzimmer-Editor (https://code.visualstudio.com/docs/introvideos/basics)

Inhalt

Übersicht

  • Puppet Konfigurationsmanagement
  • Facter und Facter erweitern
  • Nutzung von Puppet Bibliotheken (Module)
  • Puppet DSL und Parameter
  • Trennung von Code und Daten mit Hiera
  • Puppet Orchestrierung
  • Grundlagen Puppet Bolt
  • Aufbau und Struktur von Puppet Tasks und Plans
  • Zugriff und Nutzung von Puppet APIs

Ziele

Im Training lernen die Teilnehmenden, wie Puppet Erweiterungen eingebunden und genutzt werden und wie man Ablaufbasierte Scripte (Puppet Tasks) hinterlegt und Host-übergreifende Orchestrierung (Puppet Plans) nutzt. Damit ist man in der Lage Grundkonfigurationen von Servern, sowie Security und Compliance Richtlinien, mit geringem Aufwand in Puppet zu hinterlegen. Ausserdem sind die Teilnehmenden danach in der Lage die modernen Puppet Konzepte von Ablaufsteuerung und Serverübergreifende Orchestrierung an die eigenen Bedürfnisse anzupassen und zu nutzen.

Kurszeiten

Wer möchte, reist bis 22 Uhr am Vortag an und nutzt den Abend bereits zum Fachsimpeln am Kamin oder im Park.

An den Kurstagen dann von 9-18 Uhr (mit 2 Kaffee- und 1 Mittagspause) etwa 60% Schulungen und 40% Übungen. Selbstverständlich arbeitet jeder Teilnehmer am von uns gestellten Notebook oft parallel zum Referenten mit.

Anschließend Abendessen und Angebote für Fachsimpeln, Ausflüge uvm. Wir schaffen eine Atmosphäre, in der Fachleute sich ungezwungen austauschen. Wer das nicht will, wird zu nichts gezwungen und findet auch jederzeit Ruhe.