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é.
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ý kubectlPouž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/v1Použ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ětuVystavení 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 LimityPouž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í cyklusPody 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 afnityNě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í KustomizeK č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 HelmPouž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