Bądźmy w kontakcie

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

 49 godzin

Liczba uczestników


Cena za uczestnika (netto)

Opinie uczestników (2)

Propozycje terminów

Powiązane Kategorie