Kurzy a certifikace Open Source
Kubernetes Advanced
Cena (bez DPH)
Kurz navazuje na základní znalosti Kubernetes a jde do hloubky toho, jak cluster funguje uvnitř. Projdeme pokročilé možnosti nasazení aplikací, rozdělování prostředků a scheduling podů, úložiště a síťování, fungování control plane včetně etcd a zabezpečení clusteru. Účastníci si vyzkouší i řešení výpadků a údržbu clusteru, takže budou rozumět tomu, co se v clusteru děje a proč.
Lektor kurzu

Tomáš se věnuje Kubernetes od doby kdy ke spuštění kontejnerů byl potřeba jeřáb a deployment v Normandii neznamenal spustit kontejnery na severu Francie. Postupně se bavil provozováním Cephu pro/v Kubernetes na ČVUT FIT, OpenStacku v Kubernetes (a obráceně) pro Mirantis.
Více o lektorovi
Potom si rozsypal po světě několik tisíc clusterů a vyráběl systém pro jejich deployment a řízení v F5/Volterra. Nyní pomáhá matematikům uklízet kontejnery v Second Foundation. Neustále balancuje mezi programováním, architekturou a DevOps světem, takže ve volném čase chytá rovnováhu, psy, vítr, snaží se odletět daleko a nakonec bezpečně přistát.
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.
Osnova
Nasazení aplikací
- Základní principy Kubernetes
- Verze Kubernetes API
- Aplikace ve více podech
- Přidělování prostředků (cpu, paměť), výchozí limity, kvóty pro namespace
- QoS, priority podů, přesouvání podů (eviction), garbage collection imagů
- DNS v clusteru - CoreDNS, DNS discovery
- Správa nastavení aplikací a discovery
- Načítání konfigurace z Kubernetes API (Downward API)
- Stavové aplikace (StatefulSets)
- Spouštění úloh v clusteru (Jobs, CronJobs)
- Nastavení sítě a DNS
- Použití namespace pro oddělení aplikací
Storage
- Persistentní disky - ruční provisioning, StorageClass
- Ukládání dat do host path
- Jepičí storage (emptyDir)
- CSI - Container Storage Interface
- Správa disků v public cloudu (cloudproviders)
Síťování
- CNI - síť v Kubernetes
- IPv6 a dual stack
- Ingress - Traefik, IngressRoute, Gateway API (HTTPRoute)
- Segmentace clusteru - izolace namespace, network policies
Control plane
- Kubernetes komponenty (etcd, apiserver, scheduler, controller-manager, proxy, kubelet)
- Etcd - RAFT, benchmarking, zálohování a obnovení
- Pokročilý scheduling - selectory, (anti)affinity
- Použití vlastního scheduleru
- Vysoká dostupnost pro control plane
- Použití admission controllerů
Nody (computes)
- Řešení výpadku nodu
- Údržba nodů
Security
- Bezpečnost a práva - RBAC, Identities
- Cluster hardening - host networking, hostPid, drop capabilities
- Omezení přístupu a oprávnění pomocí security contextů
- Pod Security Admission
- Audit a audit2rbac
- Zabezpečení Kubelet démona
Správa clusteru (operation)
- Kustomize
- Monitorování aplikací s Prometheus
- Monitorování Kubernetes a etcd
- Aktualizace Kubernetes clusteru
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č