Zkuste nás kontaktovat

Návrh Školení

Denní den 1 – Kontejnery a správa obrazů

Úvod do platforem pro kontejnery

  • Klasické nasazení aplikací ve srovnání s nasazením založeným na kontejnerech
  • Kontejnery a virtuální stroje
  • Časovače kontejnerů a pohony kontejnerů
  • Rol Dockeru, Kubernetesu a OpenShift
  • Běžné architektury platforem pro kontejnery
  • Pracovní postupy pro vývoj, testování a produkci

Práce s kontejnery

  • Spuštění a správa kontejnerů
  • Životní cyklus kontejneru
  • Spuštění, zastavení a odstranění kontejnerů
  • Vykonávání příkazů uvnitř kontejnerů
  • Proměnné prostředí
  • Mapování portů
  • Logy kontejnerů
  • Využití zdrojů a inspekcí procesů

Vytváření obrazů kontejnerů

  • Struktura obrazu a vrstvy
  • Tvoření Dockerfileů a Containerfiles
  • Výběr základních obrazů
  • Přidání závislostí aplikace
  • Konfigurace vstupních bodů a příkazů
  • Mezipaměť obrazů
  • Snižování velikosti obrazu
  • Tvoření reprodukovatelných obrazů

Registry kontejnerů

  • Veřejné a soukromé registry
  • Vytváření značek a verzování obrazů
  • Pushování a tahání obrazů
  • Ověřování obrazu
  • Udržování a čištění obrazu
  • Základní úvahy o bezpečnosti obrazu

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

  • Koncepce síťování kontejnerů
  • Mostové síťování
  • Vystavení portu
  • Komunikace mezi kontejnery
  • Připojení svazků a volumes
  • Trvalá data kontejneru
  • Úvahy o zálohování

Praktická cvičení

  • Spuštění a inspekcí kontejnerů
  • Tvoření obrazu aplikace
  • Konfigurace portů a proměnných prostředí
  • Vydání obrazu do registry
  • Uložení trvalých dat mimo kontejner

Denní den 2 – Architektura Kubernetes a pracovní zátěže

Základy Kubernetesu

  • Cíl orchestrace kontejnerů
  • Architektura Kubernetesu
  • Komponenty řídicí roviny
  • Pracovní uzly
  • Server API
  • Plánovač
  • Kontroloři
  • Stav klastru a požadovaný stav
  • Komunikace s klasterem pomocí kubectl

Zdroje Kubernetesu

  • Pody
  • ReplicSety
  • Nasazení (Deployments)
  • Jmenné prostory (Namespaces)
  • Štítky a anotace
  • Výběry (Selectors)
  • Deklarativní definice zdrojů
  • Manifesty YAML

Nasadění aplikací

  • Tvoření a správa nasazení
  • Škálování pracovních zátěží
  • Aktualizace obrazů kontejnerů
  • Rozletové aktualizace (Rolling updates)
  • Vrácení zpět (Rollbacks)
  • Historie nasazení
  • Restartování pracovních zátěží
  • Správa replik aplikací

Konfigurace aplikací

  • ConfigMaps
  • Secrets
  • Proměnné prostředí
  • Konfigurační soubory
  • Oddělení kódu aplikace od konfigurace
  • Sprava nastavení specifického pro prostředí

Správa zdrojů

  • Požadavky na CPU a paměť
  • Limity na CPU a paměť
  • Kvóty zdrojů
  • Rozsahy limitů (Limit ranges)
  • Dopady na plánování
  • Diagnóza selhání spojených se zdroji

Praktická cvičení

  • Nasadění kontejnerizované aplikace
  • Tvoření a aktualizace manifestů Kubernetesu
  • Škálování aplikace
  • Provádění rozletové aktualizace a vrácení zpět
  • Konfigurace aplikace pomocí ConfigMap a Secret
  • Aplikace požadavků na zdroje a limitů

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

Síťování Kubernetesu

  • Model síťování klastru
  • Komunikace pod-pod
  • Objevování služeb (Service discovery)
  • DNS uvnitř klastru
  • Služby ClusterIP
  • Služby NodePort
  • Služby LoadBalancer
  • Koncepce Ingress
  • Vzory vystavení aplikace

Pravidla sítě (Network Policies)

  • Ovládání provozu mezi pracovními zátěžemi
  • Pravidla ingress a egress
  • Ovládání provozu založené na jmenných prostorech
  • Testování síťové připojitelnosti
  • Rozhodování problémů s komunikací služeb

Trvalé úložiště

  • Ephemerní a trvalé úložiště
  • Svazky (Volumes)
  • PersistentVolumes
  • PersistentVolumeClaims
  • Třídy úložiště (StorageClasses)
  • Dynamické zřizování
  • Režimy přístupu
  • Zásady odnětí (Reclaim policies)
  • Úložiště pro stavitelné aplikace

Ovládání přístupu Kubernetesu

  • Koncepce ověřování a autorizace
  • Ovládání přístupu založené na rolích (RBAC)
  • Rol a ClusterRoles
  • RoleBindings a ClusterRoleBindings
  • Účty služeb (Service accounts)
  • Přístup s nejmenšími oprávněními (Least-privilege access)
  • Inspekcí účinných oprávnění

Bezpečnost pracovních zátěží

  • Kontexty bezpečnosti (Security contexts)
  • Spuštění kontejnerů jako nenabuzový uživatel
  • Pcapné linuxové schopnosti
  • Apsolní souborové systémy
  • Zpracování tajemství (Secrets)
  • Původ obrazu
  • Běžná rizika konfigurace

Praktická cvičení

  • Vystavení aplikace pomocí služeb Kubernetesu
  • Konfigurace ingress
  • Omezení provozu pomocí pravidla sítě
  • Zřizování trvalého úložiště
  • Konfigurace oprávnění RBAC
  • Spuštění pracovní zátěže s vhodným kontextem bezpečnosti

Denní den 4 – Práce se prostředím OpenShift

Úvod do OpenShiftu

  • OpenShift jako platforma aplikací založená na Kubernetesu
  • Zdroje Kubernetesu v prostředí OpenShiftu
  • Architektura klastru OpenShiftu
  • Projekty a jmenné prostory
  • Uživatelé platformy a účty služeb
  • Práce s webovou konzolí
  • Práce s CLI OpenShiftu

Správa projektů a přístupu

  • Tvoření a správa projektů
  • Přiřazování oprávnění uživatelům
  • Rol na úrovni projektu
  • Administrativní přístup
  • Kvóty zdrojů
  • Rozsahy limitů (Limit ranges)
  • Účty služeb
  • Prohlížení zdrojů projektu

Nasadění aplikací

  • Nasadění obrazů kontejnerů
  • Tvoření pracovních zátěží aplikace
  • Správa nasazení
  • Škálování aplikací
  • Aktualizace verzí aplikace
  • Vrácení zpět (Rollbacks)
  • Sprava konfigurace aplikace
  • Práce s tajnými údaji (Secrets)

Vystavení aplikací

  • Služby v OpenShiftu
  • Trasy (Routes)
  • Koncepce TLS
  • Interní a externí přístup k aplikaci
  • Názvy hostitelů a certifikáty
  • Rozhodování problémů s trasami a službami

Úložiště v OpenShiftu

  • PersistentVolumeClaims
  • Třídy úložiště (StorageClasses)
  • Připojení úložiště k pracovním zátěžím
  • Stavitelné pracovní zátěže
  • Oprávnění přístupu k úložišti
  • Rozhodování problémů s montováním svazků

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

  • Štítky a výběry
  • Výběry uzlů (Node selectors)
  • Zátěže a tolerance (Taints and tolerations)
  • Koncepce afinita a anti-afinita
  • Umístění pracovních zátěží
  • Odstavení a odčerpávání uzlů (Cordoning and draining nodes)
  • Úvahy o údržbě uzlů

Praktická cvičení

  • Přístup k prostředí OpenShiftu
  • Tvoření a konfigurace projektu
  • Nasadění a vystavení aplikace
  • Konfigurace přístupu uživatele a účtu služby
  • Připojení trvalého úložiště
  • Škálování a aktualizace běžící pracovní zátěže

Denní den 5 – Provoz, monitorování a rozhodování

Monitorování platformy

  • Monitorování zdraví klastru a aplikace
  • Metriczy zdrojů
  • Zdraví uzlů
  • Status pracovních zátěží
  • Kapacita a využití zdrojů
  • Identifikace výkonových omezení

Logy a události

  • Logy kontejneru
  • Logy podů
  • Předchozí logy kontejneru
  • Události Kubernetesu
  • Zprávy aplikace a platformy
  • Filtrování a interpretace provozních dat

Kontroly zdraví

  • Sondy startu (Startup probes)
  • Sondy připravenosti (Readiness probes)
  • Sondy živosti (Liveness probes)
  • Tvoření užitečných endpointsů kontroly zdraví
  • Diagnóza selhání sond
  • Předcházení zbytečným restartům aplikace

Rozhodování pracovních zátěží

  • Pending pods
  • Selhání tahání obrazu
  • Smrtonosné smyčky (Crash loops)
  • Nesprávně nakonfigurované proměnné prostředí
  • Selhané montáže
  • Nedostatečné zdroje
  • Chyby oprávnění
  • Problémy s připojitelností služby a trasy
  • Problémy DNS
  • Selhání startu aplikace

Bezpečnost provozu

  • Prohlížení oprávnění
  • Používání účtů služeb
  • Bezpečné zpracování vědomostí
  • Praxe bezpečnosti obrazů
  • Síťová izolace
  • Auditování přístupu k platformě
  • Aplikování principu nejmenších oprávnění

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

  • Běžné kontroly platformy
  • Údržba uzlů
  • Úvahy o zálohování aplikace
  • Zálohování konfigurace
  • Plánování aktualizací
  • Správa změn
  • Testování aktualizací
  • Plánování vrácení zpět (Rollback planning)
  • Koncepce obnovy z katastrofy

Závěrečná praktická dílna

Účastníci dokončí scénář koncového provozu:

  • Vytvoření a označení obrazu kontejneru.
  • Vydání obrazu do registry.
  • Nasadění aplikace na Kubernetes nebo OpenShift.
  • Konfigurace nastavení aplikace a vědomostí.
  • Vystavení aplikace.
  • Připojení trvalého úložiště.
  • Konfigurace oprávnění přístupu.
  • Přidání kontrol zdraví.
  • Škálování a aktualizace aplikace.
  • Diagnóza a řešení zavedeného selhání.

Formát kurzu

  • Interaktivní přednášky a technické diskuse.
  • Demonstrace instruktora.
  • Rozsáhlá praktická cvičení.
  • Pracovníky založené na scénářích správa a rozhodování.
  • Praktická práce v prostředích kontejnerů, Kubernetesu a OpenShiftu.

Možnosti přizpůsobení kurzu

  • Kurz lze přizpůsobit existující infrastruktuře účastníků, poskytovateli cloudových služeb a nástrojům pro kontejnery.
  • Obal mezi tématy Dockeru, Kubernetesu a OpenShiftu lze upravit podle zkušenosti týmu.
  • Praktická cvičení lze přizpůsobit aplikacím organizace, procesům nasazení a provozním požadavkům.

Oznámení o ochranných známkách

OpenShift je ochrannou známkou společnosti Red Hat, Inc. Toto nezávisle vyvinuté školení není spojeno s, doporučeno ani autorizováno společností Red Hat.

Požadavky

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

  • Zkušenosti s používáním příkazového řádku v Linuxu.
  • Základní znalosti systémové administrace nebo práce v prostředí DevOps.
  • Obecnou orientaci v konceptech sítě.
  • Seznámenost s postupy nasazování softwaru.

Předchozí zkušenosti s Docker, Kubernetes nebo OpenShift jsou užitečné, ale nejsou povinné.

 35 Hodiny

Počet účastníků


Cena za účastníka

Reference (7)

Nadcházející kurzy

Související kategorie