Schulungsübersicht
Modul 1: Design von Mikroservices
• Eine gute Mikroservice-Grenze
• Anwendung von Domain-Driven Design (DDD)
• Alternativen zu Geschäftsdomain-Grenzen (Volatilität, Daten, Technologie, Organisation)
• Aufspaltung des Monoliths
• Vorzeitige Dekomposition
• Dekomposition nach Schichten
• Einsatz von Dekompositionsmustern (Strangler, Parallel Run, Feature Toggle)
• Aspekte der Datenzerlegung (Leistung, Integrität, Transaktionen)
Modul 2: Optimierung von Docker und der Laufzeitumgebung
• Wahl des passenden Basis-Images
• Minimierung der Anzahl der Layers
• Nutzung von Multi-Stage-Builds
• Image-Optimierung (z.B. Sortierung von mehrzeiligen Argumenten)
• Nutzung des Build-Caches
• Festlegen spezifischer Image-Versionen (Pinning)
• Feinabstimmung der Ressourcenallokation
• Sichere Container-Praktiken
• Laufzeitkonfiguration für Performance
Modul 3: Kubernetes & Release-Strategien
Überblick über Kubernetes Deployments
• Erstellen und Ausführen einer Erstbereitstellung (Initial Deployment)
• Optionen für Kubernetes Deployments
Durchführung von Rolling-Update-Bereitstellungen
• Verständnis von Rolling Updates
• Erstellen und Ausführen eines Rolling Updates
• Zurücksetzen des Deployments (Rolling Back)
Durchführung von Canary-Deployments
• Verständnis von Canary Deployments
• Erstellen und Ausführen eines Canary Deployments
Durchführung von Blue-Green-Deployments
• Verständnis von Blue-Green-Deployments
• Erstellen und Ausführen eines Blue-Green-Deployments
Ausführung von Jobs und CronJobs
• Erstellen eines Jobs und CronJob
Durchführung von Monitoring- und Troubleshooting-Aufgaben
• Troubleshooting-Techniken mit kubectl
Modul 4: Automatisierung & Betriebseffizienz
Automatisierung häufiger Aufgaben in Kubernetes mittels Python
• Nutzung von Python für administrative Operationen in Kubernetes
• Definition von Konfigurationsobjekten mit Python
• Erstellen von Deployment-Objekten mit Python
• Beobachten von Kubernetes-Events mittels Python
• Skalieren eines Deployments mittels Python
Verständnis der Herausforderungen bei der Automatisierung von Bereitstellungen
• Deklarative Konfiguration mit Kubernetes
• Verwaltung der Integrität der Konfiguration
Einsatz des GitOps-Ansatzes zur Automatisierung von Bereitstellungen
• Prinzipien von GitOps
• Einführung in Flux
• Installation von Flux in einem Kubernetes-Cluster
Konfiguration von Flux für automatisierte Bereitstellungen
• Nutzung von Notifications
• Struktur des Source-Repositories
Verwaltung von Anwendungsaktualisierungen mit Image Automation
• Aktualisierung eines Anwendungs-Deployments mit Flux
• Durchsuchen von Container-Image-Repositories nach Tags
• Definition einer Richtlinie zur Auswahl des neuesten Images
• Konfiguration von Flux für automatische Image-Aktualisierungen
Modul 5: Observability & Klarheit der Root Cause
Logging- und Tracing-Fähigkeiten in Kubernetes
• Warum sind Logging und Tracing wichtig?
• Zugriff auf Kubernetes-Logs
• Pod- und Container-Logs
• Control Plane Logs
• Ressourcennutzung von Nodes und Pods
Sammlung und Analyse der Logs
• Log-Aggregation
• Visualisierung der Logs
Distributed Tracing in Kubernetes
• Was ist Distributed Tracing?
• Nutzung von OpenTelemetry
• Tools für Distributed Tracing
• Instrumentierung einer Anwendung
• Einsatz von Tracing zur Identifizierung von Performance-Problemen
Monitoring mit Prometheus und Grafana
• Konzepte der Observability
• Monitoring-Tools
• Nutzung von Prometheus Instrumentation
Fortgeschrittene Anwendungsfälle für Logging
• Verarbeitung von Logs
• Filtern und Anreichern der Logs
• Event Sourcing
Modul 6: Cluster-Crisis-Simulation & Incident Response
• Verständnis der verschiedenen Fehlerarten in einer Cluster-Umgebung
• Simulation von Node-Ausfällen
• Szenario: Pod Eviction & Ressourcenerschöpfung
• Netzwerkprobleme
• DNS-Ausfälle zur Handhabung von Anwendungs-Timeouts
• Simulation eines API-Server-Ausfalls
• Simulation hohem Traffic für die Systemstabilität
• Storage-Fehler
• Konfigurationsfehler
• Verständnis der Verfahren zur Incident-Meldung
Modul 7: KI zur Unterstützung des Troubleshooting
• Vorteile von Generative AI für Kubernetes
• K8sGPT CLI-Architektur
• Installation der K8sGPT CLI
• Befehle und Verwendung von K8sGPT
• Nutzung von K8sGPT Analyzers (podAnalyzer, pvcAnalyzer, rsAnalyzer usw.)
• Analyse des Clusters mit K8sGPT
• Analyse aktueller Probleme mittels K8sGPT
• In-Cluster Operator für K8sGPT
Voraussetzungen
- Grundkenntnisse der Linux-Befehlszeile
- Erfahrung in der Anwendungsentwicklung oder Systemadministration
- Vertrautheit mit Containern (Docker-Konzepte)
- Grundlegendes Verständnis von Kubernetes-Konzepten (Pods, Deployments, Services)
- Allgemeines Verständnis der Softwarearchitektur (z.B. APIs, Dienste)
Zielgruppe:
- DevOps Engineers
- Site Reliability Engineers (SREs)
- Backend- / Softwareentwickler, die mit Mikroservices arbeiten
- Cloud Engineers und Platform Engineers
-
Systemadministratoren, die in Kubernetes-Umgebungen wechseln
Erfahrungsberichte (2)
Craig war extrem engagiert im Training und hat stets darauf geachtet, dass wir aufmerksam sind. Er passte die Beispiele an unsere täglichen Aktivitäten an und gab immer eine Antwort, wenn danach gefragt wurde, auch wenn die Information nicht im Präsentationsmaterial enthalten war.
Ecaterina Ioana Nicoale - BOOKING HOLDINGS ROMANIA SRL
Kurs - DevOps Foundation®
Maschinelle Übersetzung
Hoher Einsatz und Fachwissen des Trainers
Jacek - Softsystem
Kurs - DevOps Engineering Foundation (DOEF)®
Maschinelle Übersetzung