Schulungsübersicht
Modul 1: Microservice-Design
• Eine gute Microservice-Grenze
• Domänengetriebenes Design (Domain Driven Design, DDD)
• Alternativen zu Geschäftsdomänengrenzen (Volatilität, Daten, Technologie, Organisation)
• Aufspaltung des Monolithen
• Vorzeitige Decomposition
• Decomposition nach Schichten
• Einsatz von Decomposition-Patterns (Strangler Pattern, Parallel Run, Feature Toggles)
• Daten-Decomposition-Aspekte (Performance, Integrität, Transaktionen)
Modul 2: Optimierung von Docker und der Runtime
• Auswahl des richtigen Basis-Images
• Minimierung der Anzahl der Layers
• Nutzung mehrstufiger Builds (Multi-stage builds)
• Image-Optimierung (z. B. Sortierung von mehrzeiligen Argumenten)
‥ Ausnutzung des Build-Caches
• Pinning von Image-Versionen
• Feinabstimmung der Ressourcenallokation
• Sichere Container-Praktiken
• Runtime-Konfiguration für Performance
Modul 3: Kubernetes & Release-Strategien
Überblick über Kubernetes Deployments
• Erstellen und Ausführen eines Initial Deployments
• Optionen für Kubernetes Deployments
Durchführung von Rolling Update Deployments
• 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ühren von Jobs und CronJobs
• Erstellen eines Jobs und CronJob
Durchführung von Monitoring- und Troubleshooting-Aufgaben
• Troubleshooting-Techniken mit kubectl
Modul 4: Automatisierung & operative Effizienz
Einsatz von Python zur Automatisierung gängiger Aufgaben in Kubernetes
• Nutzung von Python für administrative Operationen in Kubernetes
• Definition von Konfigurationsobjekten mit Python
• Erstellung von Deployment-Objekten mit Python
• Verfolgen von Kubernetes-Events mit Python
• Skalierung eines Deployments mit Python
Verständnis der Herausforderungen bei der Automatisierung von Deployments
• Deklarative Konfiguration mit Kubernetes
• Sicherstellung der Integrität der Konfiguration
Einsatz des GitOps-Ansatzes zur Automatisierung von Deployments
• GitOps-Prinzipien
• Einführung in Flux
• Installation von Flux in einem Kubernetes-Cluster
Konfiguration von Flux für automatisierte Deployments
• Nutzung von Notifications
• Struktur des Source-Repositories
Verwaltung von Anwendungsaktualisierungen mit Image Automation
• Aktualisierung eines Anwendungs-Deployments mit Flux
• Durchsuchen von Container-Image-Repositories auf Tags
• Definition der Richtlinie für die Auswahl des neuesten Images
• Konfiguration von Flux für automatische Image-Aktualisierungen
Modul 5: Observability & Root-Cause-Klarheit
Kubernetes-Logging und Tracing-Fähigkeiten
• Warum sind Logging und Tracing wichtig?
• Zugriff auf Kubernetes-Logs
• Pod- und Container-Logs
• Control Plane Logs
• Ressourcenverbrauch von Knoten und Pods
Sammlung und Analyse der Logs
• Log-Aggregation
• Visualisierung der Logs
Distributed Tracing in Kubernetes
• Was ist Distributed Tracing?
• Einsatz von OpenTelemetry
• Tools für Distributed Tracing
• Instrumentierung einer Anwendung
• Nutzung von Tracing zur Identifizierung von Performance-Problemen
Monitoring mit Prometheus und Grafana
• Konzepte der Observability
• Monitoring-Tools
• Nutzung der Prometheus-Instrumentierung
Erweiterte Anwendungsfälle für Logging
• Verarbeitung von Logs
• Filtern und Anreichern der Logs
• Event Sourcing
Modul 6: Cluster-Krisensimulation & Incident Response
• Verständnis der verschiedenen Fehlertypen in einer Cluster-Umgebung
• Simulation von Knotenausfällen (Node Failures)
• Szenario Pod Eviction & Ressourcenerschöpfung
• Netzwerkprobleme
• DNS-Ausfälle für das Handling von Application Timeouts
• Simulation eines API-Server-Ausfalls
• Simulation hohen Traffics zur Stabilität des Systems
• Storage-Fehler
• Konfigurationsfehler
• Verständnis der Incident-Meldeverfahren
Modul 7: KI als Unterstützung beim Troubleshooting
• Vorteile von Generative AI für Kubernetes
• Architektur der K8sGPT CLI
• Installation der K8sGPT CLI
• K8sGPT-Befehle und Anwendung
• Nutzung der K8sGPT Analyzers (podAnalyzer, pvcAnalyzer, rsAnalyzer, etc.)
• Analyse des Clusters mit K8sGPT
• Analyse von Echtzeit-Problemen mit K8sGPT
• In-Cluster Operator für K8sGPT
Voraussetzungen
- Grundkenntnisse in 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 von Softwarearchitekturen (z. B. APIs, Dienste)
Zielgruppe:
- DevOps-Ingenieurinnen und -Ingenieure
- Site Reliability Engineers (SREs)
- Backend- bzw. Softwareentwicklerinnen und -entwickler, die mit Microservices arbeiten
- Cloud-Ingenieurinnen und -Ingenieure sowie Platform Engineers
-
Systemadministratorinnen und -administratoren, 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