Kubernetes w praktyce

4950 PLN+23% VAT (6088 PLN brutto / 1 os.)

Czas trwania szkolenia:5 dni (40h)

Kod kursu:KUBERNETES

Poziom zaawansowania:

microservices

docker

rocket

rkt

pods

clustering

Dostępne terminy

  • Termin
  • Lokalizacja
  • Trener
  • Cena
Brak dostępnych terminów

O szkoleniu Kubernetes w praktyce

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

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

Wymagania

  • Praktyczna znajomość wybranej technologii kontenerowej np. Docker
  • Wiedza z zakresu programowania, sieci komputerowych oraz systemu Linux

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

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

Program

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

Helm jako natywny menedżer pakietów aplikacji w Kubernetes

Podobne szkolenia