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é.
Požadované znalosti
Základy práce s Dockerem a Kubernetes.
Komu je kurz určen
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
Ú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
Certifikace
Po skončení kurzu obdržíte certifikát a absolvování.
Cíle
Úč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