Kubernetes (K8s)

Kubernetes je orchestrátor kontejnerů, který spravuje životní cyklus aplikací běžících v Dockeru nebo jiných kontejnerových technologiích. Název pochází z řečtiny a znamená „kormidelník“ nebo „lodivod“.

Hlavní koncepty Kubernetes

Kubernetes pracuje s hierarchií objektů, které zajišťují běh aplikací:

Pod: Nejmenší jednotka v K8s. Obsahuje jeden nebo více kontejnerů, které sdílejí síť a úložiště.

Node (Uzel): Fyzický nebo virtuální stroj, na kterém běží Pody.

Cluster: Skupina uzlů (Nodes) spravovaných jako jeden celek.

Service: Zajišťuje stabilní síťovou adresu pro skupinu Podů (umožňuje komunikaci mezi částmi aplikace).

Deployment: Definice, jak má aplikace vypadat (kolik kopií má běžet, jakou verzi obrazu použít).

Jak Kubernetes funguje?

K8s funguje na principu deklarativního řízení. Uživatel neříká systému, co má udělat („spusť kontejner“), ale v jakém stavu má systém být („chci, aby běžely 3 kopie této aplikace“).

1. **Control Plane:** Mozek clusteru, který sleduje stav a rozhoduje o umístění Podů.
2. **Worker Nodes:** Stroje, které skutečně vykonávají práci a spouštějí kontejnery.
3. **Reconciliation Loop:** Neustálý proces, kdy K8s kontroluje aktuální stav oproti požadovanému. Pokud některý kontejner spadne, K8s ho automaticky restartuje.

Hlavní výhody

Výhoda	Popis
Self-healing	Automaticky restartuje kontejnery, které selžou, a nahrazuje uzly, které přestanou odpovídat.
Auto-scaling	Dynamicky mění počet běžících instancí aplikace podle aktuální zátěže (CPU/RAM).
Zero-downtime	Umožňuje aktualizovat aplikaci na novou verzi bez přerušení provozu (Rolling updates).
Service Discovery	Automaticky přiřazuje Podům DNS jména a vyvažuje zátěž (Load Balancing).

Srovnání: Docker vs. Kubernetes

Vlastnost	Docker (samostatný)	Kubernetes
———–	———————-	————
Účel	Vytváření a běh kontejnerů.	Správa stovek kontejnerů na mnoha serverech.
Škálování	Manuální.	Automatické (HPA).
Vhodnost	Vývoj a malé projekty.	Produkce a rozsáhlé systémy.

Nástroje v ekosystému

kubectl: Příkazová řádka pro ovládání clusteru.

Helm: „Balíčkovací systém“ pro Kubernetes (umožňuje snadnou instalaci složitých aplikací).

Minikube / k3s: Odlehčené verze K8s pro lokální vývoj a Edge computing.

—

Víte, že? Číslo 8 v zkratce K8s zastupuje osm písmen mezi „K“ a „s“ v anglickém slově Kubernetes.

Související: DevOps, Docker, Cloud Computing, Oficiální web Kubernetes