Zkuste nás kontaktovat

Návrh Školení

Den 1 – Kontejnery a správa obrazů

Úvod do platform kontejnerů

  • Srovnání tradičního nasazování aplikací s nasazováním založeným na kontejnerech
  • Kontejnery a virtualizace
  • Kontejnerové runtime a kontejnerové enginy
  • Role Dockeru, Kubernetesu a OpenShifu
  • Běžné architektury platform kontejnerů
  • Postupy vývoje, testování a produkce

Práce s kontejnery

  • Spuštění a správa kontejnerů
  • Životní cyklus kontejneru
  • Spouštění, zastavování a odstraňování kontejnerů
  • Spouštění příkazů uvnitř kontejnerů
  • Prostředové proměnné
  • Mapování portů
  • Logy kontejnerů
  • Využívání zdrojů a zkoumání procesů

Stavba obrazů kontejnerů

  • Struktura obrazů a vrstvy
  • Vytváření Dockerfile a Containerfile
  • Výběr základních obrazů
  • Přidávání závislostí aplikací
  • Konfigurace vstupních bodů (entry points) a příkazů
  • Cache obrazů
  • Snížení velikosti obrazů
  • Stavba reprodukovatelných obrazů

Registry kontejnerů

  • Veřejné a soukromé registry
  • Označování (tagging) a verzování obrazů
  • Odesílání a stažení (push/pull) obrazů
  • Autenticace obrazů
  • Retence a úklid obrazů
  • Základní aspekty bezpečnosti obrazů

Síťování a úložiště kontejnerů

  • Koncepty sítě kontejnerů
  • Bridge síťování
  • Publikování portů
  • Komunikace mezi kontejnery
  • Bind mounts a svazky (volumes)
  • Perzistentní data kontejnerů
  • Úvahy ohledně zálohování

Praktická cvičení

  • Spuštění a zkoumání kontejnerů
  • Vytvoření obrazu aplikace
  • Konfigurace portů a prostředových proměnných
  • Publikování obrazu do registru
  • Uložení perzistentních dat mimo kontejner

Den 2 – Architektura Kubernetesu a workloady

Základy Kubernetesu

  • Účel orchestrace kontejnerů
  • Architektura Kubernetesu
  • Komponenty ovládací roviny (control plane)
  • Pracovní uzly (worker nodes)
  • API server
  • Scheduler
  • Manageři (controllers)
  • Stav klastru a cílový stav
  • Komunikace s klastr pomocí kubectl

Zdroje Kubernetes

  • Pods
  • ReplicaSets
  • Deployments
  • Namespaces
  • Popisky (labels) a anotace
  • Selektory
  • Deklarativní definice zdrojů
  • YAML manifesty

Nasazování aplikací

  • Vytváření a správa Deploymentů
  • Škálování workloadů
  • Aktualizace obrazů kontejnerů
  • Plynulé aktualizace (rolling updates)
  • Vracení zpět (rollbacks)
  • Historie nasazení
  • Restartování workloadů
  • Správa replik aplikací

Konfigurace aplikací

  • ConfigMaps
  • Secrets
  • Prostředové proměnné
  • Konfigurační soubory
  • Oddělení kódu aplikace od konfigurace
  • Správa nastavení specifických pro prostředí

Správa zdrojů

  • Žádosti o CPU a paměť
  • Limity CPU a paměti
  • Kvóty zdrojů
  • Omezující rozsahy (limit ranges)
  • Dopad na plánování (scheduling)
  • Diagnostika selhání souvisejících se zdroji

Praktická cvičení

  • Nasazení kontejnerizované aplikace
  • Vytvoření a aktualizace manifestů Kubernetes
  • Škálování aplikace
  • Provedení plynulé aktualizace a rollbacku
  • Konfigurace aplikace pomocí ConfigMapů a Secretů
  • Aplikace požadavků a limitů zdrojů

Den 3 – Síťování, úložiště a bezpečnost v Kubernetesu

Síťování v Kubernetesu

  • Model sítě klastru
  • Komunikace mezi pods
  • Objev služeb (service discovery)
  • DNS uvnitř klastru
  • Služby ClusterIP
  • Služby NodePort
  • Služby LoadBalancer
  • Koncepty ingress
  • Vzorce vystavení aplikací

Síťové politiky

  • Ovládání provozu mezi workloady
  • Pravidla pro příchozí a odchozí provoz (ingress/egress)
  • Kontrola provozu na základě namespace
  • Testování síťové konektivity
  • Odstraňování problémů s komunikací služeb

Perzistentní úložiště

  • Dočasné a perzistentní úložiště
  • Objemy (volumes)
  • PersistentVolumes
  • PersistentVolumeClaims
  • StorageClasses
  • Dynamické zprovisionování
  • Přístupové režimy
  • Strategie zpětného získání (reclaim policies)
  • Úložiště pro aplikace se stavem (stateful)

Kontrola přístupu v Kubernetesu

  • Koncepty autenticace a autorizace
  • Kontrola přístupu na základě rolí (RBAC)
  • Role a ClusterRoles
  • RoleBindings a ClusterRoleBindings
  • Service účty
  • Přístup na nejmenší nezbytné právo (least-privilege)
  • Zkoumání účinných oprávnění

Bezpečnost workloadů

  • Bezpečnostní kontexty (security contexts)
  • Spouštění kontejnerů jako nenewroot uživatel
  • Schopnosti Linuxu (capabilities)
  • Read-only souborové systémy
  • Práce s tajnými údaji (secrets)
  • Původ obrazů (image provenance)
  • Obecná rizika konfigurace

Praktická cvičení

  • Vystavení aplikace pomocí služeb Kubernetes
  • Konfigurace ingress
  • Obmezení provozu pomocí síťové politiky
  • Zprovisionování perzistentního úložiště
  • Konfigurace oprávnění RBAC
  • Spouštění workloadu s vhodným bezpečnostním kontextem

Den 4 – Práce s prostředím OpenShift

Úvod do OpenShiftu

  • OpenShift jako aplikační platforma založená na Kubernetesu
  • Zdroje Kubernetes v prostředí OpenShift
  • Architektura klastru OpenShift
  • Projekty a namespace
  • Uživatelé platformy a service účty
  • Práce s webovou konzolí
  • Práce s CLI OpenShift

Správa projektů a přístupu

  • Vytváření a správa projektů
  • Přiřazování oprávnění uživatelů
  • Role na úrovni projektu
  • Administrační přístup
  • Kvóty zdrojů
  • Omezující rozsahy (limit ranges)
  • Service účty
  • Přezkum zdrojů projektu

Nasazování aplikací

  • Nasazování obrazů kontejnerů
  • Vytváření aplikačních workloadů
  • Správa nasazení (deployments)
  • Škálování aplikací
  • Aktualizace verzí aplikací
  • Rollbacks
  • Správa konfigurace aplikací
  • Práce s tajnými údaji (secrets)

Vystavení aplikací

  • Služby v OpenShiftu
  • Trasy (routes)
  • Koncepty TLS
  • Vnitřní a vnější přístup k aplikacím
  • Názvy hostitelů a certifikáty
  • Diagnostika problémů s trasami a službami

Úložiště v OpenShiftu

  • Objemové nároky (Persistent Volume Claims)
  • StorageClasses
  • Připojení úložiště k workloadům
  • Stateful workloady
  • Práva přístupu k úložišti
  • Odstraňování problémů s připojením objemů

Plánování a správa uzlů

  • Popisky a selektory
  • Selektory uzlů (node selectors)
  • Štítky a tolerance (taints and tolerations)
  • Koncepce afinity a anti-afinity
  • Umístění workloadů
  • Omezení (cordon) a vyprazdňování (drain) uzlů
  • Úvahy ohledně údržby uzlů

Praktická cvičení

  • Přístup do prostředí OpenShift
  • Vytvoření a konfigurace projektu
  • Nasazení a vystavení aplikace
  • Konfigurace přístupu uživatelů a service účtů
  • Připojení perzistentního úložiště
  • Škálování a aktualizace běžícího workloadu

Den 5 – Provoz, monitorování a odstraňování chyb

Monitorování platformy

  • Monitorování zdraví klastru a aplikací
  • Metricí zdrojů
  • Zdraví uzlů
  • Stav workloadů
  • Kapacita a využití zdrojů
  • Identifikace výkonových omezení

Logování a události

  • Logy kontejnerů
  • Logy pods
  • Logy předchozích kontejnerů
  • Události Kubernetes
  • Zprávy aplikací a platformy
  • Filtrování a interpretace operačních dat

Zdravotní kontroly (Health Checks)

  • Startup probes
  • Readiness probes
  • Liveness probes
  • Navrhování užitečných zdravotních koncových bodů (endpoints)
  • Diagnostika selhání probe
  • Předcházení zbytečným restartům aplikací

Odstraňování chyb workloadů

  • Pods ve stavu Pending
  • Selhání stažení obrazu
  • Smrtící smyčky (crash loops)
  • Nezpracované prostředové proměnné
  • Neúspěšné připojení objemů
  • Nedostatek zdrojů
  • Chyby oprávnění
  • Problémy s konektivitou služeb a tras
  • Problémy s DNS
  • Selhání spuštění aplikace

Operační bezpečnost

  • Revizí oprávnění
  • Používání service účtů
  • Bezpečné nakládání s odhlásovacími údaji (credentials)
  • Praktiky bezpečnosti obrazů
  • Síťová izolace
  • Audit přístupu k platformě
  • Aplikace principu minimálního privilegia

Údržba a správa životního cyklu

  • Rutinní kontroly platformy
  • Údržba uzlů
  • Úvahy ohledně zálohování aplikací
  • Zálohování konfigurace
  • Plánování aktualizací
  • Správa změn
  • Testování aktualizací
  • Plánování rollbacků
  • Koncepce zotavení z havárie

Závěrečný praktický workshop

Účastníci dokončí end-to-end operační scénář:

  • Sestavení a označení (tagging) obrazu kontejneru.
  • Publikování obrazu do registru.
  • Nasazení aplikace do Kubernetesu nebo OpenShiftu.
  • Konfigurace nastavení aplikace a odhlásovacích údajů.
  • Vystavení aplikace.
  • Připojení perzistentního úložiště.
  • Konfigurace oprávnění přístupu.
  • Přidání zdravotních kontrol.
  • Škálování a aktualizace aplikace.
  • Diagnostika a vyřešení zavedeného selhání.

Formát kurzu

  • Interaktivní přednášky a technické diskuse.
  • Demonstrace lektorem.
  • Rozsáhlá praktická cvičení.
  • Workshopy administrace a odstraňování chyb založené na scénářích.
  • Praktická práce v prostředí kontejnerů, Kubernetesu a OpenShiftu.

Možnosti úpravy kurzu

  • Kurz lze přizpůsobit stávající infrastruktuře, poskytovateli cloudu a nástrojům kontejnerů účastníků.
  • Výraznost témat Docker, Kubernetes a OpenShift lze upravit podle zkušeností týmu.
  • Praktická cvičení lze přizpůsobit aplikacím, procesům nasazování a operačním požadavkům organizace.

Upozornění na ochrannou známku

OpenShift je ochranná známka společnosti Red Hat, Inc. Toto nezávisle vyvinuté školení není spojeno, schváleno ani autorizováno společností Red Hat.

Požadavky

Účastníci by měli mít:

  • Zkušenosti s používáním Linuxového příkazového řádku.
  • Základní znalosti správy systémů nebo DevOps.
  • Obecné pochopení síťových konceptů.
  • Znalost procesů nasazování softwaru.

Předchozí zkušenosti s Dockerem, Kubernetesem nebo OpenShiftem jsou vítané, ale nejsou povinné.

 35 Hodiny

Počet účastníků


Cena za účastníka

Reference (7)

Nadcházející kurzy

Související kategorie