Szkolenie: Kubernetes w praktyce
Na szkoleniu Kubernetes w Praktyce opanujesz zaawansowane umiejętności konteneryzacji, zarządzania Dockerem oraz wdrażania i skalowania aplikacji w środowisku Kubernetes.
4345 PLN+23% VAT (5344 PLN brutto / 1 os.)Czas trwania szkolenia:5 dni (40h)
Kod kursu:KUBERNETES
Kubernetes w praktyce
Cele szkolenia
Wprowadzenie do wykorzystania platformy Kubernetes
Poznanie dobrych praktyk związanych z wdrażaniem aplikacji wykorzystujących kontenery (w szczególności opartych o architekturę mikroserwisów)
Nabycie umiejętności wykorzystania Kubernetes w zakresie monitorowania, tuningu i skalowania aplikacji
Dla kogo?
Szkolenie dedykowane jest przede wszystkim deweloperom i administratorom, jednocześnie szeroko wprowadzające każdego zainteresowanego tworzeniem, uruchamianiem i zarządzaniem aplikacjami wykorzystującymi kontenery
Zalety
Szkolenie i prezentowane przykłady dostarczają ogromną dawkę praktycznych informacji
Zdobywana wiedza ma dużą wartość merytoryczną i może być zastosowana podczas rozwiązywania problemów w rzeczywistych projektach
Praktyka przed teorią - wszystkie szkolenia technologiczne prowadzone są w formie warsztatowej. Konieczna teoria jest wyjaśniana na przykładzie praktycznych zadań
Konkretne umiejętności - w ramach każdego szkolenia rozwijamy praktyczne umiejętności związane z daną technologią i tematyką
Nauka z praktykami - wszyscy trenerzy na co dzień pracują w projektach, gwarantuje to dostęp do eksperckiej wiedzy i praktycznego know-how
Wymagania
Praktyczna znajomość wybranej technologii kontenerowej 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
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
Ekosystem Docker - przegląd narzędzi powstałych wokół platformy Docker
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
Omówienie różnic pomiędzy lokalną, a produkcyjną konfiguracją kontenerów
Architektura Kubernetes
Komponenty klastra (masters oraz workers)
Zarządzanie obiektami Kubernetes (imperatywne oraz deklaratywne)
Manifesty obiektów - struktura oraz format (YAML)
Docker w orkiestratorze Kubernetes
Nowe wydania oraz okna wsparcia dla starszych wersji platformy
Podstawy konfiguracji
Minikube jako najłatwiejszy sposób na instalację lokalnego klastra
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, od użytkownika z hasłem, przez certyfikaty x509, po tokeny OpenID
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
Porównanie architektury sieciowej: Docker vs. Kubernetes
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
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
Dynamiczne oraz statyczne zarządzanie wolumenami w klastrze
Dodatkowe funkcjonalności
Kontrolowanie poprawnego funkcjonowania aplikacji za pomocą różnego rodzaju próbówek (Liveness, Readiness oraz Startup probes)
Konfiguracja automatycznego skalowania aplikacji ze względu na obciążenie przy użyciu Horizontal Pod Autoscalers
Uruchamianie kontenerów/zadań przed startem głównej aplikacji
Startowanie aplikacji na określonych maszynach oraz konfiguracja zależności pomiędzy uruchomionymi kontenerami (nodeSelector, affinity/antiAffinity, taints/tolerations)
Zarządzanie zasobami klastra: minimalnymi oraz maksymalnymi limitami przypisanymi do kontenerów
Priorytety aplikacji w klastrze oraz wywłaszczanie kontenerów z niskim priorytetem
Utrzymanie maszyn klastra wraz z przygotowaniem okien obsługi
Omówienie polityk aktualizacji aplikacji (recreate, ramped, blue/green, canary, a/b testing, shadow)
Logowanie oraz Monitoring
Omówienie różnych architektur zbierania logów w klastrze Kubernetes wraz z przeglądem najpopularniejszych narzędzi
Centralny monitoring zasobów w klastrze na przykładzie: Prometheus, AlertManager, Grafana
Bezpieczeństwo
Testy penetracyjne klastra Kubernetes
Ograniczenie uprawnień oraz kontrola dostępu aplikacji do komponentów systemu operacyjnego z użyciem SecurityContext
Wymuszanie globalnych standardów specyfikacji aplikacji wykorzystując Pod Security Policy
Dystrybucje oraz użyteczne narzędzia
Kubernetes jako usługa na przykładzie najpopularniejszych dostawców chmur publicznych (GKE, EKS, AKS)
Zautomatyzowana instalacja klastra przy użyciu Kubernetes Operations (KOPS)
Instalacja klastra Kubernetes "on premise" (Kubespray)
Kubeless, Kubeapps, kubectx, kubens i inne narzędzia użyteczne w codziennej pracy z klastrem Kubernetes