Szkolenie Certified Kubernetes Application Developer (CKAD)
Poziom
ŚredniozaawansowanyCzas
28h / 4 dniTermin
IndywidualnieCena
IndywidualnieSzkolenie z CKAD
Praktyczne szkolenie przygotowujące do egzaminu Certified Kubernetes Application Developer (CKAD) oraz pracy z aplikacjami uruchamianymi na Kubernetes. Program obejmuje projekt i budowę aplikacji, strategie wdrożeniowe, obserwowalność i diagnostykę, konfigurację i bezpieczeństwo aplikacji oraz usługi i sieć. Uczestnicy pracują w terminalu, tworzą i modyfikują manifesty YAML oraz rozwiązują zadania zbliżone do formuły praktycznego egzaminu. Szkolenie nie obejmuje administracji klastrem na poziomie wymaganym przez egzamin CKA.
Dla kogo jest to szkolenie?
- programistów
- inżynierów DevOps
- administratorów rozwijających oraz wdrażających aplikacje na Kubernetes.
Wymagania
- pracować w terminalu Linux
- znać podstawy konteneryzacji
- odczytywać i modyfikować pliki YAML
- rozumieć przeznaczenie zasobów Pod, Deployment i Service.
- podstawowa praktyka z poleceniami kubectl
- Wiedza dotycząca instalacji i administracji control plane nie jest wymagana
Czego nauczysz się na szkoleniu?
- Zbudujesz i zmodyfikujesz obraz kontenerowy oraz dobierzesz właściwy zasób workload do sposobu działania aplikacji
- Przygotujesz wielokontenerowy Pod wykorzystujący kontenery init i sidecar oraz woluminy trwałe i efemeryczne
- Wdrożysz nową wersję aplikacji z użyciem aktualizacji kroczącej, strategii blue-green lub canary oraz wykonasz kontrolowany rollback
- Zainstalujesz aplikację z pakietu Helm i przygotujesz warianty konfiguracji za pomocą Kustomize
- Skonfigurujesz sondy zdrowia, przeanalizujesz logi i zdarzenia oraz zdiagnozujesz nieprawidłowe działanie aplikacji
- Zastosujesz ConfigMap, Secret, ServiceAccount, limity zasobów i SecurityContext do konfiguracji oraz zabezpieczenia workloadu
- Skonfigurujesz Service, NetworkPolicy i Ingress oraz zweryfikujesz dostępność aplikacji w klastrze
- Przygotujesz i zwalidujesz manifesty Kubernetes w warunkach zbliżonych do praktycznego egzaminu CKAD
Program szkolenia
Dzień 1
Moduł 1: Wprowadzenie i środowisko egzaminacyjne
- Architektura Kubernetes: control plane, węzły robocze, kube-apiserver, kube-scheduler, kube-controller-manager, kubelet, środowisko uruchomieniowe kontenerów i deklaratywny stan klastra
- Charakterystyka egzaminu Certified Kubernetes Application Developer (CKAD): obszary kompetencyjne, środowisko terminalowe, dostępna dokumentacja, organizacja pracy i walidacja rezultatów
- Środowisko programistyczne: kubectl, konteksty, przestrzenie nazw, autouzupełnianie, aliasy, edytor, kubectl explain, dry-run i kubectl diff
Moduł 2: Projekt i budowa aplikacji
- Obrazy kontenerowe: struktura Dockerfile, warstwy, wieloetapowy proces budowy, znaczniki, rejestry, użytkownik bez uprawnień root i optymalizacja rozmiaru obrazu
- Zasoby workload Kubernetes: Pod, Deployment, DaemonSet, Job i CronJob oraz kryteria doboru zasobu do cyklu życia aplikacji
- Wzorce wielokontenerowych Podów: kontenery init, sidecar i adapter, współdzielona sieć, woluminy, kolejność uruchamiania i zależności
- Woluminy trwałe i efemeryczne: emptyDir, PersistentVolumeClaim, montowanie danych, tryby dostępu i wymagania aplikacji stanowych
Dzień 2
Moduł 3: Strategie wdrożeniowe
- Strategie wdrożeniowe Kubernetes: aktualizacja krocząca, blue-green i canary oraz kontrola ruchu między wersjami aplikacji
- Cykl wersji aplikacji: Deployment, ReplicaSet, revision history, rollout status, pause, resume, rollback i walidacja wdrożenia
- Pakiety Helm: repozytoria, chart, release, values, instalacja, aktualizacja, historia, rollback i usuwanie wydania
- Nakładki Kustomize: base, overlay, kustomization.yaml, generatory konfiguracji, modyfikacje obrazów i warianty środowiskowe
Moduł 4: Obserwowalność i utrzymanie aplikacji
- Sondy i kontrole zdrowia: startupProbe, readinessProbe i livenessProbe, typy testów, progi, opóźnienia oraz wpływ na ruch i restarty
- Diagnostyka aplikacji: logi kontenerów, zdarzenia Kubernetes, statusy i warunki zasobów, kubectl describe, kubectl exec, kontenery debugujące oraz deprecjacje API
Dzień 3
Moduł 5: Środowisko, konfiguracja i bezpieczeństwo aplikacji (Część 1)
- Rozszerzenia API Kubernetes: CustomResourceDefinition, zasoby niestandardowe, kontrolery i wzorzec operatora
- Tożsamość i kontrola dostępu: uwierzytelnianie, autoryzacja RBAC, admission control, uprawnienia zasobów i zasada najmniejszych uprawnień
- Zarządzanie zasobami: requests, limits, ResourceQuota, LimitRange, klasy jakości QoS i konsekwencje niedoboru procesora lub pamięci
Moduł 6: Środowisko, konfiguracja i bezpieczeństwo aplikacji (Część 2)
- ConfigMap: dane konfiguracyjne, zmienne środowiskowe, argumenty, woluminy, aktualizacja konfiguracji i separacja ustawień od obrazu
- Wymagania zasobowe aplikacji: procesor, pamięć, ephemeral storage, wartości requests i limits oraz wpływ na planowanie i stabilność
- Secret: typy sekretów, zmienne środowiskowe, woluminy, imagePullSecrets, ograniczenie ekspozycji danych i podstawowe zasady rotacji
Dzień 4
Moduł 7: Środowisko, konfiguracja i bezpieczeństwo aplikacji (Część 3)
- ServiceAccount: tożsamość workloadu, tokeny krótkotrwałe, automatyczne montowanie poświadczeń, imagePullSecrets i powiązania RBAC
- SecurityContext: użytkownik i grupa procesu, tryb bez uprawnień root, system plików tylko do odczytu, capabilities, seccomp i uprawnienia woluminów
Moduł 8: Usługi i sieć Kubernetes
- NetworkPolicy: selektory Podów i przestrzeni nazw, reguły ingress i egress, domyślna izolacja oraz walidacja dozwolonego ruchu
- Service: ClusterIP, NodePort, LoadBalancer, selektory, port, targetPort, EndpointSlice, DNS i diagnostyka dostępu do aplikacji
- Ingress: IngressClass, reguły hostów i ścieżek, backendy usług, TLS, kontroler Ingress i diagnostyka routingu