Kubernetes spouští kontejnerizované aplikace v clusteru počítačů a udržuje je ve stavu, který popíšete. Dělá to tak, že umisťuje práci na správné počítače, směruje provoz na správná místa a sleduje selhání a změny.
Základní tok
1. Popíšete, co chcete spustit
Většina úloh Kubernetes začíná jako deklarovaný „požadovaný stav“ (co má běžet, kolik kopií a jak mají být zpřístupněné). Kubernetes je založený na deklarativní konfiguraci a automatizaci.
2. Kubernetes rozhoduje, kde se má úloha spustit
Kubernetes plánuje kontejnery na počítače v clusteru podle dostupných výpočetních prostředků a toho, co jednotlivé kontejnery potřebují. Kontejnery běží v Podech, což je jednotka, kterou Kubernetes umisťuje na počítač.
3. Kubernetes dál porovnává skutečnost s požadovaným stavem
Kontrolery sledují cluster a snaží se přibližovat aktuální stav požadovanému stavu pomocí serveru API, přes který provádějí změny.
Plánování kontejnerů a každodenní správa
Plánování je rozhodování o tom, kde to má běžet.
1. Plánují se Pody, ne jednotlivé kontejnery
Kubernetes seskupuje kontejnery do Podů a potom tyto Pody umisťuje na počítače.
2. Plánovač přiřazuje Pody k vhodnému uzlu
Kube-scheduler vyhledává Pody, které ještě nejsou přiřazené, a vybírá pro ně uzel.
3. Agenti uzlů udržují Pody spuštěné
Na každém uzlu kubelet zajišťuje, že Pody běží (včetně jejich kontejnerů).
Vyrovnávání zatížení a zjišťování služeb
Kontejnery a Pody se můžou vytvářet, přesouvat nebo nahrazovat, takže aplikace potřebují stabilní způsoby, jak se navzájem najít.
Zjišťování služeb a vyrovnávání zatížení jsou integrovaná chování
Kubernetes spravuje zjišťování služeb a používá vyrovnávání zatížení, aby se provoz dal směrovat, i když se Pody v čase mění.
Služby poskytují stabilní adresu pro měnící se sadu Podů
Rozhraní Service API poskytuje stabilní IP adresu nebo název hostitele pro službu podloženou jedním nebo více Pody a Kubernetes sleduje podpůrné Pody prostřednictvím objektů EndpointSlice.
Směrování provozu se aktualizuje při změně Podů
Když se Pody za službou změní, směrování služby se přizpůsobí, takže provoz dál dosahuje aktuálních back-endů.
Škálování aplikací (a proč záleží na „požadovaném stavu“)
Kubernetes může škálovat úlohy směrem ke stavu, který nastavíte, včetně škálování podle využití výpočetních prostředků.
Mezi běžné myšlenky škálování patří:
Více replik (více Podů) pro zvládnutí vyšší poptávky.
Méně replik, když poptávka klesne.
Sledování prostředků, aby rozhodnutí o umístění odpovídala potřebám CPU a paměti.
To navazuje na model „požadovaného stavu“: určíte cíl a kontrolery na něm dál pracují.
Samoopravení: Co se stane, když se něco pokazí
Kubernetes zahrnuje chování samoopravení, které má za cíl udržovat stav a dostupnost úloh. Patří mezi ně následující:
Restartování selhaných kontejnerů (restarty na úrovni kontejneru).
Nahrazování selhaných Podů, aby se zachoval požadovaný počet replik (nahrazení repliky).
Přeplánování úloh, když uzly přestanou být dostupné.
Odebrání selhaných Podů z koncových bodů služeb, aby provoz směřoval jen na zdravé Pody (vyrovnávání zatížení pro služby).
Samoopravení kontroluje stav kontejnerů a při problémech je restartuje nebo replikuje.
Role ukazatelů KPI Kubernetes
Klíčové ukazatele výkonu (KPI neboli metriky) se používají k pochopení stavu clusteru a chování úloh.
Odkud KPI pocházejí
Systémové součásti Kubernetes emitují metriky (ve formátu Prometheus), které jsou užitečné pro řídicí panely a upozornění.
Metriky jsou obvykle dostupné na HTTP koncovém bodu /metrics dané součásti, včetně součástí jako kube-apiserver, kube-scheduler, kubelet, kube-proxy a kube-controller-manager.
Příklady toho, co vám KPI pomůžou odhalit
Signály stavu clusteru (metriky na úrovni součástí a vzory chyb)
Stabilita úloh (například časté restarty nebo nahrazování)
Tlak na kapacitu (přidělení prostředků vs. poptávka, navázané na rozhodnutí o škálování)
Proč na tom záleží v každodenním provozu
Monitorování dává týmům úplnější přehled o prostředcích clusteru, rozhraní Kubernetes API, kontejnerech a protokolech, což zkracuje zpětnovazební smyčku mezi problémy a opravami.