Zkuste nás kontaktovat

Návrh Školení

Úvod

  • Cíle kurzu
  • Kdo jste?
  • The Linux Foundation
  • Školení poskytovaná organizací Linux Foundation
  • Certifikační programy a digitální odznaky
  • Příprava vašeho systému k účasti v kurzu
  • Registrace do kurzu
  • Laboratorní cvičení

Architektura Kubernetes

  • Co je to Kubernetes?
  • Komponenty systému Kubernetes
  • Výzvy spojené s použitím Kubernetů
  • Historie a kořeny projektu Borg
  • Architektura Kubernetes
  • Terminologie používaná v prostředí Kubernetů
  • Master Node – řídící uzel
  • Minion (Worker) Nodes – pracovní uzly
  • Pody
  • Služby
  • Kontrolery / Operátoři
  • Každý pod má jednu IP adresu
  • Nastavení sítě v Kubernetech
  • Konfigurační soubor CNI sítě
  • Komunikace mezi jednotlivými pody
  • Cloud Native Computing Foundation
  • Doporučení ohledně využití zdrojů
  • Laboratorní cvičení

Sestavení aplikace

  • Možnosti kontejnerizace
  • Kontejnerizace samotné aplikace
  • Vytvoření souboru Dockerfile
  • Hostování lokálního repozitáře obrazů
  • Vytváření nasazení aplikace
  • Spouštění příkazů uvnitř kontejneru
  • Použití více kontejnerů v jednom podu
  • readinessProbe – kontrola připravenosti aplikace
  • livenessProbe – sledování, zda je aplikace aktivní
  • Testování funkčnosti aplikace
  • Laboratorní cvičení

Návrh architektury aplikace

  • Zvážení při navrhování tradičních aplikací
  • Oddělené komponenty systému
  • Dočasná povaha prvků v prostředí Kubernetů
  • Flexibilní framework pro konstrukci aplikací
  • Správa využití systémových zdrojů
  • Využívání selektorů štítků k identifikaci prvků
  • Konfigurace vícekontejnerových podů
  • Sidecar kontejner – pomocný kontejner pro hlavní aplikaci
  • Adapter kontejner – převáděcí vrstva mezi systémy
  • Ambasador – specializovaný kontejner pro komunikaci s externími systémy
  • Důležité body k zamyšlení při návrhu
  • Spouštění úloh pomocí funkce Jobs
  • Laboratorní cvičení

Konfigurace nasazení aplikace

  • Přehled možností využití svazků (volumes)
  • Základní informace o svazcích
  • Specifikace svazku
  • Různé typy svazků
  • Příklad sdíleného svazku mezi více aplikacemi
  • Persistent Volumes a Persistent Volume Claims – trvalá úložiště
  • Vlastní Persistent Volume
  • Definice požadavku na persistentní svazek
  • Dynamické vytváření úložišť
  • Práce s tajnými daty pomocí mechanismu Secrets
  • Předávání hodnot z Secrets do aplikace skrz proměnné prostředí
  • Připojování Secrets jako svazků k kontejnerům
  • Použití ConfigMaps pro snadnou migraci dat mezi prostředími
  • Jak využít ConfigMaps ve vašich aplikacích
  • Stav konfigurace nasazení
  • Škálování a postupné aktualizace verzí aplikace
  • Návrat k předchozímu stavu nasazení po chybách
  • Laboratorní cvičení

Bezpečnost v prostředí Kubernetes

  • Přehled bezpečnostních aspektů Kubernetů
  • Jakým způsobem se přistupuje k rozhraní API
  • Autentizace uživatelů a služeb
  • Autorizace – jak určujeme oprávnění
  • ABAC – atributově založená kontrola přístupu
  • RBAC – rolí a práv založená kontrola přístupu
  • Postup fungování mechanismu RBAC
  • Kontrolery při vstupu do systému – Admission Controllers
  • Kontexty bezpečnosti jednotlivých kontejnerů
  • Zásady zabezpečení podů (Pod Security Policies)
  • Síťové zásady zabezpečení
  • Konkrétní příklad využití síťových zásad
  • Ukázka výchozí konfigurace bezpečnostních pravidel
  • Laboratorní cvičení

Zpřístupnění aplikací uživatelům

  • Různé typy služeb v Kubernetes
  • Schéma uspořádání služeb
  • Postup aktualizace konfigurace služby
  • Jak zajistit přístup k aplikaci skrze její službu
  • Služba bez definovaných selektorů
  • ClusterIP – interní síťová adresa pro komunikaci v rámci clusteru
  • NodePort – externí port dostupný z jakéhokoliv uzlu
  • LoadBalancer – automatické přidělení veřejné IP adresy
  • ExternalName – externí název pro službu
  • Ingress Resource – vrstva pro správu přístupů k více aplikacím
  • Ingress Controller – řídící prvek vlastního Ingress systému
  • Service Mesh – síťová vrstva pro sofistikovanou správu komunikace mezi službami
  • Laboratorní cvičení

Řešení problémů a odstraňování chyb

  • Obecný přehled postupů při řešení problémů
  • Základní kroky při diagnostice chyb
  • Neustálé změny v prostředí Kubernetů
  • Postup řešení problémů u jednotlivých podů
  • Jak postupovat při problémech s uzly a bezpečností systému
  • Řešení problémů v rámci agentů spravujících prostředí
  • Monitoring stavu systému
  • Nástroje na generování a analýzu logů
  • Sledování chování samotných aplikací
  • Systémové a agentní záznamy o událostech
  • Testování shody implementace s požadavky specifikace Kubernetů
  • Další doporučené zdroje a dokumentace
  • Laboratorní cvičení

Revize před certifikační zkouškou CKAD

Požadavky

Abyste z tohoto kurzu měli co největší užitek, je potřeba mít:

Základní znalosti práce s příkazovým řádkem v Linuxu a editace souborů a také obeznámenost s nějakým programovacím jazykem (např. Python, Node.js nebo Go). Užitečné budou také znalosti konceptů a architektury cloud-native aplikací – například podle našeho bezplatného úvodního kurzu Kubernetes na platformě edX.

Upozorňujeme, že absolvování kurzu Správa Kubernetes (LFS458) není pro tento kurz předpokladem. Obsah obou kurzů se sice částečně překrývá, každý však stojí samostatně a je navázán na konkrétní certifikační zkoušku.

Cílové publikum

Kurz je určen zkušeným vývojářům aplikací, kteří potřebují kontejnerizovat, hostovat, nasazovat a konfigurovat aplikace ve vícenodovém clusteru.

Úroveň náročnosti: středně pokročilá

 21 Hodiny

Počet účastníků


Cena za účastníka

Reference (1)

Nadcházející kurzy

Související kategorie