Szkolenie: Kubernetes w praktyce
Szkolenie Kubernetes w praktyce to intensywny kurs dla programistów i administratorów, który uczy zarządzania kontenerami, wdrażania, skalowania i monitorowania aplikacji w środowisku Kubernetes, z naciskiem na bezpieczeństwo, automatyzację i najlepsze praktyki DevOps
- Trenerzy praktycy
- Kameralne grupy
Czas trwania szkolenia:5 dni (40h)
Kod kursu:KUBERNETES
Kubernetes w praktyce
Cele szkolenia
Szkolenie przygotowuje do samodzielnego wdrażania, zarządzania i skalowania aplikacji kontenerowych w środowisku Kubernetes, z wykorzystaniem najlepszych praktyk DevOps oraz automatyzacji procesów
Szkolenie uczy konfigurowania, monitorowania i zabezpieczania klastrów Kubernetes, a także efektywnego zarządzania siecią, danymi i uprawnieniami użytkowników
Szkolenie rozwija umiejętność rozwiązywania problemów, optymalizacji wydajności oraz implementacji zaawansowanych mechanizmów orkiestracji i automatyzacji w środowisku chmurowym i on-premise
Dla kogo?
Szkolenie adresowane jest do programistów, administratorów systemów oraz inżynierów DevOps z doświadczeniem w pracy z Linuxem i Dockerem, którzy chcą rozwijać kompetencje w zakresie wdrażania i zarządzania aplikacjami kontenerowymi w środowisku Kubernetes
Przeznaczone dla osób odpowiedzialnych za utrzymanie, automatyzację i bezpieczeństwo infrastruktury IT w organizacjach wdrażających architekturę mikroserwisową lub rozwiązania chmurowe
Efekty kształcenia
Uczestnik wdraża i zarządza aplikacjami w klastrze Kubernetes
Uczestnik konfiguruje sieć, bezpieczeństwo i polityki dostępu w środowisku kontenerowym
Uczestnik monitoruje i analizuje wydajność oraz stabilność aplikacji
Uczestnik automatyzuje procesy wdrożeniowe i aktualizacyjne
Uczestnik rozwiązuje problemy związane z konfiguracją i działaniem klastra
Uczestnik stosuje najlepsze praktyki w zakresie zarządzania danymi i tajemnicami
Wymagania
Praktyczna znajomość wybranego narzędzia do startowania kontenerów np. Docker
Wiedza z zakresu programowania, sieci komputerowych oraz systemu Linux
W cenie otrzymasz:
Materiały szkoleniowe
Certyfikat ukończenia szkolenia
W przypadku szkolenia w trybie stacjonarnym zapewnimy Ci również lunch oraz sprzęt niezbędny do nauki
Program szkolenia
Mikrousługi i podejście cloud ready
Omówienie 12 dobrych praktyk tworzenia mikrousług
Podstawy architektury pod kątem wdrażania opartego o kontenery
Cloud Native Landscape - aplikacje wspierające prace z mikrousługami i Kubernetes
Wprowadzenie do kontenerów na przykładzie platformy Docker
Architektura, komponenty oraz wersjonowanie narzędzia Docker
Budowa i optymalizacja obrazów aplikacji przy użyciu Dockerfile
Rejestry obrazów - gdzie przechowywać paczki swoich aplikacji
Codzienna administracja kontenerami - gromadzenie logów, metryki wydajności, polityki restartowania aplikacji
Bezpieczeństwo kontenerów - co zrobić, aby zabezpieczyć system operacyjny oraz inne aplikacje przed złośliwym oprogramowaniem
Ukrywanie wrażliwych danych w budowaniu obrazów
Wieloetapowe budowanie obrazów
Konfiguracja i uruchamianie wielu instancji aplikacji przy użyciu compose
Architektura Kubernetes
Komponenty klastra (control-plane oraz workers) i ich elementy (containerd, kubelet, kube-proxy)
Zarządzanie obiektami Kubernetes (imperatywne oraz deklaratywne)
Manifesty obiektów - struktura oraz format (YAML)
Nowe wydania oraz okna wsparcia dla starszych wersji platformy
Podstawy konfiguracji
Lokalny klaster przy użyciu Dockera i Kind
Omówienie kubeadm i konfiguracji Linuxa do stawiania środowiska on-premise
Podział klastra na wirtualne przestrzenie (Namespaces)
Kubernetes wykorzystujący maszyny fizyczne lub wirtualne? To nie ma znaczenia (Nodes)
Pod jako podstawowa jednostka alokacji procesów w klastrze
Labels and Selectors - grupowanie obiektów za pomocą etykiet
Services - konfiguracja komunikacji pomiędzy aplikacjami w klastrze jak i dostęp do aplikacji ze świata zewnętrznego
Zarządzanie liczbą replik aplikacji oraz sposobem ich aktualizacji za pomocą Deployments
Jobs/CronJobs czyli sposób na uruchamianie zadań skryptowych w klastrze Kubernetes
Konfiguracja centralnego monitoringu oraz logowania przy użyciu DaemonSets
StatefulSets jako sposób na uruchamianie aplikacji stanowych w klastrze
Uwierzytelnianie oraz autoryzacja
Organizacja informacji o klastrach i użytkownikach w pliku kubeconfig
Przedstawienie typów użytkowników w Kubernetes: używanych przez administratorów (użytkownicy) oraz aplikacje (konta serwisowe)
Omówienie strategii uwierzytelniania w klastrze, certyfikaty x509 i ich tworzenie dla użytkownika
RBAC - Kontrola dostępu oparta na rolach jako sposób na przypisywanie uprawnień do użytkowników
Walidacja lub modyfikacja żądań za pomocą Admission Controllers
Sieci
CNI jako interfejs służący do konfiguracji kart sieciowych kontenerów
Omówienie różnych sposobów na publikacje aplikacji za pomocą Services (ClusterIP, NodePort, LoadBalancer, ExternalIP, ExternalName)
Ingress czyli przekierowanie przychodzących zapytań HTTP do aplikacji uruchomionych w Kubernetes (na przykładzie kontrolera nginx)
Blokada komunikacji sieciowej w klastrze za pomocą Network Policies
Konfiguracja serwera rozwiązywania nazw w klastrze (coredns)
Storage
Zarządzanie zmiennymi środowiskowymi i plikami konfiguracyjnymi aplikacji z użyciem ConfigMaps
Przechowywanie danych wrażliwych takich jak: hasła, klucze czy tokeny za pomocą Secrets (generic, docker-registry, tls)
CSI jako API przeznaczone do integracji z: programowymi systemami przechowywania danych, dyskami fizycznymi lub usługami przechowywania danych dostawcow chmur
Utrwalanie danych z użyciem wolumenów różnego typu (emptyDir, hostPath)
Dynamiczne oraz statyczne zarządzanie wolumenami w klastrze (PersistentVolume, PersistentVolumeClaim, StorageClass)
Dodatkowe funkcjonalności
Kontrolowanie poprawnego funkcjonowania aplikacji za pomocą różnego rodzaju próbówek (livenessProbe, readinessProbe oraz startupProbe)
Konfiguracja automatycznego skalowania aplikacji ze względu na obciążenie przy użyciu HPA (HorizontalPodAutoscaler)
Uruchamianie kontenerów/zadań przed startem głównej aplikacji (initContainers)
Startowanie aplikacji na określonych maszynach oraz konfiguracja zależności pomiędzy uruchomionymi aplikacjami (nodeSelector, affinity/antiAffinity, taints/tolerations)
Zarządzanie zasobami klastra: zarezerwowanymi oraz maksymalnymi limitami przypisanymi do kontenerów (resourceRequests, resourceLimits, ResourceQuota, LimitRange)
Priorytety aplikacji w klastrze oraz wywłaszczanie kontenerów z niskim priorytetem (PriorityClass)
Utrzymanie maszyn klastra wraz z przygotowaniem okien obsługi
Omówienie ogolnych polityk aktualizacji aplikacji (recreate, ramped, blue/green, canary, a/b testing, shadow) oraz ich implementacji w Kubernetes
CRD – tworzenie własnych typów obiektów wewnątrz klastra
Downward API - Pobieranie informacji z API wewnątrz kontenera
Logowanie oraz Monitoring
Zbierania logów w klastrze Kubernetes wraz z przeglądem najpopularniejszych narzędzi (Graylog, ELK)
Centralny monitoring zasobów w klastrze na przykładzie: Prometheus, AlertManager, Grafana
Bezpieczeństwo
Skanowanie obrazów kontenerów w poszukiwaniu CVE oraz SBOM przy użyciu trivy
Sprawdzenie zgodności konfiguracji klastra Kubernetes z najlepszymi praktykami zawartymi w CIS Kubernetes Benchmark
Ograniczenie uprawnień oraz kontrola dostępu aplikacji do komponentów systemu operacyjnego z użyciem SecurityContext
Helm jako natywny menedżer pakietów aplikacji w Kubernetes
Struktura plikow paczki
Podstawowe obiekty wbudowane w Helm (Release, Values, Files)
Tworzenie szablonów i dynamiczne generowanie yaml przy pomocy wbudowanych funkcji
Instalacja, zarządzanie oraz automatyczne testowanie aplikacji
Podstawy zarządzania rejestrem paczek
Wybrane opinie
Przeczytaj pozytywne opinie pochodzące z ankiet satysfakcji z naszych szkoleń wypełnianych wyłącznie przez ich uczestników po realizacji usługi


