Schulungsübersicht
Modul 1: Microservices-Design
• Eine gute Microservice-Grenze
• Verwendung von Domain Driven Design (DDD)
• Alternativen zu Business-Domain-Grenzen (Volatilität, Daten, Technologie, Organisation)
• Zerlegung des Monolithen
• Vorzeitige Dekomposition
• Schichtweise Zerlegung
• Verwendung von Dekompositions-Mustern (Strangler, Parallel Run, Feature Toggle)
• Datenzerlegungsaspekte (Leistung, Integrität, Transaktionen)
Modul 2: Optimierung von Docker und der Laufzeitumgebung
• Auswahl des richtigen Basisimages
• Minimierung der Anzahl der Schichten
• Verwendung von Multi-Stage-Builds
• Image-Optimierung (Sortieren von mehrzeiligen Argumenten, etc.)
• Nutzen des Build-Caches
• Fixieren von Image-Versionen
• Feineinstellung der Ressourcenzuordnung
• Sicherheitsrichtlinien für Container
• Laufzeitkonfiguration zur Leistungssteigerung
Modul 3: Kubernetes & Release-Strategien
Überblick über Kubernetes-Bereitstellungen
• Erstellung und Ausführung einer ersten Bereitstellung
• Bereitstellungs-Optionen in Kubernetes
Durchführung von rollenden Updates
• Rollendes Update verstehen
• Erstellung und Ausführung eines rollenden Updates
• Rollback einer Bereitstellung
Durchführung von Canary-Bereitstellungen
• Verstehen von Canary-Bereitstellungen
• Erstellung und Ausführung einer Canary-Bereitstellung
Durchführung von Blue-Green-Bereitstellungen
• Verstehen von Blue-Green-Bereitstellungen
• Erstellung und Ausführung einer Blue-Green-Bereitstellung
Durchführen von Jobs und CronJobs
• Erstellen eines Jobs und eines CronJobs
Durchführung von Überwachungs- und Troubleshooting-Aufgaben
• Troubleshooting-Techniken mit kubectl
Modul 4: Automatisierung & Betriebs-effizienz
Verwendung von Python zur Automatisierung häufiger Aufgaben in Kubernetes
• Verwendung von Python für administrative Operationen in Kubernetes
• Verwendung von Python zur Definition von Konfigurationsobjekten
• Verwendung von Python zur Erstellung von Bereitstellungsobjekten
• Überwachen von Kubernetes-Ereignissen mit Python
• Skalieren einer Bereitstellung mit Python
Verstehen der Herausforderungen bei der Automatisierung von Bereitstellungen
• Deklarative Konfiguration in Kubernetes
• Verwalten der Integrität der Konfiguration
Verwendung des GitOps-Ansatzes zur Automatisierung von Bereitstellungen
• GitOps-Grundsätze
• Einführung in Flux
• Installieren von Flux auf einem Kubernetes-Cluster
Konfigurieren von Flux für automatisierte Bereitstellungen
• Verwendung von Benachrichtigungen
• Struktur des Quellcode-Repositorys
Anwendungsaktualisierungen mit Image-Automatisierung verwalten
• Aktualisieren einer Anwendungsbereitstellung mit Flux
• Scannen von Container-Image-Repositories auf Tags
• Definieren von Richtlinien für die Auswahl des neuesten Images
• Konfigurieren von Flux zur Durchführung automatisierter Image-Aktualisierungen
Modul 5: Observabilität & Ursachenanalyse
Logging- und Tracing-Fähigkeiten in Kubernetes
• Warum sind Logging und Tracing wichtig?
• Zugriff auf die Kubernetes-Logs
• Pod- und Container-Logs
• Control Plane-Logs
• Ressourcenverbrauch von Knoten und Pods
Sammeln und Analysieren der Logs
• Log-Aggregation
• Log-Visualisierung
Verteiltes Tracing in Kubernetes
• Was ist verteiltes Tracing?
• Verwendung von OpenTelemetry
• Tools für verteiltes Tracing
• Instrumentieren einer Anwendung
• Verwenden des Tracings zur Identifizierung von Leistungsproblemen
Überwachung mit Prometheus und Grafana
• Observabilitätskonzepte
• Monitoring-Tools
• Verwendung von Prometheus-Instrumentation
Erweiterte Anwendungsfälle für Logging
• Verarbeiten von Logs
• Filtern und Enrichen der Logs
• Event Sourcing
Modul 6: Cluster-Krisensimulation & Inzidentmanagement
• Verstehen der verschiedenen Ausfallarten in einer Clustenumgebung
• Simulation von Knotenausfällen
• Pod-Eviction- & Ressourcenknappheitsszenarien
• Netzwerkprobleme
• DNS-Ausfälle zur Fehlerbehandlung von Anwendungen
• Simulation eines API-Serverausfalls
• Simulation hoher Last für die Systemstabilität
• Speicherfehler
• Konfigurationsfehler
• Verstehen der Inzidentberichterstattungsverfahren
Modul 7: KI zur Unterstützung bei der Troubleshooting
• Vorteile der generativen KI für Kubernetes
• Architektur des K8sGPT-CLIs
• Installieren des K8sGPT-CLI
• Befehle und Verwendung von K8sGPT
• Verwenden von K8sGPT-Analysewerkzeugen (podAnalyzer, pvcAnalyzer, rsAnalyzer, etc.)
• Analysieren des Clusters mit K8sGPT
• Analysieren aktueller Probleme in Echtzeit mit K8sGPT
• In-Cluster-Operator für K8sGPT
Voraussetzungen
- Grundkenntnisse der Linux-Befehlszeile
- Erfahrung mit Anwendungsentwicklung oder Systemadministration
- Vertrautheit mit Containern (Docker-Konzepte)
- Grundverständnis von Kubernetes-Konzepten (Pods, Deployments, Services)
- Allgemeines Verständnis von Softwarearchitektur (z.B. APIs, Services)
Zielgruppe:
- DevOps-Engineer
- Site Reliability Engineers (SREs)
- Backend- oder Softwareentwickler, die mit Microservices arbeiten
- Cloud-Engineer und Plattform-Engineer
-
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