Kubernetes

Kubernetes hat sich zu dem wichtigsten Werkzeug zur Container-Orchestrierung entwickelt. Der Kurs vermittelt Grundkenntnisse im Umgang mit Kubernetes. Die Teilnehmer üben den Umgang mit den praxisrelevanten Resourcen und lernen, Anwendungen auf Kubernetes zu deployen und zu verwalten. Kubernetes arbeiten auf der Basis von Modellen die in JSON formuliert sind. Es werden mit diesen Manifesten im Kurs selbststeuernde Systeme auf dieser Basis zusammengestellt.

Voraussetzungen

Voraussetzung: Linux Grundlagen

Die von Kubernetes genutzten Container-Technologien basieren auf Linux. Wir setzen voraus, dass Sie Linux im Terminal sicher bedienen können. Dazu gehört unter anderem:

  • Sie sind vertraut mit der Arbeit auf der Unix Shell (Pipes, Redirects, Variablen)
  • Sie kennen die wichtigsten File- und Textutils (cp, mv, wc, less, ...)

Diese Inhalte vermitteln wir in unserem Kurs 'Linux Grundlagen'

Voraussetzung: Linux Administration

Wir setzen voraus, dass Sie Linux administrieren können. Dazu gehört unter anderem:

  • Sicherer Umgang mit dem Linux Paketmanagement (apt, zypper, yum oder dnf)
  • Grundlagen der Linux Netzwerkkonfiguration
  • Linux Verzeichnisbaum

Diese Inhalte vermitteln wir in unserem Kurs 'Linux Administration'

Voraussetzung: Netzwerkdienste

  • Installation von Netzwerkdiensten unter Linux
  • Fehleranalyse in Client-Server Umgebungen
  • Grundverständnes von HTTP Reverse Proxies und Webservern
  • sicher in der Nutzung von ssh inkl. Tunnel
  • x509-Zertifikate für Webserver erstellen und HTTPS konfigurieren

Diese Inhalte vermitteln wir wahlweise in unserem Kurs 'Linux Netzwerkdienste', 'Apache Webserver oder 'Nginx Webserver'

Voraussetzung: Container Technologie

Wir setzen gute Kenntnisse zu Container Technologien (z.B. Docker, Podman) voraus. Dazu gehört unter anderem:

  • Bestandteile eines Anwendungs-Containers
  • Containern inkl. Parameter für Netzwerk und Volumes starten

Diese Inhalte vermitteln wir in unserem Kurs 'Docker'

Voraussetzung: Virtualisierungstechnologie

Kubernetes nutzt Virtualisierungstechnologien um Container zu verteilen. Wir setzen Grundkenntnisse zu Virtualisierungstechnologien (z.B. KVM, Proxmox, XEN, VMWare, VirtualBox, Parallels, Multipass, Hyper-V, ...) voraus. Dazu gehört unter anderem:

  • Was ist ein Hypervisor?
  • Aus welchen Bestandteilen besteht eine VM?

Diese Inhalte vermitteln wir wahlweise in unseren Kursen 'Proxmox' oder 'KVM'

Voraussetzung: YAML/JSON

Kubernetes wird mit Hilfe von YAML Dateien konfiguriert, und die APIs verwenden JSON sowohl als Ein- als auch als Ausgabeformat. Vielleicht kennen Sie YAML schon vom Konfigurationsmanagement Ansible. .

  • bearbeiten und auswerten von YAML/JSON Dateien
  • Tools jq und yq zum auswerten von YAML/JSON Dateien
  • Fähigkeit, mit einem Texteditor YAML/JSON Dateien zu bearbeiten

weitere nützliche Vorkenntnisse

Hier zählen wir einige Tools und Technologien auf, die wir in der Schulung verwenden. Sie müssen sich damit noch nicht zwingend gut auskennen, aber es wäre nützlich, wenn Sie damit vor der Schulung schon mal Kontakt hatten.

  • VisualStudioCode oder VSCodium mit Remote - SSH extension
  • Grundkenntnisse Konfigurationsmanagement (Ansible, Puppet, ...)
  • Grundverständnis der Programmierung (z.B. in einer der folgenden Sprachen Python, Go, Java, Ruby, PHP, Bash oder JavaScript)

Git

Kubernetes wird über eine große Zahl von Textdateien konfiguriert. Um im Fehler besser zurück zu verfolgen setzen wir dabei Git ein. Dazu gehört unter anderem:

  • Ein- und Auschecken von Text in und aus einem Repository

Diese Inhalte vermitteln wir in unserem Kurs 'Versionskontrolle mit Git''

Inhalt

Container Orchestration Konzepte

  • Container Technology Grundlagen
  • Architektur von Kubernetes
  • Kubernetes Core Komponenten
  • Kubernetes Cluster erzeugen
  • Eigene Container Registry erzeugen
  • Kubernetes Manifeste und Ressourcen
  • Kubernetes Control Plane im Einsatz
  • Kernel vs. Classical Virtualization
  • Erste Erfahrungen mit Pods
  • Container und Images
  • Pods
  • Services
  • Ingress Controller
  • Deployments und ReplicaSets
  • Basis CLI Tools
  • Kubernetes Tools
  • Container Orchestration

Praktische Experimente mit Kubernetes

  • HandsOn mit Pods und Services
  • Erzeugen eigener Container Images mit Dockerfiles
  • Build, Ship and Run-Zyklus
  • Docker CE Werkzeuge
  • Service Discovery
  • Scheduling (Node, Resources, Label und Constraints)
  • Lifecycle Management und Ressources
  • Volume Management
  • Network Management
  • DaemonSets und Jobs

Erzeuge Microservices mit Kubernetes

  • Kubernetes Provisionieren mit Helm Charts
  • Erstellen von Helm Charts
  • Denke Dir Deine Infrastruktur zuerst
  • Erzeuge eine einfache Microserivces Umgebung
  • Erzeuge Deine Toolchain
  • Namespaces, CGroups und Capabilities nutzen
  • Ingress Routing und Loadbalancer
  • Verwalten verschiedener Umgebungen
  • Kubernetes Packagemanagement mit Helm
  • Debugging und Troubleshooting

Provisionierung eines Kubernetes Clusters

  • Kubernetes Clusters Installation
  • Vorbereitung der Produktion für Kubernetes
  • Review des Setup des Cloud Kubernetes Clusters
  • Erzeuge Namespaces und Policies
  • Security und Role Base Access Control (RBAC)
  • Update, Failure Detection und Redeployment
  • Autoscaling
  • Logging und Metrics
  • Konzepte für Backup/Restore
  • Stateful Pods
  • Studieren eines einfachen Microservices
  • Network Policy

Tipps und Tricks

  • Tools (VSCode, k3d, GitOps, Operator, Service Mesh, Dashboards)
  • Konzepte zur Umsetzung von Microservices
  • Erzeuge bessere Container Images
  • Nutze Deine Service Discovery für die Bereitstellung Deiner Zugangsdaten
  • Networking
  • Debug Deine Services und Pods

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.

Preis und Dauer

3 Tage,
1.730,48 € + 19% MwSt. = 2.059,27 €

Übernachtungsoptionen

Termine und Anmeldung
  • 6. Mai, 3 Tage **
    Kubernetes anmelden
  • 13. Mai, 5 Tage **
    Docker und Kubernetes anmelden
  • 15. Mai, 3 Tage **
    Kubernetes anmelden
  • 10. Juni, 5 Tage **
    Docker und Kubernetes anmelden
  • 12. Juni, 3 Tage **
    Kubernetes anmelden
  • 17. Juli, 3 Tage
    Kubernetes anmelden
  • 29. Juli, 5 Tage
    Docker und Kubernetes - online anmelden
  • 31. Juli, 3 Tage
    Kubernetes - online anmelden
  • 5. August, 5 Tage
    Docker und Kubernetes anmelden
  • 7. August, 3 Tage
    Kubernetes anmelden

Haben Sie einen anderen Wunschtermin?

Für mit ** gekennzeichnete Termine ist die Mindestanzahl an Teilnehmern erreicht. Der Kurs findet aus heutiger Sicht sicher statt.