Trwają zapisy do grupy

Szkolenie: Kubernetes w praktyce

Na szkoleniu Kubernetes w Praktyce opanujesz zaawansowane umiejętności konteneryzacji, zarządzania kontenerami oraz wdrażania i skalowania aplikacji w środowisku Kubernetes.

  • Trenerzy praktycy
  • Kameralne grupy

Czas trwania szkolenia:5 dni (40h)

Poziom zaawansowania:

Kod kursu:KUBERNETES

microserviceskubernetesdockerclustering

Dostępne terminy szkolenia

  • Termin
  • Trener
  • Cena
  • Zapis
  • Lokalizacja

Termin:

20 stycznia
Trwają zapisy na szkolenie

Trener:

Marcin Makowski

Cena:

4345 PLN netto
Ikona podpowiedziDowiedz się więcej o cenach szkoleń - zapraszamy do kontaktu
+23% VAT

Lokalizacja:

Zdalne
Zdalne
Ikona podpowiedziZapytaj o inne lokalizacje - w tym celu skorzystaj z chatu

Termin:

10 marca
Trwają zapisy na szkolenie

Trener:

Marcin Makowski

Cena:

4345 PLN netto
Ikona podpowiedziDowiedz się więcej o cenach szkoleń - zapraszamy do kontaktu
+23% VAT

Lokalizacja:

Zdalne
Zdalne
Ikona podpowiedziZapytaj o inne lokalizacje - w tym celu skorzystaj z chatu

Termin:

19 maja
Trwają zapisy na szkolenie

Trener:

Marcin Makowski

Cena:

4345 PLN netto
Ikona podpowiedziDowiedz się więcej o cenach szkoleń - zapraszamy do kontaktu
+23% VAT

Lokalizacja:

Zdalne
Zdalne
Ikona podpowiedziZapytaj o inne lokalizacje - w tym celu skorzystaj z chatu

Termin:

7 lipca
Trwają zapisy na szkolenie

Trener:

Marcin Makowski

Cena:

4345 PLN netto
Ikona podpowiedziDowiedz się więcej o cenach szkoleń - zapraszamy do kontaktu
+23% VAT

Lokalizacja:

Lokalizacja:

Forma szkolenia

Interesuje Cię szkolenie stacjonarne?

Powiadom o kolejnych terminach

Interesuje Cię szkolenie w innym terminie?

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?

  • Deweloperów i administratorów oraz każdej osoby, zainteresowanej tworzeniem, uruchamianiem i zarządzaniem aplikacjami wykorzystującymi kontenery


Zalety

  • Podstawy i zaawansowane techniki pracy z Dockerem – przedstawienie 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

  • Praktyczna administracja klastrami Kubernetes – instalacja i konfiguracja klastrów przy użyciu narzędzi takich jak kubeadm, implementacja strategii monitorowania z wykorzystaniem Prometheus i Grafana oraz optymalizacja komunikacji między usługami w klastrze

  • Rozbudowane mechanizmy uwierzytelniania i autoryzacji – wdrażanie metod uwierzytelniania (np. z użyciem certyfikatów lub integracji z systemami zewnętrznymi) oraz 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


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

Pobierz program w PDF

Wprowadzenie do kontenerów na przykładzie platformy Docker

  • Architektura, komponenty oraz wersjonowanie narzędzia Docker

  • containerd, cri-o, podman jako narzędzia tworzące kontenery w systemie Linux

  • 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 jeden ze sposobów na instalację lokalnego klastra

  • 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 (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

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

  • 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

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)

  • Cloud Native Landscape - aplikacje wspierające prace z Kubernetes

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

  • Struktura plikow paczki

  • Podstawowe obiekty wbudowane w Helm (Release, Values, Files)

Szkolenie poprowadzi Marcin Makowski

Co mówią o nas kursanci

Opinie pochodzą z ankiet wypełnianych przez uczestników naszych szkoleń

5

Opinie i oceny pochodzą z google i są niezweryfikowane

Dużo przekazanej wiedzy popartej laborkami. Szkolenie potrafi zachęcić do dalszego zdobywania wiedzy.

Robert Warzocha