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é.
Reference (7)
Reda vysvětlil a zjednodušil mnoho pojmů.
Eric Van Wyk
Kurz - Docker, Kubernetes and OpenShift 3 for Administrators
Přeloženo strojem
Laboratoře byly nejlepší. Byly velmi praktické a poskytly přímočaré zkušenosti. Osobně si myslím, že je to nejefektivnější způsob, jak skutečně pochopit kurz a aplikovat koncepty, které byly probrané.
Hishaam Johnstone
Kurz - Docker, Kubernetes and OpenShift 3 for Administrators
Přeloženo strojem
Oceňuji ochotu pomoci a dále vysvětlit, když nebyla jistota
Letlotlo Miffi
Kurz - Docker, Kubernetes and OpenShift 3 for Administrators
Přeloženo strojem
Adriano předmět velmi důkladně studoval, což je styl, který preferuji nejvíc, tedy méně o příkazech a více o mechanismech za nimi. Provedené scénáře byly dobře podpořeny praktickými příklady, což pomohlo hodně k pochopení prezentovaného materiálu.
Mariusz BANASZCZYK - Sopra Steria
Kurz - Docker, Kubernetes and OpenShift for Administrators
Přeloženo strojem
Profound knowledge of Adriano. Explanation of basic concepts
Tomasz Szalankiewicz - LPP SA
Kurz - Docker, Kubernetes and OpenShift for Administrators
Přeloženo strojem
Obecně se mi přednášející líbil.
Josif Kovacevic - ANZ
Kurz - Docker, Kubernetes and OpenShift for Administrators
Přeloženo strojem
Adrian clearly knows and enjoys this technology.
Tom Edginton - National Oceanography Centre
Kurz - Docker, Kubernetes and OpenShift for Administrators
Přeloženo strojem