Preskočiť na obsah
Infraštruktúra

Kubernetes

Kubernetes (K8s) je open-source systém na automatizovanú správu, škálovanie a nasadzovanie kontajnerizovaných aplikácií — riadi, kde a ako bežia vaše Docker kontajnery naprieč clusterom serverov.

Ako to funguje

Keď spustíte aplikáciu v Docker kontajneri na jednom serveri, je to jednoduché. Problém nastáva, keď potrebujete aplikáciu škálovať, aktualizovať bez výpadku, zotaviť sa po páde alebo rozdeliť záťaž medzi viacero serverov. Kubernetes tieto problémy rieši — je to orchestrátor, ktorý rozhoduje, kde sa každý kontajner spustí, ako sa o neho postarať a čo robiť, keď padne.

Základné koncepty: Pod je najmenšia jednotka — jeden alebo viac kontajnerov, ktoré bežia spolu. Deployment definuje, koľko Podov má bežať a akú verziu aplikácie. Service sprístupní Pody cez stabilnú sieťovú adresu. Ingress riadi HTTP traffic zvonku do clusterá. ConfigMap a Secret uchovávajú konfiguráciu a citlivé premenné. Namespace oddeľuje prostredia (dev, staging, prod) v rámci jedného clustera.

Kubernetes prináša real-time self-healing: ak kontajner spadne, Kubernetes ho reštartuje. Ak server zlyhá, Pody presunie na iný. Rolling update nasadí novú verziu postupne — niekoľko starých inštancií beží súbežne s novými, čím sa eliminuje výpadok. Horizontal Pod Autoscaler sleduje záťaž a automaticky pridáva alebo odoberá inštancie.

Kubernetes je výkonný, ale jeho komplexita je reálna. Setup, sieťová konfigurácia, storage, monitoring, security policies — je to celý ekosystém, ktorý vyžaduje skúsenosti. Pre väčšinu startup projektov je K8s predčasná optimalizácia — jednoduchší DigitalOcean App Platform, Railway alebo Fly.io zvládnu rovnakú prácu s oveľa menej réžie. Kubernetes dáva zmysel, keď máte desiatky služieb, viaceré tímy alebo extrémne požiadavky na dostupnosť.

Z našej praxe

V Strange Loops Kubernetes aktívne nepoužívame — naše projekty bežia na Vercel (frontend) a DigitalOcean Droplets alebo App Platform (backend Fastify). Pre veľkosť projektov, ktoré robíme, je K8s zbytočná komplexita. Kontajnery používame cez Docker Compose pre lokálny vývoj a pre izolované produkčné prostredie na DigitalOcean. Kubernetes by sme zvažovali pri L3 projektoch s požiadavkami na high availability a desiatkami mikroslužieb — to je úroveň, kde jeho réžia začína mať zmysel.

Kedy to potrebujete

  • Prevádzkujete desiatky mikroslužieb a potrebujete centralizovane spravovať, ktorá verzia každej z nich beží v ktorom prostredí.
  • Vaša aplikácia musí zvládnuť dramatické špičky záťaže — napríklad predajné akcie — a automaticky škálovať nahor aj nadol podľa dopytu.
  • Potrebujete nasadzovať aktualizácie bez výpadku a mať možnosť okamžite sa vrátiť k predchádzajúcej verzii, ak niečo zlyhá.
  • Regulátor alebo zákazník vyžaduje high availability SLA — napríklad 99,9 % dostupnosť — čo si vyžaduje viacero redundantných inštancií.

Najčastejšie otázky

Musím používať Kubernetes, ak používam Docker?

Nie — Docker a Kubernetes sú nezávislé. Docker vám umožňuje baliť aplikácie do kontajnerov, Kubernetes ich orchestruje. Pre jednu alebo dve služby stačí Docker Compose alebo jednoduchá platforma ako DigitalOcean App Platform. K8s pridávate, keď jednoduchšie riešenia nestačia.

Čo je rozdiel medzi Kubernetes a Docker Swarm?

Docker Swarm je jednoduchší orchestrátor priamo od Dockeru — ľahší na nastavenie, ale s menším ekosystémom. Kubernetes je komplexnejší, má väčšiu komunitu, bohatší ekosystém nástrojov a je priemyselný štandard pre produkčné prostredia. Nové projekty si v roku 2025 vyberajú takmer výhradne Kubernetes.

Koľko stojí prevádzka Kubernetes?

Managed Kubernetes (GKE, EKS, AKS, DOKS) stojí za control plane zvyčajne 70–150 €/mesiac, plus náklady na worker nody podľa veľkosti. K tomu treba pripočítať čas devops inžiniera na správu. Pre malé tímy sú tieto náklady výrazné — kalkulujte s minimálne 300–500 €/mesiac pre zmysluplný produkčný cluster.

Potrebujete s tým pomôcť?

Ak riešite niečo z toho, čo tu opisujeme, ozvite sa. Povieme vám, či a ako vieme pomôcť.