Kontakt aufnehmen

Schulungsübersicht

Tag 1 – Container und Image-Management

Einführung in Container-Plattformen

  • Vergleich traditioneller Anwendungs-Bereitstellung mit containerbasierter Bereitstellung
  • Container und virtuelle Maschinen
  • Container-Runtimes und Container-Engines
  • Die Rolle von Docker, Kubernetes und OpenShift
  • Häufige Architekturen von Container-Plattformen
  • Workflows für Entwicklung, Test und Produktion

Arbeiten mit Containern

  • Ausführen und Verwalten von Containern
  • Container-Lebenszyklus
  • Container starten, stoppen und entfernen
  • Ausführen von Befehlen innerhalb von Containern
  • Umgebungsvariablen
  • Port-Mapping
  • Container-Logs
  • Ressourcennutzung und Prozessüberprüfung

Erstellen von Container-Images

  • Image-Struktur und Layers
  • Erstellen von Dockerfiles und Containerfiles
  • Auswahl von Basis-Images
  • Hinzufügen von Anwendungsabhängigkeiten
  • Konfigurieren von Einstiegspunkten und Befehlen
  • Image-Caching
  • Verkleinern der Image-Grösse
  • Erstellen reproduzierbarer Images

Container-Registries

  • Öffentliche und private Registries
  • Taggen und Versionieren von Images
  • Pushen und Pullen von Images
  • Image-Authentifizierung
  • Image-Aufbewahrung und Bereinigung
  • Basis-Sicherheitsüberlegungen für Images

Container-Netzwerkverbindungen und Speicher

  • Konzepte des Container-Netzwerks
  • Bridge-Netzwerkverbindungen
  • Port-Freigabe
  • Kommunikation zwischen Containern
  • Bind Mounts und Volumes
  • Persistente Container-Daten
  • Betrachtungen zur Datensicherung

Praktische Übungen

  • Container ausführen und überprüfen
  • Anwendungs-Image erstellen
  • Ports und Umgebungsvariablen konfigurieren
  • Image in eine Registry hochladen
  • Persistente Daten ausserhalb 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 (Namespaces)
  • Labels und Annotations
  • Selectors
  • Deklarative Ressourcen-Definitionen
  • YAML-Manifests

Bereitstellen von Anwendungen

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

Anwendungskonfiguration

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

Ressourcenmanagement

  • CPU- und Memory-Anfragen
  • CPU- und Memory-Beschränkungen
  • Ressourcen-Quotas
  • Limit Ranges
  • Auswirkung auf die Planung (Scheduling)
  • Durchführen einer 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 mit ConfigMaps und Secrets konfigurieren
  • Ressourcen-Anfragen und -Beschränkungen anwenden

Tag 3 – Kubernetes-Netzwerkverbindungen, Speicher und Sicherheit

Kubernetes-Netzwerkverbindungen

  • Cluster-Netzwerkmodell
  • Kommunikation zwischen Pods
  • Dienstentdeckung (Service Discovery)
  • DNS innerhalb des Clusters
  • ClusterIP-Dienste
  • NodePort-Dienste
  • LoadBalancer-Dienste
  • Konzepte zu Ingress
  • Muster für die Anwendungs-Freigabe

Network Policies

  • Steuern des Datenverkehrs zwischen Workloads
  • Ingress- und Egress-Richtlinien
  • Datensteuerung auf Namespace-Ebene
  • Testen der Netzwerkverbindung
  • Troubleshooting der Dienstkommunikation

Persistenter Speicher

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

Zugriffskontrolle in Kubernetes

  • Konzepte zu Authentifizierung und Autorisierung
  • Role-Based Access Control (RBAC)
  • Rollen und ClusterRollen
  • RoleBindings und ClusterRoleBindings
  • Dienstkonten (Service Accounts)
  • Zugriff nach dem Prinzip der geringsten Rechte (Least Privilege)
  • Überprüfen effektiver Berechtigungen

Sicherheit von Workloads

  • Sicherheitskontexte (Security Contexts)
  • Ausführen von Containern ohne Root-Rechte
  • Linux-Fähigkeiten (Capabilities)
  • Nur lesbare Dateisysteme
  • Umgang mit Secrets
  • Herkunft der Images (Image Provenance)
  • Häufige Konfigurationsrisiken

Praktische Übungen

  • Eine Anwendung über Kubernetes-Dienste verfügbar machen
  • 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 Plattform für Anwendungen
  • Kubernetes-Ressourcen in einer OpenShift-Umgebung
  • OpenShift-Cluster-Architektur
  • Projekte und Namespaces
  • Plattform-Benutzer und Dienstkonten
  • Arbeiten mit der Webkonsole
  • Arbeiten mit der OpenShift-CLI

Verwalten von Projekten und Zugriffen

  • Erstellen und Verwalten von Projekten
  • Zuweisen von Benutzerberechtigungen
  • Rollen auf Projektebene
  • Administrativer Zugriff
  • Ressourcen-Quotas
  • Limit Ranges
  • Dienstkonten
  • Überprüfen von Projekt-Ressourcen

Bereitstellen von Anwendungen

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

Anwendungs-Freigabe (Exposure)

  • Dienste in OpenShift
  • Routes
  • Konzepte zu TLS
  • Interner und externer Anwendungszugriff
  • Hostnamen und Zertifikate
  • Troubleshooting von Route- und Dienstproblemen

Speicher in OpenShift

  • Persistent Volume Claims (PVCs)
  • StorageClasses
  • Anhängen von Speicher an Workloads
  • Zustandsbehaftete Workloads
  • Speicherzugriffsberechtigungen
  • Troubleshooting beim Einhängen von Volumes

Scheduling und Knotenverwaltung

  • Labels und Selectors
  • Node Selectors
  • Taints und Tolerations
  • Konzepte zu Affinity und Anti-Affinity
  • Workload-Platzierung
  • Cordoning und Draining von Nodes
  • Betrachtungen zur Wartung von Knoten

Praktische Übungen

  • Zugriff auf eine OpenShift-Umgebung erhalten
  • Ein Projekt erstellen und konfigurieren
  • Eine Anwendung bereitstellen und verfügbar machen
  • Benutzer- und Dienstkontozugriff konfigurieren
  • Persistenten Speicher anhängen
  • Einen laufenden Workload skalieren und aktualisieren

Tag 5 – Betrieb, Überwachung und Troubleshooting

Plattform-Überwachung

  • Überwachung der Cluster- und Anwendungsgesundheit
  • Ressourcenmetriken
  • Knotengesundheit (Node Health)
  • Status von Workloads
  • Kapazität und Ressourcennutzung
  • Identifizieren von Leistungseinschränkungen

Protokolle (Logging) und Ereignisse

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

Gesundheitsprüfungen (Health Checks)

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

Troubleshooting von Workloads

  • Pending Pods (Wartende Pods)
  • Fehler beim Abrufen des Images (Image Pull Failures)
  • Crash Loops
  • Fehlkonfigurierte Umgebungsvariablen
  • Fehlschlagendes Einhängen (Failed Mounts)
  • Nicht ausreichende Ressourcen
  • Berechtigungsfehler
  • Probleme mit Dienst- und Routenverbindungen
  • DNS-Probleme
  • Fehler beim Starten der Anwendung

Betriebsicherheit

  • Überprüfen von Berechtigungen
  • Nutzung von Dienstkonten
  • Sicherer Umgang mit Anmeldedaten
  • Bildsicherheitspraktiken
  • Netzwerkisolierung
  • Überprüfung des Plattformzugriffs (Auditing)
  • Anwenden des Prinzips der geringsten Rechte

Wartung und Lebenszyklusverwaltung

  • Routinemässige Plattformprüfungen
  • Knotenwartung
  • Betrachtungen zur Anwendungsdatensicherung
  • Sichern der Konfiguration
  • Updates-Planung
  • Änderungsmanagement
  • Testen von Updates
  • Rollback-Planung
  • Konzepte zur Disaster Recovery

Praktischer Abschlussworkshop

Die Teilnehmenden bearbeiten ein durchgängiges Betriebsszenario:

  • Erstellen und Taggen eines Container-Images.
  • Hochladen des Images in eine Registry.
  • Bereitstellen der Anwendung auf Kubernetes oder OpenShift.
  • Konfigurieren von Anwendungseinstellungen und Anmeldedaten.
  • Verfügbarmachen der Anwendung.
  • Anhängen persistenten Speichers.
  • Konfigurieren der Zugriffsberechtigungen.
  • Hinzufügen von Gesundheitsprüfungen (Health Checks).
  • Skalieren und Aktualisieren der Anwendung.
  • Diagnostizieren und Beheben eines eingeführten Fehlers.

Kursformat

  • Interaktive Vorträge und technische Diskussionen.
  • Demonstrationen durch die Dozentin oder den Dozenten.
  • Umfangreiche praktische Übungen.
  • Szenariobasierte Administrations- und Troubleshooting-Workshops.
  • Praktische Arbeit in Container-, Kubernetes- und OpenShift-Umgebungen.

Möglichkeiten zur Kursanpassung

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

Hinweis zu Markenrechten

OpenShift ist eine eingetragene Marke von Red Hat, Inc. Diese unabhängig entwickelte Schulung steht in keiner Verbindung zu Red Hat und wird nicht von Red Hat gefördert oder autorisiert.

Voraussetzungen

Die Teilnehmenden sollten über folgende Kenntnisse verfügen:

  • Erfahrung im Umgang mit der Linux-Befehlszeile.
  • Grundkenntnisse in Systemadministration oder DevOps.
  • Ein allgemeines Verständnis von Netzwerk Konzepten.
  • Bekanntschaft mit Software-Bereitstellungsprozessen.

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

 35 Stunden

Teilnehmerzahl


Preis je Teilnehmer (exkl. USt)

Erfahrungsberichte (7)

Kommende Kurse

Verwandte Kategorien