Kursüberblick
Paketierung und Verwaltung von Applikationen auf Kubernetes.
Eine Applikation auf Kubernetes besteht aus zahlreichen Ressourcen, die über Manifeste im Cluster erstellt werden. Helm ist ein Paketmanager, der die Manifeste aller für eine Applikation benötigten Kubernetes-Ressourcen in einem sogenannten Chart bündelt. Die Manifeste werden dabei durch Templates erzeugt, die eine flexible Anpassung durch Variablen ermöglichen. So können mit demselben Helm Chart beliebig viele Instanzen der Applikation installiert und verwaltet werden. Dieser Kurs bietet einen praxisorientierten Einstieg in die Nutzung von Helm und die Entwicklung eigener Helm Charts.
Zielgruppe
Das Training richtet sich an Entwickler und Administratoren sowie an Architekten und Entscheider mit hohem technischen Interesse.
Voraussetzungen
Die Teilnehmer müssen mit der Nutzung von Kubernetes vertraut sein. Dazu gehört der sichere Umgang mit kubectl sowie das Erstellen von YAML-Manifesten für Kubernetes-Ressourcen. Kenntnisse in grundlegenden Prinzipien der Programmierung, insbesondere die Nutzung von Variablen, Bedingungen und Schleifen, werden vorausgesetzt.
Kursziele
Die Teilnehmer lernen den Umgang mit Helm. Dazu gehört die Installation, Konfiguration, Aktualisierung und Verwaltung von Applikationen durch vorhandene Helm Charts. Zudem umfasst dieses Training die Entwicklung eigener Helm Charts, einschliesslich Templates, Hooks, Tests, Abhängigkeiten sowie Dokumentation, Paketierung und Veröffentlichung der erstellten Charts.
Kursinhalt
Einführung in Helm
- Motivation und Funktionen
- Architektur
- Interaktion zwischen Helm und Kubernetes
- Helm und CI/CD
Zusammenfassende (!) Wiederholung wichtiger Kubernetes-Ressource-Typen
- Pod, ReplicaSet, Deployment, DaemonSet, StatefulSet, Job und CronJob
- PersistentVolumeClaim
- Service und Ingress
- ConfigMap und Secret
Nutzung vorhandener Helm Charts
- Repository-Konfiguration
- Suchen und finden von Helm Charts
- Untersuchen von Helm Charts
- Installation, Upgrades, Rollbacks und Deinstallation von Releases
- Anpassen von Values
Entwicklung eigener Helm Charts
- Struktur von Helm Charts
- Erstellen neuer Helm Charts
- Debugging von Helm Charts
- Abhängigkeiten und Variablenübergabe
- Hooks und Tests
Helm-Templates
- Syntax von Helm-Templates
- Variablen und Scopes
- Schleifen und Bedingungen
- Funktionen und Pipelines
- Named Templates
- Bibliotheken
Dokumentation
- Dokumentation innerhalb von Helm Charts
- Dokumentation mit helm-docs generieren
Auslieferung von Helm Charts
- Paketieren von Helm Charts
- Betrieb eigener Repositories