Detail kurzu

Kubernetes Advanced

DataScript s.r.o.

Popis kurzu

V TĚCHTO MĚSÍCÍCH NABÍZÍME KURZY VE VIRTUÁLNÍ PODOBĚ.

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.

Obsah kurzu

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.

Garant kurzu

TOMÁŠ KUKRÁL

TOMÁŠ KUKRÁL

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. 

 

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č

Cieľová skupina

  • Vývojáři aplikací
  • Cloud Platform Engineer
  • Projektanti IT systémů
Hodnotenie




Organizátor