Kontakt aufnehmen

Schulungsübersicht

Tag 1 – Container und Image-Management

Einführung in Container-Plattformen

  • Vergleich der traditionellen Anwendungs-Bereitstellung 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, Test und Produktion

Arbeiten mit Containern

  • Ausführen und Verwalten von Containern
  • Container-Lebenszyklus
  • Starten, Stoppen und Entfernen von Containern
  • Ausführen von Befehlen innerhalb von Containern
  • Umgebungsvariablen
  • Portzuordnung
  • Container-Logs
  • Ressourcennutzung und Prozessinspektion

Erstellen von Container-Images

  • Image-Struktur und Schichten
  • Erstellen von Dockerfiles und Containerfiles
  • Auswahl von Basis-Images
  • Hinzufügen von Anwendungsabhängigkeiten
  • Konfigurieren von Einstiegspunkten und Befehlen
  • Image-Caching
  • Verringern der Image-Größe
  • Erstellen reproduzierbarer Images

Container-Registries

  • Öffentliche und private Registries
  • Taggen und Versionieren von Images
  • Hochladen (Push) und Herunterladen (Pull) von Images
  • Image-Authentifizierung
  • Image-Aufbewahrung und Bereinigung
  • Basics der Image-Sicherheit

Container-Netzwerktechnik und Speicher

  • Konzepte des Container-Netzwerks
  • Bridge-Netzwerktechnik
  • Port-Freigabe
  • Kommunikation zwischen Containern
  • Bind Mounts und Volumes
  • Persistente Container-Daten
  • Sicherheitsaspekte beim Backup

Praktische Übungen

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

Tag 2 – Kubernetes-Architektur und Workloads

Kubernetes-Grundlagen

  • Der Zweck der Container-Orchestrierung
  • Kubernetes-Architektur
  • Komponenten der Steuerungsplane (Control Plane)
  • Worker Nodes
  • API-Server
  • Scheduler
  • Controller
  • Cluster-Zustand und Desired State
  • Kommunikation mit dem Cluster über kubectl

Kubernetes-Ressourcen

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

Bereitstellen von Anwendungen

  • Erstellen und Verwalten von Deployments
  • Skalieren von Workloads
  • Aktualisieren von Container-Images
  • Rolling Updates
  • Rollbacks
  • Deployment-Verlauf
  • Neustart von Workloads
  • Verwalten von Anwendungs-Repliken

Anwendungskonfiguration

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

Ressourcenmanagement

  • CPU- und Memory-Anforderungen (Requests)
  • CPU- und Memory-Limits
  • Ressourcenkontingente (Quotas)
  • Limit Ranges
  • Auswirkungen auf die Planung (Scheduling)
  • Diagnose von ressourcenbedingten Fehlern

Praktische Übungen

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

Tag 3 – Kubernetes-Netzwerktechnik, Speicher und Sicherheit

Kubernetes-Netzwerktechnik

  • Cluster-Netzwerkmodell
  • Kommunikation zwischen Pods
  • Dienstentdeckung (Service Discovery)
  • DNS innerhalb des Clusters
  • ClusterIP-Dienste
  • NodePort-Dienste
  • LoadBalancer-Dienste
  • Ingress-Konzepte
  • Muster zur Exponierung von Anwendungen

Netzwerkrichtlinien (Network Policies)

  • Steuerung des Datenverkehrs zwischen Workloads
  • Ingress- und Egress-Regeln
  • Datenverkehrskontrolle auf Namenspurnebene
  • Testen der Netzwerkverbindung
  • Fehlersuche bei der Dienstkommunikation

Persistenter Speicher

  • Ephemere und persistente Speicherung
  • Volumes
  • PersistentVolumes
  • PersistentVolumeClaims
  • StorageClasses
  • Dynamische Bereitstellung
  • Zugriffsmodi
  • Zurückhaltestrategien (Reclaim Policies)
  • Speicher für zustandsbehaftete Anwendungen

Zugriffskontrolle in Kubernetes

  • Konzepte der Authentifizierung und Autorisierung
  • Role-Based Access Control (RBAC)
  • Rollen und ClusterRoles
  • RoleBindings und ClusterRoleBindings
  • Service-Accounts
  • Zugriff nach dem Prinzip des geringsten Privilegs
  • Überprüfen der effektiven Berechtigungen

Sicherheit von Workloads

  • Sicherheitskontexte (Security Contexts)
  • Ausführen von Containern als Nicht-Root-Benutzer
  • Linux-Fähigkeiten (Capabilities)
  • Lese-only-Dateisysteme
  • Umgang mit Secrets
  • Herkunft der Images
  • Häufige Konfigurationsrisiken

Praktische Übungen

  • Eine Anwendung über Kubernetes-Dienste exponieren
  • Ingress konfigurieren
  • Datenverkehr mit einer Network Policy einschränken
  • Persistenten Speicher bereitstellen
  • RBAC-Berechtigungen konfigurieren
  • Einen Workload mit einem angemessenen Sicherheitskontext ausführen

Tag 4 – Arbeiten mit OpenShift-Umgebungen

Einführung in OpenShift

  • OpenShift als Kubernetes-basierte Anwendungsplattform
  • Kubernetes-Ressourcen in einer OpenShift-Umgebung
  • OpenShift-Cluster-Architektur
  • Projekte und Namenspurn
  • Plattformbenutzer und Service-Accounts
  • Arbeiten mit der Webkonsole
  • Arbeiten mit der OpenShift-Befehlszeilenschnittstelle (CLI)

Verwalten von Projekten und Zugriff

  • Erstellen und Verwalten von Projekten
  • Zuweisen von Benutzerberechtigungen
  • Rollen auf Projektebene
  • Administrativer Zugriff
  • Ressourcenkontingente (Quotas)
  • Limit Ranges
  • Service-Accounts
  • Überprüfen von Projektressourcen

Bereitstellen von Anwendungen

  • Bereitstellen von Container-Images
  • Erstellen von Anwendungsworkloads
  • Verwalten von Deployments
  • Skalieren von Anwendungen
  • Aktualisieren von Anwendungsversionen
  • Rollbacks
  • Verwalten der Anwendungskonfiguration
  • Arbeiten mit Secrets

Exponierung von Anwendungen

  • Dienste in OpenShift
  • Routes
  • TLS-Konzepte
  • Interner und externer Anwendungszugriff
  • Hostnamen und Zertifikate
  • Fehlersuche bei Route- und Dienstproblemen

Speicher in OpenShift

  • Persistent Volume Claims
  • StorageClasses
  • Anhängen von Speicher an Workloads
  • Zustandsbehaftete Workloads
  • Speicherzugriffsberechtigungen
  • Fehlersuche beim Mounten von Volumes

Scheduling und Knotenverwaltung

  • Labels und Selectors
  • Node Selectors
  • Taints und Tolerations
  • Konzepte von Affinität und Anti-Affinität
  • Workload-Platzierung
  • Cordoning und Draining von Nodes
  • Betrachtungen zur Knotenwartung

Praktische Übungen

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

Tag 5 – Betrieb, Monitoring und Fehlersuche

Plattform-Monitoring

  • Überwachen der Cluster- und Anwendungsgesundheit
  • Ressourcenmetriken
  • Knotengesundheit
  • Workload-Status
  • Kapazität und Ressourcennutzung
  • Identifizieren von Leistungsbeschränkungen

Logging und Ereignisse

  • Container-Logs
  • Pod-Logs
  • Vorherige Container-Logs
  • Kubernetes-Ereignisse
  • Anwendungs- und Plattformmeldungen
  • Filtern und Interpretieren operativer Daten

Gesundheitsprüfungen (Health Checks)

  • Startup Probes
  • Readiness Probes
  • Liveness Probes
  • Entwerfen nützlicher Health-Endpunkte
  • Diagnose von Probe-Fehlern
  • Vorbeugen unnötiger Anwendungsneustarts

Fehlersuche bei Workloads

  • Stehende Pods (Pending)
  • Fehler beim Abrufen von Images
  • Crash Loops
  • Falsch konfigurierte Umgebungsvariablen
  • Fehlgeschlagene Mounts
  • Nicht genügend Ressourcen
  • Berechtigungsfehler
  • Probleme mit der Service- und Routenverbindung
  • DNS-Probleme
  • Fehler beim Starten der Anwendung

Operationale Sicherheit

  • Überprüfen von Berechtigungen
  • Nutzung von Service-Accounts
  • Sicherer Umgang mit Anmeldedaten
  • Image-Sicherheitspraktiken
  • Netzwerkisolierung
  • Auditieren des Plattformzugriffs
  • Anwenden des Prinzips des geringsten Privilegs

Wartung und Lebenszyklusmanagement

  • Routine-Prüfungen der Plattform
  • Knotenwartung
  • Betrachtungen zur Anwendungsbackup
  • Sichern der Konfiguration
  • Planung von Updates
  • Änderungsmanagement
  • Testen von Updates
  • Planung von Rollbacks
  • Konzepte der Disaster Recovery

Praktischer Abschlussworkshop

Die Teilnehmer absolvieren ein durchgängiges operationales Szenario:

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

Kursformat

  • Interaktive Vorlesungen und technische Diskussionen.
  • Demonstrationen durch den Dozenten.
  • Umfangreiche praktische Übungen.
  • Szenariobasierte Administrations- und Fehlersuchworkshops.
  • 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-Tooling der Teilnehmer angepasst werden.
  • Das Verhältnis der Themen Docker, Kubernetes und OpenShift kann entsprechend der Erfahrung des Teams angepasst werden.
  • Die praktischen Übungen können an die Anwendungen, Bereitstellungsprozesse und operationellen Anforderungen der Organisation angepasst werden.

Hinweis zu Markenrechten

OpenShift ist eine eingetragene Marke der Red Hat, Inc. Diese unabhängig entwickelte Schulung steht nicht in Verbindung mit, wird weder von noch ist sie von Red Hat unterstützt oder autorisiert.

Voraussetzungen

Für eine aktive Teilnahme sind folgende Voraussetzungen erforderlich:

  • Erfahrung in der Nutzung der Linux-Kommandozeile.
  • Grundsätzliche Kenntnisse im Bereich Systemadministration oder DevOps.
  • Grundlegendes Verständnis von Netzwerkprinzipien.
  • Bekanntheit mit Standardverfahren der Softwarebereitstellung.

Vorkenntnisse in Docker, Kubernetes oder OpenShift sind zwar nützlich, aber keine zwingende Voraussetzung.

 35 Stunden

Teilnehmerzahl


Preis je Teilnehmer (exkl. USt)

Erfahrungsberichte (7)

Kommende Kurse

Verwandte Kategorien