DevOps & CI/CDexpert

Čo je Kubernetes?

Kubernetes (K8s) je open-source systém na orchestráciu kontajnerov, ktorý automatizuje nasadzovanie, škálovanie a správu kontajnerizovaných aplikácií. Pôvodne ho vyvinul Google na základe interného systému Borg a v roku 2014 ho uvoľnil ako open-source.

Definícia Kubernetes

Čo je Kubernetes

Kubernetes (často skrátene K8s) je open-source platforma na orchestráciu kontajnerov. Vyvinul ho Google na základe viac ako 15 rokov skúseností s interným systémom Borg, ktorý spravoval milióny kontajnerov denne. V roku 2014 ho Google uvoľnil ako open-source a v roku 2015 ho daroval nadácii CNCF (Cloud Native Computing Foundation).

Architektúra a funkcie

Kubernetes je napísaný v jazyku Go a používa deklaratívnu konfiguráciu. Základné koncepty:

  • Pod — najmenšia nasaditeľná jednotka, obsahuje jeden alebo viac kontajnerov
  • Service — stabilný sieťový endpoint pre skupinu podov
  • Deployment — definuje požadovaný stav aplikácie (počet replík, verzia obrazu)
  • Namespace — logická izolácia zdrojov v rámci klastra
  • Ingress — riadenie externej HTTP/HTTPS prevádzky do klastra

Kubernetes automaticky reštartuje zlyhané kontajnery, rozkladá záťaž, spravuje tajomstvá (secrets) a umožňuje rolling updates bez výpadku. Podporujú ho všetci hlavní poskytovatelia cloudu — AWS (EKS), Google Cloud (GKE) a Azure (AKS).

Praktický príklad

Príklad: Prevádzkujete e-shop, ktorý má bežne 1 000 návštevníkov denne, ale počas Black Friday stúpne návštevnosť na 50 000.

Bez Kubernetes: Musíte manuálne pridávať servery, konfigurovať load balancer a dúfať, že všetko zvládne nápor.

S Kubernetes: Nastavíte Horizontal Pod Autoscaler — Kubernetes automaticky pridá ďalšie pody, keď zaťaženie stúpne, a po poklese ich zase zníži. Celý proces je automatický.

Často kladené otázky

Čo je Kubernetes a na čo slúži?

Kubernetes je open-source systém na orchestráciu kontajnerov. Automatizuje nasadzovanie, škálovanie a správu kontajnerizovaných aplikácií v klastroch serverov.

Prečo sa Kubernetes skracuje na K8s?

Skratka K8s vznikla nahradením ôsmich písmen medzi K a s číslom 8. Ide o bežnú konvenciu v IT (podobne i18n pre internationalization). Názov Kubernetes pochádza z gréčtiny a znamená „kormidelník".

Aký je rozdiel medzi Dockerom a Kubernetes?

Docker vytvára a spúšťa kontajnery. Kubernetes spravuje veľké množstvo kontajnerov naprieč viacerými servermi — rozhoduje, kde kontajner beží, reštartuje ho pri zlyhaní a škáluje podľa záťaže.

Potrebujem Kubernetes pre malý projekt?

Pre malé projekty (1-5 kontajnerov) je Kubernetes zbytočne komplexný. Stačí Docker Compose alebo jednoduchá PaaS platforma. Kubernetes sa oplatí od desiatok kontajnerov a pri potrebe automatického škálovania.

Súvisiace pojmy

Potrebujete pomôcť s webom?

Napíšte mi a poradím vám s vaším projektom. Prvá konzultácia je zadarmo a nezáväzná.