Schulungsübersicht
Modul 1: Microservices-Design
• Eine gute Microservice-Grenze
• Verwendung von Domain Driven Design (DDD)
• Alternativen zu Geschäftsbereichsgrenzen (Volatilität, Daten, Technologie, Organisation)
• Aufteilung des Monolithen
• Vorzeitige Dekomposition
• Dekomposition nach Schichten
• Verwendung von Dekompositions-Mustern (Strangler Pattern, Parallel Run, Feature Toggle)
• Herausforderungen bei der Datendekomposition (Performance, Integrität, Transaktionen)
Modul 2: Optimierung von Docker und der Runtime
• Das richtige Basis-Image auswählen
• Die Anzahl der Layers minimieren
• Multi-Staged-Builds verwenden
• Image-Optimierung (z. B. Sortierung mehrzeiliger Argumente)
• Nutzung des Build-Caches
• Fixierung von Image-Versionen
• Feinabstimmung der Ressourcenallokation
• Sichere Container-Praktiken
• Runtime-Konfiguration für Performance
Modul 3: Kubernetes & Release-Strategien
Kubernetes-Deployments im Überblick
• Erstellen und Ausführen einer Initial Deployment
• Kubernetes-Deployment-Optionen
Ausführen von Rolling Updates
• Verständnis von Rolling Updates
• Erstellen und Ausführen eines Rolling Updates
• Zurücksetzen des Deployments (Rollback)
Ausführen von Canary Releases
• Verständnis von Canary Releases
• Erstellen und Ausführen eines Canary Releases
Ausführen 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ühren von Monitoring- und Troubleshooting-Aufgaben
• Troubleshooting-Techniken mit kubectl
Modul 4: Automatisierung & operative Effizienz
Automatisierung häufiger Aufgaben in Kubernetes mit Python
• Einsatz von Python für administrative Operationen in Kubernetes
• Verwendung von Python zum Definieren von Konfigurationsobjekten
• Verwendung von Python zum Erstellen von Deployment-Objekten
• Beobachten von Kubernetes-Events mit Python
• Skalieren eines Deployments mit Python
Verständnis der Herausforderungen bei der Automatisierung von Deployments
• Deklarative Konfiguration in Kubernetes
• Verwaltung der Integrität der Konfiguration
Einsatz des GitOPs-Ansatzes zur Automatisierung von Deployments
• Prinzipien von GitOPs
• Einführung in Flux
• Installation von Flux auf einem Kubernetes-Cluster
Konfiguration von Flux für automatisierte Deployments
• Verwendung von Notifications (Benachrichtigungen)
• Struktur des Source-Repositories
Behandlung von Anwendungsaktualisierungen mit Image-Automation
• Aktualisierung eines Anwendungs-Deployments mit Flux
• Scannen von Container-Image-Repositories nach Tags
• Definieren von Richtlinien zur Auswahl des neuesten Images
• Konfiguration von Flux für automatische Image-Updates
Modul 5: Observability & Klarheit der Root Cause
Kubernetes-Funktionalitäten für Logging und Tracing
• Warum sind Logging und Tracing wichtig?
• Zugriff auf Kubernetes-Logs
• Pod- und Container-Logs
• Logs der Control Plane
• Ressourcennutzung von Nodes und Pods
Sammlung und Analyse der Logs
• Log-Aggregation
• Visualisierung der Logs
Distributed Tracing in Kubernetes
• Was ist Distributed Tracing?
• Verwendung 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
• Verwendung 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 Ausfallarten in einer Cluster-Umgebung
• Simulation von Node-Ausfällen
• Pod-Eviction-Szenario & Ressourcenerschöpfung
• Netzwerkprobleme
• DNS-Ausfälle zur Behandlung von Application Timeouts
• Simulation eines API-Server-Ausfalls
• Simulation hohen Traffic-Aufkommens für die Systemstabilität
• Speicherfehler
• Konfigurationsfehler
• Verständnis der Incident-Meldeprioritäten und -verfahren
Modul 7: KI zur Unterstützung des Troubleshootings
• Vorteile von Generative AI für Kubernetes
• K8sGPT-CLI-Architektur
• Installation der K8sGPT-CLI
• K8sGPT-Befehle und -Nutzung
• Verwendung von K8sGPT-Analyzern (podAnalyzer, pvcAnalyzer, rsAnalyzer usw.)
• Analyse des Clusters mit K8sGPT
• Analyse von Echtzeit-Problemen mit K8sGPT
• In-Cluster-Operator für K8sGPT
Voraussetzungen
- Grundlegende Kenntnisse in der Linux-Kommandozeile
- Erfahrung mit Anwendungsentwicklung oder Systemadministration
- Vertrautheit mit Containern (Docker-Konzepte)
- Basisverständnis von Kubernetes-Konzepten (Pods, Deployments, Services)
- Allgemeines Verständnis von Softwarearchitekturen (z. B. APIs, Services)
Zielgruppe:
- DevOps-Ingenieure
- Site Reliability Engineers (SREs)
- Backend-/Softwareentwickler, die mit Microservices 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