Kubernetes workshop (CZ)

Kurzem Vás provede Jiří Snopek

IT lektor a konzultant, RHCA. Vede tým zaměřený na vývoj i provoz webových a mobilních aplikací.

Základní info

Popis kurzu

Od budování vlastního clusteru až po provozování cloudových nativních aplikací s Kubernetes, tento workshop pokrývá vše pomocí poutavých příkladů a aktivit.

Kubernetes je platforma s otevřeným zdrojovým kódem pro správu kontejnerových úloh a služeb, která usnadňuje deklarativní konfiguraci a automatizaci. Má velký, rychle rostoucí ekosystém. Služby, podpora a nástroje Kubernetes jsou široce dostupné.

Cíle kurzu

Účastníci se seznámí s následujícími pojmy a dovednostmi:
  • Kontejnery a koncepce orchestru
  • Základní koncepty Kubernetes
  • Pokročilý kubectl
  • Správa clusteru Kubernetes
  • Sítě, úložiště a zabezpečení pro Kubernetes
  • Grafy Helm a tabulky

Určeno pro

Kurz je určen pro systémové administrátory, DevOps, systémové inženýry a další, kteří potřebují úvod do kontejnerů a kubernetes.

Obsah kurzu

Základní koncepty Kubernetes
  • API server, 
    • řídící rovina, pracovní uzly
  • Kubernetes API objekty, API skupiny
  • Manifesty a objekty Kubernetes YAML
  • Základní druhy objektů
    • Pods, ConfigMaps, Secrets
    • Služby, štítky a anotace
    • Nasazení, StatefulSets
    • Jmenné prostory
    • Ingresses
    • Vlastní zdroje
  • Ovladače Kubernetes
    • Plánovač, ...
ÚKOLY: 
  • připojte se k serveru K8S
  • vytvořte objekty na serveru API
  • seznam objektů uzlu
  • zajistěte popisky a anotace
Pokročilý kubectl
Použití parametrů kubectl pro vlastní skriptování a zpracování objektů
  • připojení ke vzdálenému clusteru K8s
  • formáty --output a --template
  • --selector
  • --dry-run=

ÚKOLY: 
  • Použijte více souborů `kubeconfig`
  • Použijte filtrování a výstupy kubectl
  • Porovnejte sekce `.spec` a `.status` objektu k8s
Nasazení aplikací s aplikacemi/v1
Použití `Deployments`, `DaemonSets`, `StatefulSets` pro nasazení a zavádění aplikací.
  • Proč potřebujeme selektory?
  • `Deployment` a vztah k `ReplicaSet`
  • Co je to `revisionHistoryLimit` a co se může pokazit?
  • více `rolloutStategies` a jejich použití
  • K čemu se používá `ownerReference`?
ÚKOLY: 
  • Umístěte  `Deployment`, upravte jej a sledujte výsledky
  • Zkontrolujte zvláštnosti `revisionHistoryLimit`
  • Porovnejte priority `Recreate` a `RollingUpdate`. Vylaďte strategii RollingUpdate
  • Prohlédněte si `ownerReference`
Vystavení kontejnerových služeb vnějšímu světu
Vystavení podů službám pomocí štítků podů. Prozkoumejte více typů služeb.
Ingresses a CertificateManager zpřístupňují službu s protokolem HTTP/HTTPS.
Služby:
  • Rozdíl mezi ClusterIP a bezhlavými službami
  • Použití služby ExternalName pro zjišťování služby
Ingrese:
  • Jak ingrese fungují
  • Jak můžeme použít CertificateManager k získání certifikátů pomocí protokolu ACME
ÚKOLY (Služby)
  • Vystavte moduly pomocí služby...
  • Zkontrolujte odhalenou službu pomocí vyhledávání DNS.
  • Vytvořte bezhlavou službu a porovnejte ji s ClusterIP one
  • Zkontrolujte koncové body služby
  • Vytvořit službu LoadBalancer (pouze v cloudu)

ÚKOLY (Ingrese)
  • Vystavte službu světu na HTTP
  • Nakonfigurujte CertificateManager
  • K získání certifikátu LetsEncrypt použijte CertificateManager
Pod Resource Limity
Použití `resourceLimits`, měkkých a tvrdých limitů, pod tříd `QualityofService`.
Co se může pokazit na limitech zdrojů?

ÚKOLY: 
  • Umístěte resourceLimits na objekty
  • Prozkoumejte, co se stane, když modul překročí limity.
Pod statusy and životní cyklus
Pody mohou mít více stavů a pokročilou inicializaci
  • pomocí `containers` a `initContainers`
  • sondy pod - `startupProbe`, `livenessProbe` a `readinessProbe`
  • použijte háčky `lifecycle` -  `preStop` a `postStart`
  • Použijte `terminationMessagePath`
ÚKOLY: 
  • Použijte initContainers, použijte háčky `preStop` a `postStart`.
  • Prozkoumejte `livenessProbe` a `readinessProbe` v rámci služby.
Pod plánování a afnity
Některé moduly lze spustit pomocí `podPriority`. Jak to lze použít?
Pody lze naplánovat tak, aby byly umístěny na konkrétních uzlech s afinitami.

ÚKOLY: 
  • Vytvořte třídu PriorityClass a použijte ji na uzel.
  • Naplánujte pod do konkrétních uzlů pomocí  `nodeAffinity`.
  • Naplánujte více podů do jednoho uzlu pomocí `podAdffinity`
  • Prozkoumejte pod pomocí „podAntiAffinity“.
Nasazení pomocí Kustomize
K čemu slouží `kustomize` a jaké problémy nám `kustomize` může vyřešit?
ÚKOLY: 
  • Použijte kustomize k nasazení více instancí jedné aplikace
  • Zkontrolujte vygenerované manifesty kustomize.
Demo:
  • Použití kustomize s ArgoCD.
Grafy Helm
Použití Helm pro nasazení aplikací skládajících se z více manifestů. Jaké úkoly pro nás Helm řeší?
ÚKOLY: 
  • Stáhněte si graf z registru
  • Zkontrolujte graf
  • Nasaďte graf do vydání.
  • Přizpůsobte si „hodnoty“ grafu a znovu je rozmístěte. Zkontrolujte nasazené objekty.
  • Volitelně: vytvořte vlastní graf.
Skladování kontejnerů 
Implementace trvalého úložiště s objekty `PersistentVolume` a `PersistentVolumeClaim`.
ÚKOLY: 
  • Zkontrolujte existující třídy StorageClasses
  • Vytvořte nové PVC
  • Rozmístěte pod s PVC.
  • Prozkoumejte režimy PV.
K diskuzi?
  • Jobs
  • Cronjobs
  • Servisní účty a jejich oprávnění
  • Správa Secretu
  • Správa protokolů
  • Event management

Předpoklady

Základy práce s Dockerem a Kubernetes.

Kubernetes workshop (CZ)

Vybraný termín:

 ONLINE

Cena
20 000 Kč + 21% DPH

Kontaktovat dodavatele


Kontrola proti spamu. Kolik je osm a čtyři ? Součet zapište číslicemi.