Kurzy a certifikace Open Source
Kubernetes Advanced
Cena (bez DPH)
Kubernetes se během několika let vyvinul v komplexní řešení pro orchestraci kontejnerů s nepřeberným množstvím integračních postupů. Nicméně, stále se nejedná o platformu, která je připravená pro přímé uživatelské použití a vyžaduje znalosti celého systému.
Školení se zaměřuje na pokročilou správu a operování Kubernetes clusteru. Předpokládáme běžné znalosti práce s Kubernetes a soustředíme se na navazující témata, např. integrace s CI/CD, úložiště, rozdělování prostředků. V neposlední řadě je kladen důraz na zabezpečení clusteru.
Možnosti financování
Cena za účastníka 7.406 Kč vč. DPH s podporou v programu JSEM V KURZU v rámci Národního plánu obnovy (registrace zde).
Cena za účastníka 41.140 Kč vč. DPH bez podpory (tj. 34.000 Kč bez DPH).
Cílová skupina
- Vývojáři aplikací
- Cloud Platform Engineer
- Projektanti IT systémů
Cíle kurzu
Školení Kubernetes Advanced je postaveno jako deep dive kurz, kde jsou vyžadovány předchozí zkušenosti s touto technologií. Zaměříme se na pokročilá témata jako je provozování produkčních aplikací, lifecycle management (LCM) a zabezpečení clusteru. Většina témat je demonstrována na živém prostředí a každý účastník dostane příležitost vyzkoušet si příklady na vyhrazeném clusteru.
V rámci kurzu je plánováno, že některá témata budou na začátku kurzu po dohodě s účastníky vynechána a jiným se budeme věnovat mnohem více do hloubky.
Autor kurzu
Tomáš vyvíjí edge cloud platformu založenu na Kubernetes ve společnosti Volterra. V minulosti pracoval pro společnost Mirantis a měl na starosti návrh Kubernetes clusterů a jejich doručení zákazníkům. Ve volném čase se věnuje parašutismu a cyklistice. Tomáš kurz v začátcích připravil a vytvořil praktické laby. V současné době mohou kurz školit různí lektoři.
Osnova
Nasazení aplikací
- Základní principy Kubernetes
- Aplikace ve více podech
- PID 1 v kontejneru
- Monitorování podů - liveness, readiness
- Přidělování prostředků (cpu, pamět), výchozí limity, přesouvání podů (eviction)
- DNS v clusteru - CoreDNS, DNS discovery
- Správa nastavení aplikací a discovery
- Načítání konfigurace z Kubernetes API (Downward API)
- Persistentní úložiště
- Použití hooků a init kontejnerů
- Stavové aplikace (StatefulSets)
- Automatické škálování aplikací (HPA)
- Spouštění úloh v clusteru (Jobs, CronJobs)
- Nastavení sítě a DNS
- Použití namespace pro oddělení aplikací
Control plane
- Kubernetes komponenty (etcd, apiserver, scheduler, conroller-manager, proxy, kubelet)
- Etcd - RAFT, benchmarking, zálohování a obnovení, monitoring
- Kubernetes API - monitorování stavu clusteru
- Pokročilý scheduling - selectory, (anti)affinity, ruční spouštění podů
- Použití vlastního scheduleru
- Priority podů - preemption, QoS
- Container Runtime - rozhraní CRI, cri-o, Docker
- Automatické škálování DNS serveru
- Úložiště pro kontejnerové image (registry)
- Vysoká dostupnost pro control plane
- Testování nastavení clusteru (conformance)
- Použití admission controllerů
Nody (computes)
- Monitorování Kubelet démona
- Řešení výpadku nodu
- Správa certifikátů pro Kubelet
- Úprava konfigurace nodu bez restartu
- Údržba nodů
Síťování
- CNI - síť v Kubernetes
- Kubenet
- LoadBalancer služby
- Ingress
Storage
- Persistentní disky
- Ukládání dat do host path
- Jepičí storage (emptyDir)
- CSI - Container Storage Interface
- Správa disků v public cloudu (cloudproviders)
Správa clusteru (operation)
- Monitorování aplikací s Prometheus
- Logování
- Kubernetes metr
- Aktualizace Kubernetes clusteru
- Řešení potíží v clusteru
Security
- Bezpečnost a práva - RBAC, Identities
- Cluster hardening - host networking, hostPid, drop capabilities
- Audit a audit2rbac
- Omezení přístupu a opravnění pomocí security contextů
- Segmentace clusteru
- Zabezpečení Kubelet démona
Other
- Vlastní objekty (CRD)
- Kubectl pluginy
- Managed Kubernetes v public cloudu (GKE, EKS, AKS)
- Cloudproviders - správa public cloudu z Kubernetes
Předpoklady na účastníka
- Základní kurz Kubernetes
- Základní terminologie a architektura Kubernetes (pod, svc, deployment, ...)
- Základy síťování (IP adresa, subnet)
- Použití terminálu pro spuštění příkazů
Požadavek na BYOD
- Libovolný operační systém schopný spustit `kubectl`
- SSH klient
- Webový prohlížeč