Programavimas

Kubernetes vs Docker: Suprask konteinerius ir orkestruotę

Jei neatsilikote nuo naujausių programinės įrangos kūrimo tendencijų, neabejotinai vėl ir vėl susidūrėte su dviem terminais: „Docker“ ir „Kubernetes“, kurie iš esmės yra trumpiniai.konteineriai irorkestruotė.

„Docker“ konteineriai padėjo supaprastinti programų perkėlimo procesą tobulinant ir bandant į gamybą, o „Docker“ ir „Kubernetes“ - iš naujo sugalvojo programų kūrimo ir diegimo būdą - kaip mikroservisų, o ne monolitinių kaupinių kolekcijas.

Kodėl „Docker“ ir „Kubernetes“ yra svarbūs, kaip jie keičia programinės įrangos kūrimą ir kokį vaidmenį kiekvienas vaidina šiame procese? Toliau pabandysiu atsakyti į šiuos klausimus.

Dokeris ir konteineriai

Konteineriai, palaikomi „Linux“, „Windows“ ir kitose moderniose operacinėse sistemose, leidžia programinę įrangą paleisti savarankiškoje mini aplinkoje, kuri yra izoliuota nuo likusios sistemos. Konteineriai buvo lyginami su VM, tačiau jie nėra VM - jie yra žymiai lieknesni, greičiau užvedami ir sustabdomi, daug lankstesni ir nešiojami. Konteinerius galima sukti aukštyn ar žemyn arba keisti ar keisti per kelias sekundes, todėl palengvina programų paleidimą tokioje elastingoje aplinkoje kaip debesis.

„Linux“ ir kitos operacinės sistemos daugelį metų palaiko konteinerių programas, tačiau darbas su konteineriais nebuvo tiksliai patogus vartotojui. Tiek „Docker“, tiek atvirojo kodo, tiek komerciniai įsikūnijimai yra programinė įranga, kuri konteinerius paverčia patogia vartotojui ir kūrėjui palankia preke. „Docker“ pateikia bendrą įrankių ir metaforų rinkinį, skirtą konteineriams, kad galėtumėte pakuoti programas į konteinerių vaizdus, ​​kuriuos galima lengvai įdiegti ir pakartotinai naudoti savo organizacijoje ar kitur.

Trumpai tariant, „Docker“ leidžia greitai sukurti talpyklų vaizdus, ​​juos versijinti, jais dalytis, perkelti ir dislokuoti „Docker“ suderinamuose pagrindiniuose kompiuteriuose kaip veikiančius konteinerius.

Kada naudoti „Docker“ ir konteinerius?

Docker ir konteineriai geriausiai tinka, kai susiduriate su darbo krūviais, kurie turi turėti vieną ar daugiau iš šių savybių:

  • Elastingas mastelis. Jūs nežinote, kiek programos egzempliorių turėsite paleisti, kad patenkintumėte paklausą. Konteinerių programą ar paslaugą galima išplėsti, kad patenkintume paklausą, įdiegdami mažiau ar daugiau jos sudėtinių rodinių egzempliorių.
  • Isolation. Nenorite, kad programa trukdytų kitoms programoms. Galbūt paleisite kelias programos versijas, kad patenkintumėte skirtingas API versijas. O gal norite, kad pagrindinė sistema būtų švari (visada gera mintis).
  • Perkeliamumas. Turite paleisti šią programą įvairiose aplinkose ir reikalauti, kad kiekviena sąranka būtų atkuriama. Naudodami talpyklas galite supakuoti visą programos vykdymo laiką, todėl programą lengva įdiegti bet kur, kur rasite „Docker“ suderinamą pagrindinį kompiuterį - kūrėjo darbalaukį, kokybės užtikrinimo bandymo aparatą, vietinį lygintuvą ar nuotolinį debesį.

Sužinokite daugiau apie „Docker“ ir konteinerius

  • Kas yra „Docker“? Konteinerių revoliucijos kibirkštis
  • Kodėl turėtumėte naudoti „Docker“ ir konteinerius
  • Pradėkite naudotis „Docker“
  • Paslėpti „Docker“ privalumai QA
  • 12 atvirojo kodo įrankių, kurie daro „Docker“ geresnį
  • Daugiau „Docker“ naujienų, analizės, patarimų, apžvalgų ir patarimų

Kubernetes ir konteinerių orkestravimas

Konteineriai daugiausia skirti izoliuoti procesus ar programas vienas nuo kito ir pagrindinės sistemos. Sukurti ir įdėti atskirus konteinerius yra lengva. Bet ką daryti, jei norite surinkti kelis sudėtinius rodinius - tarkime, duomenų bazę, žiniatinklio sąsają, skaičiavimo vidinę dalį - į didelę programą, kurią galima valdyti kaip vienetą, nesijaudinant dėl ​​diegimo, prijungimo, tvarkymo, ir keisti kiekvieną iš šių konteinerių atskirai? Jums reikia būdoorkestras visos dalys į funkcinę visumą.

Tai yra darbas, kurį imasi Kubernetes. Jei konteineriai yra kruizo keleiviai, „Kubernetes“ yra kruizų direktorė.

„Kubernetes“, pagrįstas „Google“ sukurtais projektais, suteikia galimybę automatizuoti kelių talpyklų programų diegimą ir valdymą keliuose pagrindiniuose kompiuteriuose, nereikalaujant tiesiogiai valdyti kiekvieno sudėtinio rodinio. Kūrėjas aprašo programos išdėstymą keliuose sudėtiniuose rodiniuose, įskaitant išsamią informaciją apie tai, kaip kiekvienas sudėtinis rodinys naudoja tinklą ir saugyklą. Likusią dalį „Kubernetes“ tvarko vykdymo metu. Ji taip pat tvarko tokias smulkmenas kaip paslaptys ir programų konfigūracijos.

„Kubernetes“ reikalinga tam tikra patirtis, kad ją būtų galima naudoti, nors tai kur kas daugiau „raktų“ sprendimas nei anksčiau. Tam tikrą pažangą lengva naudoti lemia lengvai prieinami įprastų programų receptai („Helm“ diagramos); kai kuriuos iš jų lemia gausybė „Kubernetes“ platinimų, kuriuos gamina firminiai firmos („Red Hat“, „Canonical“, „Docker“), kurie dirba kartu su populiariais programų paketais ir kūrimo sistemomis.

Kada naudoti „Kubernetes“ ir konteinerių orkestravimą?

Paprastoms konteinerių programoms, aptarnaujančioms nedidelį vartotojų skaičių, nereikia orkestravimo, ką jau kalbėti apie „Kubernetes“. Bet jei programa pasižymi daugiau nei nereikšmingu funkcionalumo lygiu arba nereikšmingu vartotojų skaičiumi, tampa sunku neišradinėti orkestro sistemų teikiamo rato. Štai kelios nykščio taisyklės, pagal kurias nustatoma, kada orkestruotė turėtų patekti į paveikslėlį.

  • Jūsų programos yra sudėtingos. Bet kuri programa, apimanti daugiau nei du konteinerius, tikriausiai tinka sąskaitai. Tai reiškia, kad kuklios programos, aptarnaujančios tik nedidelį vartotojų skaičių, gali būti organizuojamos naudojant minimalesnį sprendimą, pvz., „Docker“ būrio režimą, o ne „Kubernetes“.
  • Jūsų programoms keliami dideli mastelio ir atsparumo reikalavimai. „Kubernetes“ ir kiti orkestratoriai leidžia jums subalansuoti krovinius ir sukti konteinerius, kad deklaratyviai patenkintumėte paklausą, aprašydami norimą sistemos būseną, užuot kodavę reakcijas į besikeičiančias sąlygas.
  • Norite kuo geriau išnaudoti šiuolaikines CI / CD technikas. Orkestravimo sistemos palaiko programų, naudojančių mėlyną / žalią diegimą arba atnaujinančius atnaujinimus, diegimo modelius.

Gali ateiti diena, kai Dockerį ir Kubernetesą užtemdys dar draugiškesnės abstrakcijos, ir jie suteiks vietos elegantiškesniems konteinerių kūrimo ir tvarkymo būdams. Tačiau kol kas Dockeris ir Kubernetes yra nepaprastai svarbūs norint žinoti ir suprasti.

Sužinokite daugiau apie „Kubernetes“ ir orkestruotę

  • Kas yra Kubernetes? Kita jūsų programos platforma
  • 4 priežastys, kodėl turėtumėte naudoti „Kubernetes“
  • 10 „Kubernetes“ platinimų, vedančių konteinerių revoliuciją
  • Tvarkoma „Kubernetes“: AWS ir „Azure“, palyginti su „Google Cloud“
  • Sveiki, „MicroK8s“: paprastesnis „Kubernetes“
  • Kas naujo „Kubernetes“
  • Daugiau „Kubernetes“ naujienų, patarimų, apžvalgų, patarimų ir analizės
$config[zx-auto] not found$config[zx-overlay] not found