Szkolenie: Kubernetes - orkiestracja mikroserwisów
Szkolenie "Kubernetes - orkiestracja mikroserwisów" przeznaczone dla developerów, którzy znają już podstawy konteneryzacji oraz tworzenia mikroserwisów. Pozwala poznać elementy kubernetesa i przygotować się na świadome wdrażanie aplikacji.
- Trenerzy praktycy
- Kameralne grupy
Czas trwania szkolenia:3 dni (24h)
Kod kursu:KUBERNETES/MICRO
Kubernetes - orkiestracja mikroserwisów
Cele szkolenia
Wprowadzenie do wykorzystania platformy Kubernetes
Nabycie umiejętności wykorzystania Kubernetes w zakresie monitorowania, tuningu i skalowania aplikacji
Poznanie technik bezproblemowego wdrażania aplikajcji wraz z własnymi komponentami
Dla kogo?
Deweloperów i administratorów oraz każdej osoby, zainteresowanej tworzeniem, uruchamianiem i zarządzaniem aplikacjami wykorzystującymi kontenery
Zalety
Program szkolenia "Kubernetes - orkiestracja mikroserwisów" umożliwiający szybkie poznanie orkiestracji mikroserwisów z wykorzystaniem Kubernetes
Mechanizmy uwierzytelniania i autoryzacji, konfiguracja zaawansowanej kontroli dostępu opartej na rolach (RBAC) w środowisku Kubernetes
Skuteczne zarządzanie siecią i danymi wrażliwymi – konfiguracja sieci w Kubernetes (np. CNI, ingress), zarządzanie routingiem i publikacją aplikacji, efektywne zarządzanie zmiennymi środowiskowymi oraz bezpieczne przechowywanie danych przy użyciu mechanizmów Secret i Persistent Volumes.e działania kontenerów, tworzenia i zarządzania obrazami, implementacja najlepszych praktyk w zakresie optymalizacji aplikacji oraz zarządzania ich cyklem życia w środowisku kontenerowym
Tworzenie własnych obiektów i operatorów pozwalających na zarządzanie stosem aplikacyjnym we własny sposób
Wymagania
Praktyczna znajomość wybranego narzędzia do startowania kontenerów np. Docker
Wiedza z zakresu programowania, sieci komputerowych oraz systemu Linux
Mile widziana znajomość metodyk tworzenia mikroserwisów
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
Architektura Kubernetes
Komponenty klastra (masters 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
Dashboard czyli podgląd stanu klastra w przeglądarce internetowej
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
Kontrola dostępu oparta na rolach jako sposób na przypisywanie uprawnień do użytkowników
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 oraz traefik)
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)
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)
Zarządzanie zasobami klastra: zarezerwowanymi oraz maksymalnymi limitami przypisanymi do kontenerów (resourceRequests, resourceLimits, ResourceQuota, LimitRange)
Omówienie ogólnych polityk aktualizacji aplikacji (recreate, ramped, blue/green, canary, a/b testing, shadow) oraz ich implementacji w Kubernetes
Downward API - Pobieranie informacji z API wewnątrz kontenera
CRD – tworzenie własnych typów obiektów wewnątrz klastra