Č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á.