Kubernetes w praktyce

O szkoleniu

Wprowadzenie do wykorzystania platformy Kubernetes. Nabycie umiejętności wykorzystania Kubernetes w zakresie monitorowania, tuningu i skalowania aplikacji. Poznanie dobrych praktyk związanych z wdrażaniem aplikacji wykorzystujących kontenery (w szczególności opartych o architekturę mikroserwisów).

Dlaczego warto wziąć udział?
  • 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
Kto powinien wziąć udział?

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

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

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

Czas trwania

5 dni: 40h

Terminy i miejsca

To szkolenie nie ma aktualnych terminów. Wyślij zapytanie o nowe terminy bądź zapisz na powiadomienia o nowych terminach.

1. Praktyczna znajomość wybranej technologii kontenerowej np. Docker
2. Wiedza z zakresu programowania, sieci komputerowych oraz systemu Linux
3. Komputer z dostępem do Internetu

Rejestracja

Szkolenie online
za osobę
4 950
+23% VAT
Cena zawiera:
  • udział w zajęciach
  • materiały szkoleniowo-konferencyjne
  • certyfikat uczestnictwa
Zapisz się

Organizator

Sages Sp. z o.o.
02-796 Warszawa
ul. Wąwozowa 11
woj. mazowieckie
FAQ

Najczęściej zadawane pytania

Prosimy o przejście do sekcji Zapisz się, aby wypełnić formularz zgłoszenia w wydarzeniu. Po jego wysłaniu organizator skontaktuje się celem potwierdzenia przyjęcia zgłoszenia i przekazania szczegółów organizacyjnych.

Kontakt

Masz pytania? Napisz do nas

Wypełnij formularz

Uzupełnij pole
Uzupełnij pole
Wybierz termin wydarzenia
Uzupełnij pole
Uzupełnij pole
Uzupełnij wiadomość
Potwierdź, że nie jesteś botem.
Musisz zaakceptować regulamin.

Dane kontaktowe

Sages Sp. z o.o.
02-796 Warszawa ul. Wąwozowa 11
Powiadomienia o nowych terminach

Zapisz się, aby otrzymywać powiadomienia o nowych terminach tego wydarzenia!