Plan Szkolenia
Moduł 1: Projektowanie Mikrousług
• Właściwe granice mikrousług
• Wykorzystanie Domain Driven Design (DDD)
• Alternatywy dla granic domen biznesowych (Zmienność, Dane, Technologia, Organizacyjne)
• Podział monolitu
• Przedwczesna dekompozycja
• Dekompozycja według warstw
• Wykorzystanie wzorców dekompozycji (Strangler, Parallel Run, Feature Toggle)
• Problemy związane z dekompozycją danych (Wydajność, Integralność, Transakcje)
Moduł 2: Optymalizacja Docker i Środowiska Uruchomieniowego
• Wybór odpowiedniego obrazu bazowego
• Minimalizacja liczby warstw
• Wykorzystanie wieloetapowych budowań
• Optymalizacja obrazów (sortowanie wieloliniowych argumentów, itp.)
• Wykorzystanie pamięci podręcznej budowania
• Przypinanie wersji obrazów
• Precyzyjne dostosowanie alokacji zasobów
• Bezpieczne praktyki kontenerowe
• Konfiguracja środowiska uruchomieniowego dla wydajności
Moduł 3: Kubernetes & Strategie Wydań
Przegląd wdrożeń Kubernetes
• Tworzenie i wykonywanie początkowego wdrożenia
• Opcje wdrożeń Kubernetes
Wykonywanie wdrożeń z aktualizacjami stopniowymi
• Zrozumienie aktualizacji stopniowych
• Tworzenie i wykonywanie aktualizacji stopniowej
• Wycofywanie wdrożenia
Wykonywanie wdrożeń canary
• Zrozumienie wdrożeń canary
• Tworzenie i wykonywanie wdrożenia canary
Wykonywanie wdrożeń blue-green
• Zrozumienie wdrożeń blue-green
• Tworzenie i wykonywanie wdrożenia blue-green
Uruchamianie zadań i CronJobs
• Tworzenie zadania i CronJob
Wykonywanie zadań monitorowania i rozwiązywania problemów
• Techniki rozwiązywania problemów z kubectl
Moduł 4: Automatyzacja & Efektywność Operacyjna
Wykorzystanie Pythona do automatyzacji typowych zadań w Kubernetes
• Wykorzystanie Pythona do wykonywania operacji administracyjnych w Kubernetes
• Wykorzystanie Pythona do definiowania obiektów konfiguracyjnych
• Wykorzystanie Pythona do tworzenia obiektów wdrożeń
• Obserwowanie zdarzeń Kubernetes przy użyciu Pythona
• Skalowanie wdrożenia przy użyciu Pythona
Zrozumienie wyzwań związanych z automatyzacją wdrożeń
• Deklaratywna konfiguracja w Kubernetes
• 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 automatycznych wdrożeń
• Wykorzystanie powiadomień
• Struktura repozytorium źródłowego
Zarządzanie aktualizacjami aplikacji z automatyzacją obrazów
• Aktualizacja wdrożenia aplikacji z Flux
• Skanowanie repozytoriów obrazów kontenerowych pod kątem tagów
• Definiowanie polityki wyboru najnowszego obrazu
• Konfiguracja Flux do wykonywania automatycznych aktualizacji obrazów
Moduł 5: Obserwowalność & Jasność Przyczyn Źródłowych
Możliwości logowania i śledzenia w Kubernetes
• Dlaczego logowanie i śledzenie są ważne
• Dostęp do logów Kubernetes
• Logi podów i kontenerów
• Logi płaszczyzny kontrolnej
• Wykorzystanie zasobów węzłów i podów
Zbieranie i analiza logów
• Agregacja logów
• Wizualizacja logów
Rozproszone śledzenie w Kubernetes
• Czym jest rozproszone śledzenie
• Wykorzystanie OpenTelemetry
• Narzędzia do rozproszonego śledzenia
• Instrumentacja aplikacji
• Wykorzystanie śledzenia do znajdowania problemów z wydajnością
Monitorowanie z Prometheus i Grafana
• Koncepcje obserwowalności
• Narzędzia monitorowania
• Wykorzystanie instrumentacji Prometheus
Zaawansowane przypadki użycia logowania
• Przetwarzanie logów
• Filtrowanie i wzbogacanie logów
• Event Sourcing
Moduł 6: Symulacja Kryzysów w Klastrze & Reagowanie na Incydenty
• Zrozumienie różnych typów awarii w środowisku klastra
• Symulacja awarii węzłów
• Scenariusz ewakuacji podów i wyczerpywania zasobów
• Problemy z siecią
• Awaria DNS a obsługa timeoutów aplikacji
• Symulacja awarii serwera API
• Symulacja wysokiego ruchu dla stabilności systemu
• Awaria magazynu
• Błędy konfiguracji
• Zrozumienie procedur raportowania incydentów
Moduł 7: Wsparcie Sztucznej Inteligencji w Rozwiązywaniu Problemów
• Korzyści z generatywnej sztucznej inteligencji dla Kubernetes
• Architektura K8sGPT CLI
• Instalacja K8sGPT CLI
• Polecenia 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 K8sGPT w klastrze
Wymagania
- Podstawowa znajomość wiersza poleceń Linux
- Doświadczenie w rozwoju aplikacji lub administracji systemów
- Znajomość kontenerów (koncepcje 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 Stron (SREs)
- Programiści backendowi/oprogramowania pracujący z mikrousługami
- Inżynierowie chmury i platformy
-
Administratorzy systemów przechodzący do środowisk Kubernetes
Opinie uczestników (1)
przykłady z życia codziennego
Maria - Fundacja PTA
Szkolenie - Mastering Make: Advanced Workflow Automation and Optimization
Przetłumaczone przez sztuczną inteligencję