Schulungsübersicht
Modul 1: Entwurf von Mikrodiensten
• Eine gute Grenze für Mikrodienste
• Einsatz von Domain-Driven Design (DDD)
• Alternativen zu Geschäftsbereich-Grenzen (Volatilität, Daten, Technologie, Organisation)
• Aufspaltung des Monolithen
• Frühzeitige Dekomposition
• Dekomposition nach Schichten
• Einsatz von Dekompositions-Mustern (Strangler, Parallel Run, Feature Toggle)
• Aspekte der Daten-Dekomposition (Performance, Integrität, Transaktionen)
Modul 2: Optimierung von Docker und der Laufzeitumgebung
• Wahl des richtigen Basis-Images
• Minimierung der Anzahl der Layers
• Einsatz von Multi-Stage-Builds
• Image-Optimierung (Sortierung mehrzeiliger Argumente usw.)
• Nutzung des Build-Caches
• Festlegung von Image-Versionen (Pinning)
• Feinabstimmung der Ressourcenzuteilung
• Sichere Container-Praktiken
• Laufzeitkonfiguration für Performance
Modul 3: Kubernetes & Release-Strategien
Übersicht über Kubernetes Deployments
• Erstellung und Ausführung eines Initial Deployments
• Optionen für Kubernetes-Deployments
Durchführung von Rolling-Update-Deployments
• Verständnis von Rolling Updates
• Erstellung und Ausführung eines Rolling Updates
• Rückgängigmachen eines Deployments
Durchführung von Canary Releases
• Verständnis von Canary Releases
• Erstellung und Ausführung eines Canary Releases
Durchführung von Blue-Green-Deployments
• Verständnis von Blue-Green-Deployments
• Erstellung und Ausführung eines Blue-Green-Deployments
Ausführen von Jobs und CronJobs
• Erstellen eines Jobs und CronJobs
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
• Einsatz von Python für administrative Operationen in Kubernetes
• Einsatz von Python zur Definition von Konfigurationsobjekten
• Einsatz von Python zum Erstellen von Deployment-Objekten
• Überwachung von Kubernetes-Events mittels Python
• Skalierung eines Deployments mit 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
• Einsatz von Benachrichtigungen
• Struktur des Source-Repositoriums
Verwaltung von Anwendungsupdates mit Image-Automatisierung
• Aktualisierung eines Application-Deployments mit Flux
• Durchsuchen von Container-Image-Repositorien nach Tags
• Definition einer Richtlinie für die Auswahl des neuesten Images
• Konfiguration von Flux zur Durchführung automatischer Image-Aktualisierungen
Modul 5: Observability & klare Root Cause Analyse
Logging- und Tracing-Fähigkeiten in Kubernetes
• Warum sind Logging und Tracing wichtig
• Zugriff auf die Kubernetes-Logs
• Logs von Pods und Containern
• Control Plane-Logs
• Ressourcennutzung von Nodes und Pods
Sammeln und Analysieren 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
• Einsatz von Prometheus-Instrumentation
Erweiterte Anwendungsfälle für Logging
• Verarbeitung von Logs
• Filterung und Anreicherung der Logs
• Event Sourcing
Modul 6: Cluster-Krisensimulation & Incident Response
• Verständnis der verschiedenen Arten von Ausfällen in einer Cluster-Umgebung
• Simulation von Node-Ausfällen
• Szenario: Pod Eviction & Ressourcenerschöpfung
• Netzwerkprobleme
• DNS-Ausfälle zur Behandlung von Anwendungstimeouts
• Simulation eines API-Server-Ausfalls
• Simulation hohem Traffic für Systemstabilität
• Storage-Ausfälle
• Konfigurationsfehler
• Verständnis der Incident-Berichtungsverfahren
Modul 7: KI zur Unterstützung des Troubleshootings
• Vorteile von Generative AI für Kubernetes
• Architektur der K8sGPT CLI
• Installation der K8sGPT CLI
• Befehle und Nutzung von K8sGPT
• Einsatz von K8sGPT-Analysatoren (podAnalyzer, pvcAnalyzer, rsAnalyzer usw.)
• Analyse des Clusters mittels K8sGPT
• Analyse von Echtzeit-Problemen mittels K8sGPT
• In-Cluster Operator für K8sGPT
Voraussetzungen
- Basics 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-Ingenieure
- Site Reliability Engineers (SREs)
- Backend- bzw. Softwareentwickler, die mit Mikrodiensten arbeiten
- Cloud- und Platform-Engineers
-
Systemadministratoren im Übergang zu Kubernetes-Umgebungen
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