Popis kurzu
Tento vzdělávací program je nabízen v rámci digitálního vzdělávání. Zažádat si o něj můžete přes stránky MPSV (ODKAZ).
V případě schválení hradíte jen spoluúčast v hodnotě
9 900Kč.
Cílem je jeden provázaný digitální pracovní postup DevOps administrátora: kontejnerizace aplikace → orchestrace a provoz v Kubernetes → verzování a týmová spolupráce v Gitu → balíčkování pomocí Helm → automatizované nasazení a synchronizace stavu pomocí ArgoCD.
Po absolvování kurzu bude účastník umět:
- vysvětlit princip kontejnerizace a rozdíl mezi kontejnerem a virtuálním strojem;
- spouštět, spravovat a řešit problémy (troubleshooting) kontejnerizovaných aplikací pomocí Dockeru/Podmanu;
- vytvářet vlastní kontejnerové image, sdílet je a spravovat vlastní image registry;
- popsat architekturu Kubernetes clusteru (API server, scheduler, etcd, controller manager, pracovní uzly) a základní objekty (Pods, Deployments, Services, ConfigMaps, Secrets, Namespaces);
- pracovat s nástrojem kubectl a YAML manifesty pro nasazení a správu aplikací v Kubernetes;
- spravovat Kubernetes cluster v produkčním provozu – správu uzlů, aktualizace, zálohování etcd, sítě (Services, Ingress), perzistentní úložiště (PersistentVolumes/Claims) a zabezpečení (RBAC, Network Policies);
- pracovat se systémem Git – zakládat repozitáře, vytvářet revize (commity), pracovat s větvemi (branch), slučovat je (merge) a řešit konflikty;
- spolupracovat na sdíleném kódu a konfiguracích v GitLab/GitHub – zakládat a spravovat vzdálené repozitáře, používat pull/merge requesty a issues pro řízení změn a code review;
- balíčkovat aplikace pomocí Helm Charts, upravovat je pomocí values.yaml a vytvářet vlastní Helm Charty pomocí templatingu;
- integrovat Helm do CI/CD pipeline a chápat principy GitOps;
- nasazovat a synchronizovat aplikace v Kubernetes pomocí ArgoCD (WEB GUI i CLI), sledovat stav aplikací a napojit repozitář jako jediný zdroj pravdy pro infrastrukturu.
Komu je kurz určen
Administrátoři, systémoví inženýři a DevOps pracovníci se základní znalostí práce s příkazovou řádkou Linuxu (běžné příkazy, orientace v souborovém systému) a základními znalostmi počítačových sítí, kteří chtějí získat ucelený přehled a praktické dovednosti v oblasti provozu moderních kontejnerizovaných aplikací. Cílová skupina je homogenní v úrovni zkušenosti – kurz je koncipován pro účastníky bez předchozí zkušenosti s kontejnery, Kubernetes, Helm, ArgoCD, Gitem ani GitLab/GitHub, nikoli pro pokročilé uživatele těchto nástrojů; program postupuje od základů (kontejnery) k pokročilejším tématům (produkční provoz Kubernetes, Helm, GitOps) tak, aby na sebe jednotlivé dny obsahově navazovaly.
Obsah kurzu
Den 1 · Kontejnery – základy a pokročilá práce
- Úvod do kontejnerů: Představení kontejnerizace (teorie, terminologie); spouštění prvního kontejneru; správa kontejnerů; troubleshooting kontejnerizovaných aplikací. Praktické cvičení: spuštění, správa a diagnostika vlastní kontejnerizované aplikace pomocí podman/docker.
- Pokročilé kontejnery:* Správa kontejnerových image; tvorba vlastního kontejnerového image; sdílení image; správa vlastního image registry. Praktické cvičení: vytvoření a publikace vlastního kontejnerového image.
Den 2 · Základy Kubernetes
- Úvod do orchestrace kontejnerů a důvody přechodu od samostatných kontejnerů ke Kubernetes; základní koncepty a architektura (API server, Kubelets, Pods, Services); spuštění první aplikace pomocí kubectl a YAML manifestů; konfigurace, Secrety, trvalé úložiště, koncové body; nástroje pro lokální testování (Minikube, KIND, k3s); úvod do Helm. Praktické cvičení: nasazení a kontrola stavu první aplikace ve vlastním Kubernetes clusteru.
Den 3 · Základy a architektura Kubernetes
- Kontejnery a orchestrace; architektura clusteru (řídicí rovina a pracovní uzly); Kubernetes API a objekty (Pods, ConfigMaps, Secrets); základní druhy objektů (Deployments, StatefulSets, Services, Namespaces, Labels); práce s kubectl. Praktické cvičení na živém clusteru u každého bloku.
Den 4 · Provoz, sítě a zabezpečení
- Pokročilý kubectl (patches, port-forward, debug, práce s více clustery); správa clusteru (drain, cordon, aktualizace, zálohování etcd); sítě v Kubernetes (Services, Ingress); perzistentní úložiště (PersistentVolumes/Claims, StorageClasses); zabezpečení clusteru (RBAC, Network Policies). Praktické laby po celou dobu workshopu na živém clusteru.
Den 5 · Úvod do Git a GitLab/GitHub
- Úvod do verzovacích systémů a Gitu – proč verzovat kód a konfigurace; instalace a základní příkazy (init, add, commit, status, log, diff); práce s větvemi (branch) – vytváření, přepínání a slučování (merge), řešení konfliktů; práce se vzdálenými repozitáři (clone, push, pull, fetch); úvod do GitLab/GitHub – založení a správa repozitáře, README a Markdown; spolupráce v týmu pomocí pull/merge requestů a code review; issues a základní projektové řízení v repozitáři; úvod do CI/CD pipeline (GitLab CI / GitHub Actions) jako navázání na GitOps workflow z posledního dne kurzu. Praktické cvičení: založení vlastního repozitáře, práce s větvemi a vytvoření pull/merge requestu ve dvojicích.
Den 6 · Helm pro Kubernetes
- Úvod do Helm jako balíčkovacího manažeru pro Kubernetes – klíčové pojmy (Chart, Release, Repository, Values); instalace Helm a nasazení prvního chartu z veřejného repozitáře; vytváření vlastních Helm Chartů (struktura, Go templating, helm create); přizpůsobení pomocí values.yaml; chart dependencies; Helm Hooks, testování a validace šablon; integrace Helm do CI/CD pipeline a napojení na GitOps; konvence a osvědčené postupy. Praktické cvičení: vytvoření a nasazení vlastního Helm Chartu.
Den 7 · ArgoCD
- Úvod do ArgoCD a principu GitOps – Git jako jediný zdroj pravdy pro infrastrukturu; architektura, instalace a konfigurace ArgoCD; vytvoření a správa aplikací přes WEB GUI i CLI; deklarativní konfigurace v YAML a synchronizace stavu s Git repozitářem; monitorování stavu aplikací a nastavení notifikací; práce se secrets (Argo Vault Plugin); řešení problémů a údržba (zálohování, upgrade, bezpečnost). Závěrečné praktické cvičení: nasazení aplikace do testovacího Kubernetes clusteru pomocí ArgoCD se zdrojem konfigurace ve vlastním Git repozitáři z dne 5, a její automatická synchronizace po změně v repozitáři.
Cíle
Po absolvování kurzu bude účastník schopen:
- samostatně spustit, spravovat a odladit kontejnerizovanou aplikaci pomocí Dockeru/Podmanu a vytvořit vlastní kontejnerový image;
- nasadit a spravovat aplikaci v Kubernetes clusteru pomocí kubectl a YAML manifestů, včetně konfigurace sítí, úložiště a zabezpečení potřebných pro produkční provoz;
- verzovat vlastní kód a konfigurace pomocí Gitu a spolupracovat na nich s dalšími členy týmu v GitLab/GitHub prostřednictvím větví a pull/merge requestů;
- vytvořit a upravit vlastní Helm Chart a nasadit pomocí něj aplikaci do Kubernetes;
- nakonfigurovat ArgoCD tak, aby automaticky synchronizovalo stav aplikace v Kubernetes s konfigurací uloženou v Git repozitáři (GitOps).