Kubernetes: orkiestracja kontenerów - szkolenie kompleksowe
Najbliższe terminy tego szkolenia
Standardy JSystems
- Wszyscy nasi trenerzy muszą być praktykami i osiągać średnią z ankiet minimum 4.75 na 5. Nie ma wśród nas trenerów-teoretyków. Każdy trener JSystems ma bogate doświadczenie komercyjne w zakresie tematów z których prowadzi szkolenia.
- Wszystkie szkolenia mają format warszatowy. Każde zagadnienie teoretyczne jest poparte rzędem warsztatów w ściśle określonym formacie.
- Terminy gwarantowane na 100%. Jeśli jakiś termin jest oznaczony jako gwarantowany, oznacza to że odbędzie się nawet jeśli część grupy wycofa się z udziału. Ryzyko ponosimy my jako organizator.
- Do każdego szkolenia które wymaga jakiegokolwiek oprogramowania dostarczamy skonfigurowane, gotowe hosty w chmurze. Dzięki temu uczestnik nie musi nic instalować na swoim komputerze (i bić się z blokadami korporacyjnymi). Połączenie następuje przez zdalny pulpit lub SSH - w zależności od szkolenia.
Program szkolenia
- Wprowadzenie
- Architektura aplikacji kontenerowych - Docker vs Portainer vs ContainerD - czy to ma znaczenie?
- Optymalizacja Dockerfile, jak to robić dobrze
- Bezpieczeństwo kontenerów jak o nie zadbać i jak je skanować?
- Hardening obrazów - czyli jak dodatkowo zabezpieczyć obraz
- Jak dobrze zarządzać konfiguracjami w dockerze na przykładzie docker compose
- Administracja kontenerami - na co zwrócić uwagę, skonfigurowanie logowania, metryki, tracing, itp.
- Narzędzia wspierające codzienną pracę z dockerem.
- Kubernetes
- Podstawy architektury
- API
- Opis obiektów
- Zarządzanie obiektami Kubernetes (imperatywne oraz deklaratywne)
- Manifesty obiektów - struktura oraz format (YAML)
- Omówienie kubectl i podobieństwa z docker
- Wejście w POD i kontener
- Zarządzanie kontekstem
- Pod
- Lifecyle kontenera - co się dzieje jak POD nie działa?
- Uruchamianie kontenerów/zadań przed startem głównej aplikacji
- Zarządzanie zasobami - jak ograniczyć zasoby naszego kontenera
- Healtcheck - co to jest i jak go stosować (Liveness, Readiness oraz Startup probes)
- Wiele kontenerów w Pod - czy można?
- Przeglądanie logów i evenów - co jak idzie coś nie tak..
- Labele, Selectory i Adnotacje - jakie labele stosować aby się nie pogubuić
- Service discovery w Kubernetes
- Service discovery w Kubernetes
- DNS
- Repliki, skalowanie a deployment wersji
- Recreate i rolling update - jak wdrażać nasze aplikacje na produkcję
- Omówienie polityk aktualizacji aplikacji (recreate, ramped, blue/green, canary, a/b testing, shadow)
- Canary Release - jak to dobrze zrobić na Kubernetesie (oraz jak zrobić to źle)
- Manualne i automatyczne skalowanie aplikacji - co zrobić jak nasza aplikacja potrzebuje więcej zasobów czy może się sama zeskalować - HPA
- 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ług
- Namespaces - wirtualne przestrzenie
- Eksponowanie usług
- NodePort
- ClusterIP
- LoadBalancer
- Ingress
- NGINX ingress controler i alternatywy
- Zarządzanie routingiem aplikacji
- Używanie certyfikatów w ingress
- Automatyczne generowanie certyfikatów na przykładzie Let’s encrypt i Cert Managera
- Konfiguracja i współdzielenie informacji
- Sekrety
- ConfigMaps
- Dobre praktyki na produkcji - wykorzystanie Hashicorp Vault
- Job i CronJob - zadania wsadowe i cykliczne
- Storage
- Lokalne montowanie danych
- EmptyDir
- 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
- DemonSets
- StatefulSets - czyli bazy danych w docker - stosować czy nie? Jak to robić? I kiedy nie robić.
- QoS
- Podstawy architektury
- 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
- CNI jako interfejs służący do konfiguracji kart sieciowych kontenerów
- Który CNI wybrać?
- Blokada komunikacji sieciowej w klastrze za pomocą Network Policies
- Mesh - co to jest
- Monitorowanie aplikacji
- Jakie są sposoby monitorowania Kubernetesa?
- Prometheus czy jest to najlepsze narzędzie?
- Dashboard kubernetesowy i alternatywy
- Centralne systemy logowania
- 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
- Jak postawić klaster od zera - jakie są możliwości?
- Kilka przydatnych rzeczy
- Helm
- Kustomize
- Security w Kubernetes
- 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)
- kubectx, kubens, telepresence, lens i inne narzędzia użyteczne w codziennej pracy z klastrem Kubernetes
Opis szkolenia
Szkolenie odbywa się na żywo z udziałem trenera. Nie jest to forma kursu video!O szkoleniu w skrócie
Kompleksowe szkolenie z zakresu orkiestracji kontenerów w Kubernetesie - od zera do bohatera. Szkolenie dla programistów, DevOps, administratorów, testerów - dla każdego kto chce pracować na klastrze Kubernetesa lub już pracuje i potrzebuje robić to lepiej i bardziej świadomie :)
Szkolenie ma na celu przygotowanie uczestników do pracy z technologią konteneryzacji oraz klastrem Kubernetes. Po tym szkoleniu użytkownicy bez problemu będą w stanie poruszać się po klastrze Kubernetes, deployować i zarządzać aplikacjami oraz je debugować. Dodatkowo uczestnicy szkolenia zobaczą najlepsze praktyki uruchamiania klastra w swojej firmie oraz jak profesjonalnie wdrażać aplikacje na klaster.
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ść technologii kontenerowej np. Docker Wiedza z zakresu programowania, sieci komputerowych oraz systemu Linux
Prowadzący szkolenie: Maciej Krajewski
Pasjonat kultury DEVOPS, zaprawiony w bojach programista JAVA i DEVOPS od 15 lat (jeszcze zanim to było modne). Ma wieloletnie doświadczenie w zarządzaniu wszelorakimi zespołami developerskimi. Zjadł zęby na realizacji projektów informatycznych w metodologiach klasycznych i zwinnych. Od systemów telekomunikacyjnych opartych na VoIP, rozwiązań video dla firm ubezpieczeniowych, banków, kilka fintechowych blockchainów, po centralny system do przetwarzania faktur medycznych dla rządu w Ghanie. Uwielbia proste rozwiązania i na codzień jest leniwy, dlatego jeżeli może automatyzuje co może - stąd wielka miłość do konteneryzacji i k8s’a, technologi CI/CD oraz CM! Maciej posiada wieloletnie doświadczenie trenerskie, Master of Ceremony na scenie TECH konferencji Infoshare, na codzień zarządza holendersko-polską technologiczną Yameo.
Stanowisko robocze
Do tego szkolenia każdy uczestnik otrzymuje dostęp do indywidualnej wirtualnej maszyny w chmurze. Ma ona zainstalowane i skonfigurowane wszystko co potrzebne do realizacji szkolenia. Maszyna będzie dostępna przez cały okres szkolenia.
Gdy na jakiś termin zgłosi się minimalna liczba osób, termin oznaczamy jako gwarantowany.
Jeśli jakiś termin oznaczony jest jako gwarantowany to oznacza to, że na 100% się odbędzie we wskazanym czasie i miejscu.
Nawet gdyby część takiej grupy zrezygnowała lub przeniosła się na inny termin, raz ustalony termin gwarantowany takim pozostaje.
Ewentualne ryzyko ponosimy my jako organizator.
Przejdź do terminów tego szkolenia