Kubernetes

Kubernetes vs Docker

Kubernetes vs Docker
Kubernetes a Docker sú na vzostupe. Obe technológie mali veľmi odlišné korene, ale v posledných rokoch sa navzájom preplietli tak, ako to nikto nečakal. Spoločenstvá sa spojili, balíčky sú prenášané medzi všetky možné operačné systémy a keďže boli do veľkej miery otvoreným zdrojom, viedli k množstvu satelitných projektov a konkurencie.

To všetko môže byť ohromujúce pre každého nového používateľa, ktorý sa snaží pochopiť túto relatívne novú paradigmu. Poďme diskutovať o hlavných rozdieloch medzi Kubernetes a Docker. Najprv sa ponoríme do toho, čo tieto technológie v skutočnosti znamenajú. Ak máte nejaké znalosti jazyka Docker alebo K8 (skratka pre Kubernetes), môžete preskočiť dopredu a prečítať si časť TL; DR.

Čo je Docker?

Docker je technológia kontajnerovania. Na rovnakom operačnom systéme môžete spúšťať viac aplikácií navzájom od seba izolovaných bez toho, aby ste potrebovali virtualizáciu, ale všetky výhody virtualizovaného prostredia. Predstavte si Dockerove kontajnery ako skutočne ľahké VM pre Linux (aj Windows, ale to nie je také populárne).

Docker má 3 hlavné komponenty, najskôr Docker engine, ktorý beží na pozadí a spravuje bežiace kontajnery a ich zabezpečenie. Vystavuje REST API, ktoré klient Dockeru spotrebováva, a to umožňuje používateľom komunikovať s Dockerom a vytvárať nové kontajnery alebo spravovať tie bežiace.

Docker je však jediná systémová aplikácia. To znamená, že beží a spravuje kontajnery na akomkoľvek systéme, na ktorom je spustený.  Obrovské aplikácie s hromadou prenosu a miliónmi požiadaviek, ktoré ich zasielajú z celého sveta, potrebujú viac ako jeden server. Tam prichádza Kubernetes.

Čo je Kubernetes?

Spoločnosť Kubernetes využíva technológie kontajnerizácie, napríklad Docker, na spustenie viacerých replík vašej aplikácie na serveroch a v dátových centrách po celom svete.

Jednou z technológií kontajnerizácie, ktorú Kubernetes využíva, je Docker. Kubernetes pozostáva z celého radu rôznych softvérov na správu vášho klastra. Poskytuje agenta pre správu kubeadm, ktorý beží na niekoľkých vybraných hlavných uzloch (uzly sú VPS alebo fyzické servery) a potom sú tam pracovné uzly, na ktorých je nainštalovaný Docker s kubectl ktorý hovorí s Dockerovým motorom za účelom automatizácie procesu otáčania kontajnerov hore alebo dole. Agenti kubectl bežiaci na všetkých pracovných uzloch prijímajú príkazy z hlavného uzla a poskytujú im spätnú väzbu o stave aplikácie bežiacej na ich uzle. Zhruba takto zvyčajne funguje inštalácia K8.

Môžete tiež agregovať rôzne súvisiace kontajnery Docker do balíkov (nazývaných pod). Napríklad môžete dať dokopy databázy SQL a vyrovnávaciu pamäť Redis v podu, pretože chcete, aby databáza a jej vyrovnávacia pamäť existovali súčasne.

Podobne môžete vystaviť pody ostatným podom ako služby (tiež známe ako mikroslužby), takže môžete mať vystavených 50 podov SQL / Redis ako službu dátového úložiska na klientskom rozhraní vašej aplikácie atď. Výhodou, ktorú získate, je to, že 50 podov môže bežať v niekoľkých dátových centrách, a aj keď niektoré z nich klesnú, iné uvoľnia rezervu.

Kubernetes je oveľa viac ako technológia. Je to spôsob uvažovania o spustení vášho softvéru v distribuovanom systéme.

Kubernetes bez Dockera

Ako je zrejmé z vyššie uvedeného, ​​K8 sa veľmi spolieha na kontajnery. Docker je iba jednou z mnohých technológií kontajnerovania, ktoré sú vonku. Medzi ďalšie patria rkt od CoreOS, LXC od Canonical, Jails na FreeBSD a zóny v Illumos a SmartOS. Kubernetes by sa dal potenciálne implementovať nad ktorúkoľvek z týchto technológií. V skutočnosti to s rkt od CoreOS funguje celkom dobre.

Vďaka popularite Dockera však komunita a organizácie išli nad rámec zaistenia toho, že Docker ponúka všetko a všetko, na čo ho Kubernetesove špecifikácie požadujú. Z tohto dôvodu majú aj projekty ako Docker pre MacOS a PC certifikát Kubernetes.

Docker bez Kubernetesa

Spôsob, akým má Kubernetes jednu z najlepších podpôr pri používaní Dockeru, sa sám Docker spolieha na Kubernetes, aby nasadil kontajnery vo veľkom meradle. Docker má vlastný systém riadenia a orchestrácie kontajnerov známy ako Docker Swarm, ktorý má byť alternatívou Kubernetes.

Napriek tomu, že Docker Swarm je natívnou technológiou v Dockeru, ľudia požadujú Kubernetes a zdá sa, že súčasné trhové prognózy naznačujú, že K8 získa najväčší trhový podiel. Za úspech vďačí Docker do veľkej miery vďaka svojej symbióze s Kubernetesom.

TL; DR

Aby som to skrátil, Docker je technológia kontajnerizácie, ktorá má bežať na jednom počítači. Kubernetes je technológia správy, ktorá spravuje veľké množstvo kontajnerov v mnohých výpočtových uzloch.

Docker je jednou z najvhodnejších technológií na zostavenie vášho balíka K8. Začnete tým, že sa ubezpečíte, že vaša aplikácia beží ako kontajner dokovacej stanice, a potom K8 zabezpečí, aby sa tento kontajner mohol škálovať po celej planéte, ak to v budúcnosti bude potrebné.

Hry Ako zachytiť a streamovať vašu hernú reláciu v systéme Linux
Ako zachytiť a streamovať vašu hernú reláciu v systéme Linux
V minulosti sa hranie hier považovalo iba za hobby, ale časom došlo v hernom priemysle k obrovskému nárastu z hľadiska technológie i počtu hráčov. Her...
Hry Najlepšie hry na hranie s ručným sledovaním
Najlepšie hry na hranie s ručným sledovaním
Oculus Quest nedávno predstavil skvelú myšlienku ručného sledovania bez ovládačov. Vďaka stále sa zvyšujúcemu počtu hier a aktivít, ktoré vykonávajú p...
Hry Ako zobraziť prekrytie OSD v linuxových aplikáciách a hrách na celú obrazovku
Ako zobraziť prekrytie OSD v linuxových aplikáciách a hrách na celú obrazovku
Hranie hier na celú obrazovku alebo používanie aplikácií v režime rozptýlenia zadarmo na celú obrazovku vás môže odrezať od relevantných systémových i...