Kubernetes workshop (CZ)

Kurzem Vás provede Mgr. Věroslav Kaplan

Správce serverů, konzultant a školitel.
Pomáhá vývojářům i firmám nasazovat a provozovat…

Základní info

Popis kurzu

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é.

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:

27.4.2023 –  28.4.2023  Online

Cena
20 000 Kč + 21% DPH

Kontaktovat dodavatele


Kontrola proti spamu. Kolik je devět a osm ? Součet zapište číslicemi.