Plan Szkolenia
Moduł 1: Projektowanie mikroserwisów
• Dobrze zdefiniowana granica mikroserwisu
• Wykorzystanie sterowanego domeną projektowania (DDD)
• Alternatywy dla granic dziedziny biznesowej (wzlotność, dane, technologia, organizacja)
• Rozbijanie monolitu
• Przedwcześnie dekompozycja
• Dekompozycja według warstw
• Wykorzystanie wzorców dekompozycji (Strangler, Równoległy start, Przełącznik funkcji)
• Zagadnienia dekompozycji danych (wydajność, integralność, transakcje)
Moduł 2: Optymalizacja Docker i środowiska uruchomieniowego
• Wybór odpowiedniego obrazu bazowego
• Minimalizacja liczby warstw
• Wykorzystanie wieloetapowych buildów (multi-stage builds)
• Optymalizacja obrazów (sortowanie argumentów wielowierszowych itp.)
• Wykorzystanie bufora buildów
• Fiksja wersji obrazów
• Dostrojowanie przydziału zasobów
• Bezpieczne praktyki kontenerowe
• Konfiguracja środowiska uruchomieniowego pod kątem wydajności
Moduł 3: Kubernetes i strategie releasu
Przegląd wdrożeń (Deployments) w Kubernetesie
• Tworzenie i wykonanie inicjalnego wdrożenia
• Opcje wdrożeń Kubernetes
Realizacja wdrożeń stopniowych (Rolling Update)
• Zrozumienie mechanizmu Rolling Update
• Tworzenie i wykonanie wdrożenia typu Rolling Update
• Wycofanie wdrożenia (Rollback)
Realizacja wdrożeń Canaries
• Zrozumienie wdrożeń Canary
• Tworzenie i wykonanie wdrożenia typu Canary
Realizacja wdrożeń niebiesko-zielonych (Blue-Green)
• Zrozumienie wdrożeń Blue-Green
• Tworzenie i wykonanie wdrożenia typu Blue-Green
Uruchamianie zadań (Jobs) i CronJobs
• Tworzenie Job i CronJob
Wykonywanie zadań monitorowania i diagnozowania problemów
• Techniki diagnozowania przy użyciu kubectl
Moduł 4: Automatyzacja i efektywność operacyjna
Wykorzystanie Pythona do automatyzacji typowych zadań w Kubernetesie
• Wykorzystanie Pythona do wykonywania operacji administracyjnych w Kubernetesie
• Używanie Pythona do definiowania obiektów konfiguracyjnych
• Tworzenie obiektów Deployment przy użyciu Pythona
• Śledzenie zdarzeń (Events) Kubernetes przy użyciu Pythona
• Skalowanie wdrożenia za pomocą Pythona
Zrozumienie wyzwań automatyzacji wdrożeń
• Deklaratywna konfiguracja z Kubernetesem
• Zarządzanie integralnością konfiguracji
Wykorzystanie podejścia GitOps do automatyzacji wdrożeń
• Zasady GitOps
• Wprowadzenie do Flux
• Instalacja Flux w klastrze Kubernetes
Konfiguracja Flux do zautomatyzowanych wdrożeń
• Wykorzystanie powiadomień
• Struktura repozytorium źródłowego
Zarządzanie aktualizacjami aplikacji z automatyzacją obrazów
• Aktualizacja wdrożenia aplikacji za pomocą Flux
• Skanowanie repozytoriów obrazów kontenerowych pod kątem znaczników (tags)
• Definiowanie polityki wyboru najnowszego obrazu
• Konfiguracja Flux do wykonywania automatycznych aktualizacji obrazów
Moduł 5: Obserwowalność i klarowność przyczyn źródłowych
Zdolności logowania i śledzenia w Kubernetesie
• Dlaczego logowanie i śledzenie są ważne
• Dostęp do logów Kubernetes
• Logi podów i kontenerów
• Logi kontrolnej (Control Plane)
• Zużycie zasobów węzłów i podów
Zbieranie i analiza logów
• Agregacja logów
• Wizualizacja logów
Śledzenie rozproszone w Kubernetesie
• Czym jest śledzenie rozproszone
• Wykorzystanie OpenTelemetry
• Narzędzia śledzenia rozproszonego
• Instrumentacja aplikacji
• Wykorzystanie śledzenia do wykrywania problemów z wydajnością
Monitorowanie z Prometheus i Grafana
• Pojęcia obserwowalności (observability)
• Narzędzia monitorujące
• Wykorzystanie instrumentacji Prometheus
Zaawansowane przypadki użycia dla logowania
• Przetwarzanie logów
• Filtrowanie i wzbogacanie logów
• Event Sourcing
Moduł 6: Symulacja kryzysu klastra i reagowanie na incydenty
• Zrozumienie różnych typów awarii w środowisku klastra
• Symulacja awarii węzłów (Node Failures)
• Ewakuacja podów (Pod Eviction) i scenariusz wyczerpania zasobów
• Problemy sieciowe
• Awarie DNS a obsługa timeout aplikacji
• Symulacja awarii serwera API
• Symulacja wysokiego ruchu dla stabilności systemu
• Awarie magazynu (Storage)
• Błędy konfiguracji
• Zrozumienie procedur raportowania incydentów
Moduł 7: AI wspierające diagnozowanie problemów
• Korzyści z Generatywnej AI dla Kubernetes
• Architektura CLI K8sGPT
• Instalacja CLI K8sGPT
• Komendy i użycie K8sGPT
• Wykorzystanie analizatorów K8sGPT (podAnalyzer, pvcAnalyzer, rsAnalyzer itp.)
• Analiza klastra przy użyciu K8sGPT
• Analiza problemów w czasie rzeczywistym przy użyciu K8sGPT
• Operator wewnątrz klastra dla K8sGPT
Wymagania
- Podstawowa znajomość linii poleceń Linuxa
- Doswiadczenie w rozwoju oprogramowania lub administracji systemami
- Znajomość koncepcji konteneryzacji (Docker)
- Podstawowe zrozumienie koncepcji Kubernetes (pody, wdrożenia, usługi)
- OGólne zrozumienie architektury oprogramowania (np. API, usługi)
Grupa docelowa:
- Inżynierowie DevOps
- Inżynierowie niezawodności witryn (SRE - Site Reliability Engineers)
- Programiści Backendowi / Programiści Oprogramowania pracujący z mikroserwisami
- Inżynierowie chmurowi i inżynierowie platform
-
Administratorzy systemów przechodzący na środowiska oparte na Kubernetesie
Opinie uczestników (2)
Craig był bardzo zaangażowany w szkolenie, zawsze zapewniał, że jesteśmy skupieni, dostosowywał przykłady do naszej codziennej pracy i zawsze udzielał odpowiedzi na zadane pytania, nawet jeśli informacja nie była zawarta w prezentacji.
Ecaterina Ioana Nicoale - BOOKING HOLDINGS ROMANIA SRL
Szkolenie - DevOps Foundation®
Przetłumaczone przez sztuczną inteligencję
Wysoki poziom zaangażowania i wiedzy trenera
Jacek - Softsystem
Szkolenie - DevOps Engineering Foundation (DOEF)®
Przetłumaczone przez sztuczną inteligencję