Návrh Školení
Modul 1: Návrh mikroslužeb
• Dobrá hranice mikroslužby
• Využití řízení podle domény (DDD)
• Alternativy k hranicím obchodní domény (volarilita, data, technologie, organizace)
• Rozdělení monolitického systému
• Předčasné dekomponování
• Dekompozice podle vrstvy
• Využití vzorů dekompozice (Strangler, Parallel Run, Feature Toggle)
• Aspekty dekompozice dat (výkon, integrita, transakce)
Modul 2: Optimalizace Dockeru a běhového prostředí
• Výběr správného základního obrazu
• Minimalizace počtu vrstev
• Využití vícestupňových sestavení (multi-stage builds)
• Optimalizace obrazů (třídění víceradkových argumentů apod.)
• Využití build cache
• Fiktivní fixace verzí obrazů
• Jemné ladění přidělování zdrojů
• Praktika bezpečných kontejnerů
• Konfigurace běhového prostředí pro výkon
Modul 3: Kubernetes a strategie vydávání
Přehled nasazení na Kubernetes
• Vytvoření a provedení počátečního nasazení
• Možnosti nasazení v Kubernetes
Provádění postupných aktualizací (Rolling Updates)
• Pochopení postupné aktualizace
• Vytvoření a provedení postupné aktualizace
• Vrácení nasazení zpět (Rolling Back)
Provádění kanárkových nasazení (Canary Deployments)
• Pochopení kanárkových nasazení
• Vytvoření a provedení kanárkového nasazení
Provádění modro-zelených nasazení (Blue-Green Deployments)
• Pochopení modro-zelených nasazení
• Vytvoření a provedení modro-zeleného nasazení
Spuštění Jobs a CronJobs
• Vytvoření Jobu a CronJobu
Provádění úkolů monitorování a řešení problémů
• Techniky řešení problémů s kubectl
Modul 4: Automatizace a operační efektivita
Využití Pythonu k automatizaci běžných úloh v Kubernetes
• Použití Pythonu pro provádění správcovských operací v Kubernetes
• Použití Pythonu k definování objektů konfigurace
• Použití Pythonu k vytváření objektů Deployments
• Sledování událostí Kubernetes pomocí Pythonu
• Škálování Deploymentu pomocí Pythonu
Pochopení výzev automatizace nasazení
• Deklarativní konfigurace s Kubernetes
• Správa integrity konfigurace
Využití přístupu GitOps pro automatizaci nasazení
• Principy GitOps
• Představení nástroje Flux
• Instalace Fluxu do klastru Kubernetes
Konfigurace Fluxu pro automatizovaná nasazení
• Využití notifikací
• Struktura zdrojového repozitáře
Zvládání aktualizací aplikací s Image Automation
• Aktualizace nasazení aplikace pomocí Flux
• Skenování obrazových repozitářů kontejnerů na tagy
• Definování politik pro výběr nejnovějšího obrazu
• Konfigurace Fluxu pro provedení automatických aktualizací obrazu
Modul 5: Monitorovatelnost a určení kořenové příčiny
Kapacity logování a trasování v Kubernetes
• Proč jsou logování a trasování důležité
• Přístup k logům Kubernetes
• Logy pods a kontejnerů
• Logy řídicí roviny (Control Plane)
• Využití zdrojů uzly a pods
Sběr a analýza logů
• Agregace logů
• Vizualizace logů
Distribuované trasování v Kubernetes
• Co je distribuované trasování
• Využití OpenTelemetry
• Nástroje pro distribuované trasování
• Instrumentace aplikace
• Použití trasování k nalezení problémů s výkonem
Monitorování s Prometheus a Grafana
• Koncepty monitorovatelnosti
• Nástroje pro monitorování
• Využití instrumentace Prometheus
Pokročilé případy užití logování
• Zpracování logů
• Filtrování a obohacování logů
• Event Sourcing
Modul 6: Simulace krizí klastru a reakce na incidenty
• Pochopení různých typů selhání v prostředí klastru
• Simulace selhání uzlů (Node Failures)
• Scénář vyřazení pods (Pod Eviction) a vyčerpání zdrojů
• Problémy se sítí
• Selhání DNS pro zpracování časového limitu aplikace
• Simulace výpadku API Serveru
• Simulace vysoké zátěže pro stabilitu systému
• Selhání úložiště
• Chyby konfigurace
• Pochopení postupů hlášení incidentů
Modul 7: AI podpora při odstraňování problémů
• Přínosy generativní AI pro Kubernetes
• Architektura K8sGPT CLI
• Instalace K8sGPT CLI
• Příkazy a použití K8sGPT
• Využití analyzátorů K8sGPT (podAnalyzer, pvcAnalyzer, rsAnalyzer apod.)
• Analýza klastru pomocí K8sGPT
• Analýza problémů v reálném čase pomocí K8sGPT
• Operátor běží přímo uvnitř klastru pro K8sGPT
Požadavky
- Základní znalost příkazového řádku Linuxu
- Zkušenosti s vývojem aplikací nebo správou systémů
- Seznámení s koncepty kontejnerů (Docker)
- Základní pochopení konceptů Kubernetes (pods, deployments, services)
- Obecné pochopení softwarové architektury (např. API, služby)
Cílová skupina:
- DevOps inženýři
- Inženýři pro spolehlivost stránek (SRE)
- Zadní vývojáři / Softwaroví vývojáři pracující s mikroslužbami
- Inženýři cloudu a platformy
-
Správci systémů přecházející do prostředí Kubernetes
Reference (2)
Craig byl extrémně zapojen do školení, vždy se ujistil, že jsme soustředění, přizpůsobil příklady našim každodenním aktivitám a pokaždé poskytl odpověď, když jsme se zeptali, i když informace nebyly zahrnuty do prezentace.
Ecaterina Ioana Nicoale - BOOKING HOLDINGS ROMANIA SRL
Kurz - DevOps Foundation®
Přeloženo strojem
Vysoký stupeň závazku a znalostí trenéra
Jacek - Softsystem
Kurz - DevOps Engineering Foundation (DOEF)®
Přeloženo strojem