Programovanie

Kubernetes vs. Docker: Pochopte kontajnery a orchestráciu

Ak ste držali krok s najnovšími trendmi vo vývoji softvéru, sú tu dva pojmy, s ktorými sa nepochybne opakovane stretávate: Docker a Kubernetes, ktoré sú v podstate skratkou prenádob aorchestrácia.

Kontajnery Docker pomohli zefektívniť proces presunu aplikácií prostredníctvom vývoja a testovania do výroby, zatiaľ čo Docker aj Kubernetes pomohli znovuobjaviť spôsob, akým sú aplikácie zostavované a nasadené - ako zbierky mikroslužieb namiesto monolitických zásobníkov.

Prečo sú Docker a Kubernetes dôležití, ako menia vývoj softvéru a akú rolu v tomto procese zohrávajú? Pokúsim sa na tieto otázky odpovedať nižšie.

Docker a kontajnery

Kontajnery - podporované v systémoch Linux, Windows a ďalších moderných operačných systémoch - umožňujú spustenie softvéru v samostatných mini prostrediach, ktoré sú izolované od zvyšku systému. Kontajnery boli prirovnávané k virtuálnym počítačom, ale nie sú to virtuálne počítače - sú oveľa štíhlejší, rýchlejšie sa spúšťajú a zastavujú a sú oveľa flexibilnejšie a prenosnejšie. Pretože kontajnery je možné otáčať nahor alebo nadol alebo škálovať dovnútra alebo von za pár sekúnd, uľahčujú spustenie aplikácií v elastických prostrediach, ako je cloud.

Linux a ďalšie operačné systémy podporujú kontajnerované aplikácie už mnoho rokov, ale práca s kontajnermi nebola zrovna užívateľsky príjemná. Docker vo svojej otvorenej aj komerčnej inkarnácii je softvér, ktorý z kontajnerov robí komoditu priateľskú k používateľom aj vývojárom. Docker poskytuje spoločnú sadu nástrojov a metafor pre kontajnery, takže môžete baliť aplikácie do obrázkov kontajnerov, ktoré je možné ľahko nasadiť a znova použiť vo vašej vlastnej organizácii alebo inde.

Stručne povedané, Docker zjednodušuje vytváranie obrázkov kontajnerov, ich verziu, zdieľanie, presúvanie a nasadzovanie na hostiteľov kompatibilných s Dockerom ako prevádzkované kontajnery.

Kedy použijem Docker a kontajnery?

Docker a kontajnery sú najvhodnejšie na riešenie pracovných záťaží, ktoré musia mať jednu alebo viac z nasledujúcich kvalít:

  • Elastická škálovateľnosť. Neviete, koľko inštancií aplikácie budete musieť spustiť, aby ste uspokojili dopyt. Kontajnerovanú aplikáciu alebo službu je možné v našej službe škálovať tak, aby vyhovovali dopytu nasadením menej alebo viacerých inštancií jej kontajnerov.
  • Izolácia. Nechcete, aby aplikácia zasahovala do iných aplikácií. Možno budete súčasne používať viac verzií aplikácie, aby ste uspokojili rôzne revízie rozhrania API. Alebo možno chcete udržať základný systém čistý (vždy dobrý nápad).
  • Prenosnosť Túto aplikáciu musíte spustiť v rôznych prostrediach a každé nastavenie musíte mať reprodukovateľné. Kontajnery vám umožňujú zbaliť celé runtime prostredie vašej aplikácie, čo uľahčuje nasadenie aplikácie kdekoľvek nájdete hostiteľa kompatibilného s Dockerom - vývojársku plochu, testovací stroj QA, lokálnu žehličku alebo vzdialený cloud.

Získajte viac informácií o Docker a kontajneroch

  • Čo je Docker? Iskra revolúcie v kontajneroch
  • Prečo by ste mali používať Docker a kontajnery
  • Začnite používať Docker
  • Skryté výhody Dockeru pre QA
  • 12 open-source nástrojov, vďaka ktorým je Docker lepší
  • Ďalšie novinky, analýzy, tipy, recenzie a rady Docker

Kubernetes a orchestrácia kontajnerov

Kontajnery sú určené predovšetkým na izoláciu procesov alebo aplikácií od seba navzájom a od základného systému. Vytvorenie a nasadenie jednotlivých kontajnerov je jednoduché. Čo však v prípade, že chcete zhromaždiť viac kontajnerov - napríklad databázu, webové rozhranie, výpočtové rozhranie - do veľkej aplikácie, ktorú je možné spravovať ako celok, bez obáv z nasadenia, pripojenia, správy, a škálovanie každého z týchto kontajnerov osobitne? Potrebujete spôsoborganizovať všetky časti do funkčného celku.

To je práca, ktorú Kubernetes preberá. Ak sú kontajnery cestujúcimi na okružnej plavbe, riaditeľom okružnej plavby je Kubernetes.

Kubernetes, založený na projektoch vytvorených v spoločnosti Google, poskytuje spôsob automatizácie nasadenia a správy aplikácií s viacerými kontajnermi na viacerých hostiteľoch bez toho, aby ste museli každý kontajner spravovať priamo. Vývojár popisuje rozloženie aplikácie vo viacerých kontajneroch vrátane podrobností, ako napríklad spôsob, akým každý kontajner využíva sieťové pripojenie a úložisko. O zvyšok sa stará Kubernetes za behu. Zaoberá sa tiež správou fidddle detailov, ako sú tajomstvá a konfigurácie aplikácií.

Kubernetes vyžaduje určité odborné znalosti, aby sa dal dobre používať, aj keď je to oveľa viac riešenia na kľúč ako kedysi. Určitý pokrok v ľahkom používaní je spôsobený ľahko dostupnými receptami na bežné aplikácie (Helmove diagramy); niektoré sú výsledkom veľkého množstva distribúcií Kubernetes produkovaných značkovými firmami (Red Hat, Canonical, Docker), ktoré pracujú ruka v ruke s populárnymi aplikačnými zásobníkmi a vývojovými rámcami.

Kedy použijem Kubernetes a orchestráciu kontajnerov?

Jednoduché aplikácie v kontajneroch, ktoré slúžia malému počtu používateľov, zvyčajne nevyžadujú orchestráciu, nieto Kubernetes. Ale ak má aplikácia viac ako triviálnu úroveň funkčnosti alebo triviálny počet používateľov, je ťažké neobjaviť nové koleso poskytované orchestračnými systémami. Tu je niekoľko základných pravidiel pre určenie, kedy sa má orchestrácia dostať do obrazu.

  • Vaše aplikácie sú zložité. Akákoľvek aplikácia, ktorá zahŕňa viac ako dva kontajnery, pravdepodobne zapadá do účtu. To znamená, že skromné ​​aplikácie, ktoré slúžia iba malému počtu používateľov, je možné orchestrovať prostredníctvom minimálnejšieho riešenia, ako je napríklad rojový režim Docker, a nie Kubernetes.
  • Vaše aplikácie majú vysoké nároky na prispôsobenie a odolnosť. Kubernetes a ďalší orchestrátori vám umožňujú vyvážiť zaťaženie a roztočiť kontajnery tak, aby uspokojili dopyt deklaratívne, a to namiesto toho, aby ste ručne kódovali reakcie na meniace sa podmienky.
  • Chcete čo najlepšie využiť moderné techniky CI / CD. Orchestračné systémy podporujú vzory nasadenia pre aplikácie využívajúce modré / zelené nasadenie alebo postupné inovácie.

Môže prísť deň, keď budú Docker a Kubernetes zatienení ešte priateľskejšími abstrakciami, a dajú priestor elegantnejším spôsobom vytvárania a správy kontajnerov. Nateraz sú však Docker a Kubernetes zásadní pre poznanie a pochopenie.

Získajte viac informácií o Kubernetes a orchestrácii

  • Čo je Kubernetes? Vaša ďalšia aplikačná platforma
  • 4 dôvody, prečo by ste mali použiť Kubernetes
  • 10 distribúcií Kubernetes, ktoré vedú revolúciu v kontajneroch
  • Spravované Kubernetes: AWS vs. Azure vs. Google Cloud
  • Ahoj MicroK8s: Jednoduchší Kubernetes
  • Čo je nové v Kubernetes
  • Viac noviniek, návodov, recenzií, rád a analýz Kubernetes
$config[zx-auto] not found$config[zx-overlay] not found