Kontakt aufnehmen

Schulungsübersicht

Tag 1 – Container und Bildverwaltung

Einführung in Container-Plattformen

  • Vergleich herkömmlicher Anwendungsbereitstellung mit containerbasierter Bereitstellung
  • Container und virtuelle Maschinen
  • Container-Laufzeiten und Container-Engines
  • Die Rolle von Docker, Kubernetes und OpenShift
  • Häufige Container-Plattform-Architekturen
  • Arbeitsabläufe für Entwicklung, Tests und Produktion

Arbeit mit Containern

  • Ausführen und Verwalten von Containern
  • Lebenszyklus von Containern
  • Container starten, stoppen und entfernen
  • Ausführen von Befehlen innerhalb von Containern
  • Umgebungsvariablen
  • Port-Zuordnung
  • Container-Protokolle
  • Ressourcennutzung und Prozessinspektion

Erstellen von Container-Bildern

  • Bildstruktur und Schichten
  • Erstellung von Dockerfiles und Containerfiles
  • Auswahl von Basisbildern
  • Hinzufügen von Anwendungsabhängigkeiten
  • Konfigurieren von Einstiegspunkten und Befehlen
  • Bild-Caching
  • Verkleinerung der Bildgröße
  • Erstellen reproduzierbarer Bilder

Container-Registries

  • Öffentliche und private Registries
  • Bild-Tags und Versionierung
  • Pushen und Pulren von Bildern
  • Bild-Authentifizierung
  • Aufbewahrung und Bereinigung von Bildern
  • Grundlegende Sicherheitsaspekte bei Bildern

Container-Netzwerk und Speicher

  • Konzepte des Container-Netzwerks
  • Bridge-Netzwerk
  • Port-Freigabe
  • Kommunikation zwischen Containern
  • Bind-Mounts und Volumes
  • Persistente Container-Daten
  • Aspekte der Datensicherung

Praktische Übungen

  • Container ausführen und inspizieren
  • Eine Anwendungsbild erstellen
  • Ports und Umgebungsvariablen konfigurieren
  • Bild in eine Registry veröffentlichen
  • Persistente Daten außerhalb eines Containers speichern

Tag 2 – Kubernetes-Architektur und Workloads

Kubernetes-Grundlagen

  • Zweck der Container-Orchestrierung
  • Kubernetes-Architektur
  • Komponenten der Control Plane
  • Worker Nodes
  • API-Server
  • Scheduler
  • Controller
  • Cluster-Zustand und gewünschter Zustand
  • Kommunikation mit dem Cluster über kubectl

Kubernetes-Ressourcen

  • Pods
  • ReplicaSets
  • Deployments
  • Namensräume
  • Labels und Annotationen
  • Selectors
  • Deklarative Ressourcendefinitionen
  • YAML-Manifests

Bereitstellung von Anwendungen

  • Erstellen und Verwalten von Deployments
  • Skalieren von Workloads
  • Aktualisieren von Container-Bildern
  • Rolling Updates
  • Rollbacks
  • Deployment-Historie
  • Neustart von Workloads
  • Verwalten von Anwendungs-Replikas

Anwendungskonfiguration

  • ConfigMaps
  • Secrets
  • Umgebungsvariablen
  • Konfigurationsdateien
  • Trennen von Anwendungscode und Konfiguration
  • Verwalten umgebungsspezifischer Einstellungen

Ressourcenmanagement

  • CPU- und Speicheranforderungen (Requests)
  • CPU- und Speicherbegrenzungen (Limits)
  • Ressourcenquoten
  • Limit-Ranges
  • Auswirkugen auf die Planung (Scheduling)
  • Diagnose ressourcenbezogener Ausfälle

Praktische Übungen

  • Eine containerisierte Anwendung bereitstellen
  • Kubernetes-Manifests erstellen und aktualisieren
  • Eine Anwendung skalieren
  • Einen Rolling Update und Rollback durchführen
  • Anwendung über ConfigMaps und Secrets konfigurieren
  • Ressourcen-Anforderungen und -Begrenzungen anwenden

Tag 3 – Kubernetes-Netzwerk, Speicher und Sicherheit

Kubernetes-Netzwerk

  • Cluster-Netzwerkmodell
  • Pod-zu-Pod-Kommunikation
  • Dienstentdeckung (Service Discovery)
  • DNS innerhalb des Clusters
  • ClusterIP-Dienste
  • NodePort-Dienste
  • LoadBalancer-Dienste
  • Ingress-Konzepte
  • Muster zur Anwendungsexposition

Network Policies

  • Steuern des Verkehrs zwischen Workloads
  • Egress- und Ingress-Regeln
  • Verkehrssteuerung basierend auf Namespaces
  • Testen der Netzwerk-Konnektivität
  • Beheben von Kommunikationsproblemen bei Diensten

Persistenter Speicher

  • Ephemere und persistente Speicher
  • Volumes
  • PersistentVolumes
  • PersistentVolumeClaims
  • StorageClasses
  • Dynamische Bereitstellung (Dynamic Provisioning)
  • Zugriffsmodi
  • Reclaim-Policies
  • Speicher für zustandsbehaftete Anwendungen

Zugriffskontrolle in Kubernetes

  • Konzepte der Authentifizierung und Autorisierung
  • Role-Based Access Control (RBAC)
  • Rollen (Roles) und ClusterRollen
  • RoleBindings und ClusterRoleBindings
  • Service Accounts
  • Zugriff nach dem Prinzip der geringsten Rechte
  • Inspektieren effektiver Berechtigungen

Sicherheit von Workloads

  • Security Contexts
  • Ausführen von Containern als Nicht-Root-Benutzer
  • Linux-Fähigkeiten (Capabilities)
  • Read-only Dateisysteme
  • Handling von Secrets
  • Bild-Herkunft (Image Provenance)
  • Häufige Konfigurationsrisiken

Praktische Übungen

  • Eine Anwendung über Kubernetes-Dienste exponieren
  • Ingress konfigurieren
  • Verkehr mittels Network Policy einschränken
  • Persistenten Speicher bereitstellen
  • RBAC-Berechtigungen konfigurieren
  • Einen Workload mit einem passenden Security Context ausführen

Tag 4 – Arbeit mit OpenShift-Umgebungen

Einführung in OpenShift

  • OpenShift als Kubernetes-basierte Anwendungsplattform
  • Kubernetes-Ressourcen in einer OpenShift-Umgebung
  • OpenShift-Cluster-Architektur
  • Projekte und Namespaces
  • Plattform-Benutzer und Service Accounts
  • Arbeiten mit der Web-Konsole
  • Arbeiten mit der OpenShift CLI

Verwalten von Projekten und Zugriff

  • Erstellen und Verwalten von Projekten
  • Zuweisen von Benutzerberechtigungen
  • Projektspezifische Rollen
  • Administrativer Zugang
  • Ressourcenquoten
  • Limit-Ranges
  • Service Accounts
  • Überprüfen von Projektressourcen

Bereitstellung von Anwendungen

  • Bereitstellen von Container-Bildern
  • Erstellen von Anwendungs-Workloads
  • Verwalten von Deployments
  • Skalieren von Anwendungen
  • Aktualisieren von Anwendungsversionen
  • Rollbacks
  • Verwalten der Anwendungskonfiguration
  • Arbeiten mit Secrets

Anwendungsexposition

  • Dienste in OpenShift
  • Routen (Routes)
  • TLS-Konzepte
  • Interner und externer Anwendungszugriff
  • Hostnamen und Zertifikate
  • Beheben von Problemen mit Routen und Diensten

Speicher in OpenShift

  • Persistent Volume Claims
  • StorageClasses
  • Anhängen von Speicher an Workloads
  • Zustandsbehaftete Workloads
  • Speicherzugriffsberechtigungen
  • Beheben von Problemen beim Einhängen von Volumes

Scheduling und Knotenmanagement

  • Labels und Selectors
  • Node Selectors
  • Taints und Tolerations
  • Konzepte von Affinität und Anti-Affinität
  • Zuweisung von Workloads (Workload Placement)
  • Cordoning und Draining von Knoten
  • Aspekte der Knoten-Wartung

Praktische Übungen

  • Auf eine OpenShift-Umgebung zugreifen
  • Ein Projekt erstellen und konfigurieren
  • Eine Anwendung bereitstellen und exponieren
  • Berechtigungen für Benutzer und Service Accounts konfigurieren
  • Persistenten Speicher anhängen
  • Laufenden Workload skalieren und aktualisieren

Tag 5 – Betrieb, Überwachung und Fehlerbehebung

Plattform-Überwachung

  • Überwachen der Cluster- und Anwendungsgesundheit
  • Ressourcenmetriken
  • Knotengesundheit
  • Status von Workloads
  • Kapazität und Ressourcennutzung
  • Identifizieren von Leistungsengpässen

Protokolle (Logging) und Ereignisse

  • Container-Logs
  • Pod-Logs
  • Vorherige Container-Logs
  • Kubernetes-Ereignisse
  • Anwendungs- und Plattformmeldungen
  • Filtern und Interpretieren von Betriebsdaten

Gesundheitschecks

  • Startup Probes
  • Readiness Probes
  • Liveness Probes
  • Entwerfen nützlicher Health-Endpunkte
  • Diagnose von Probe-Ausfällen
  • Verhindern unnötiger Anwendungsneustarts

Fehlerbehebung bei Workloads

  • Pending Pods
  • Fehler beim Abrufen von Bildern (Image Pull Failures)
  • Crash Loops
  • Fehlkonfigurierte Umgebungsvariablen
  • Feinschläge beim Einhören (Failed Mounts)
  • Unzureichende Ressourcen
  • Berechtigungsfehler
  • Probleme mit der Service- und Routen-Konnektivität
  • DNS-Probleme
  • Anwendungsstartfehler

Betriebssicherheit

  • Überprüfen von Berechtigungen
  • Nutzung von Service Accounts
  • Sicherer Umgang mit Anmeldedaten
  • Best-Practices für Bildsicherheit
  • Netzwerkisolation
  • Auditing des Plattformzugriffs
  • Anwenden des Prinzips der geringsten Rechte

Wartung und Lebenszyklusmanagement

  • Routine-Plattformchecks
  • Knotenwartung
  • Aspekte der Anwendungssicherung
  • Sicherung der Konfiguration
  • Aktualisierungsplanung
  • Änderungsmanagement
  • Testen von Updates
  • Rollback-Planung
  • Konzepte zur Disaster Recovery

Praktischer Abschlussworkshop

Die Teilnehmenden absolvieren ein durchgängiges Betriebsszenario:

  • Ein Container-Bild erstellen und taggen.
  • Bild in eine Registry veröffentlichen.
  • Anwendung in Kubernetes oder OpenShift bereitstellen.
  • Anwendungseinstellungen und Anmeldedaten konfigurieren.
  • Anwendung exponieren.
  • Persistenten Speicher anhängen.
  • Zugriffsberechtigungen konfigurieren.
  • Gesundheitschecks hinzufügen.
  • Anwendung skalieren und aktualisieren.
  • Einen eingeführten Fehler diagnostizieren und beheben.

Kursformat

  • Interaktive Vorträge und technische Diskussionen.
  • Demonstrationen durch den Dozenten.
  • Umfangreiche praktische Übungen.
  • Szenariobasierte Verwaltungs- und Fehlerbehebungsworkshops.
  • Praktische Arbeit in Container-, Kubernetes- und OpenShift-Umgebungen.

Möglichkeiten zur Kursanpassung

  • Der Kurs kann an die bestehende Infrastruktur, den Cloud-Anbieter und die Container-Tools der Teilnehmenden angepasst werden.
  • Das Verhältnis zwischen Docker-, Kubernetes- und OpenShift-Themen kann entsprechend den Vorkenntnissen des Teams angepasst werden.
  • Die praktischen Übungen können an die Anwendungen, Bereitstellungsprozesse und Betriebsanforderungen der Organisation angepasst werden.

Hinweis zu Markenrechten

OpenShift ist eine Marke der Red Hat, Inc. Diese unabhängig entwickelte Schulung steht nicht in Verbindung mit, wird nicht von Red Hat gebilligt oder autorisiert.

Voraussetzungen

Die Teilnehmenden sollten folgendermaßen vorliegen:

  • Erfahrung in der Nutzung der Linux-Befehlszeile.
  • Grundkenntnisse in Systemadministration oder DevOps.
  • Allgemeines Verständnis von Netzwerk-Konzepten.
  • Bekanntschaft mit Software-Bereitstellungsprozessen.

Vorerfahrungen mit Docker, Kubernetes oder OpenShift sind hilfreich, aber nicht erforderlich.

 35 Stunden

Teilnehmerzahl


Preis je Teilnehmer (exkl. USt)

Erfahrungsberichte (7)

Kommende Kurse

Verwandte Kategorien