Docker vs Kubernetes: avantaĝoj kaj malavantaĝoj
#000000
La virtualigo fariĝis tre ofta praktiko, precipe en nubaj servoj por povi pli profiti de la serviloj en la datumcentroj. Sed lastatempe trudata virtualigo estas tiu trudata, ĉar ĝi permesas multe pli efikan administradon (ne bezonante duplikati iujn procezojn). Kaj ĝuste en ĉi tiu pinto ekestas bataloj de Docker kontraŭ Kubernetes.
#000002
Du tre popularaj projektoj, kiujn vi probable jam konas. Ambaŭ kun ĝiaj avantaĝoj kaj malavantaĝoj, kaj kun diferencoj tio povas esti ŝlosila por helpi vin elekti projekton laŭ viaj bezonoj ...
#000003
Kiel vi scias, ekzistas pluraj specoj de virtualigokiel plena virtualigo, paravirtualigo ktp. Nu, en ĉi tiu sekcio mi fokusos pri plena virtualigo, kiu estas ĝenerale uzata dum muntado de virtualaj maŝinoj kaj ujoj, por ne enkonduki aliajn variablojn, kiuj eble konfuzos vin.
#000006
Virtualaj maŝinoj- Ĝi estas atingebla virtualiga aliro. Ĝi baziĝas sur hipervizoro, kiel KVM, Xen, aŭ programoj kiel VMWare, VirtualBox, ktp. Kun ĉi tiu programaro, kompleta fizika maŝino (vCPU, vRAM, diskiloj, virtualaj retoj, ekstercentraj ktp.) Estas kopiita. Tiel, operaciumo (gasto) povas esti instalita sur ĉi tiu virtuala aparataro kaj de tie, aplikoj povas esti instalitaj kaj funkciigitaj same kiel farite en la gastiga operaciumo.
Konteneriloj: Ĝi estas alia teknologio, en kiu kuniĝas ia kaĝo aŭ sablujo, en kiu iuj partoj de ĉi tiu kompleta sistemo povas esti forigitaj, kio estas pli efika kaj kun iuj avantaĝoj de porteblo kaj ekstra sekureco (kvankam ĝi ne estas libera de vundeblecoj) . Fakte, anstataŭ havi hipervizoron, en ĉi tiuj kazoj ekzistas programoj kiel Docker kaj Kubernetes, kiuj uzos la gastigan sistemon mem por lanĉi izolitajn programojn. La malavantaĝo estas, ke ĝi nur permesas al vi disfaldi denaskajn programojn de la gastiganta OS mem. Tio estas, dum en VM vi povas virtualigi Vindozon en Linuksa distribuo, ekzemple, kaj sur tiu Vindozo vi povas ruli iun ajn denaskan programon por ĝi, en ujo vi povas fari ĝin nur per programoj subtenataj de la gastiga sistemo, en ĉi tio kazo kun Linukso ...
#000007
Memoru, ke la etendoj aŭ subteno de aparatara virtualigoKiel Intel VT kaj AMD-V, ili sukcesis sufiĉe plibonigi rendimenton, supozante nur 2% de CPU-supre. Sed tio ne validas por aliaj rimedoj kiel memoro aŭ la stokado mem asignita por plena virtualigo, kio signifas konsiderindan rimedon.
#000008
Ĉio ĉi estas tio, kion ujoj solvas, kiuj ne bezonas kopii iujn procezojn por povi disfaldi aplikon. Ekzemple, se vi volas krei ujon kun Apache-servilo, kun la kompleta virtuala maŝino vi havus la gastigantan operaciumon, la hipervizoron, la gastan operaciumon kaj la programon por tiu servo. Aliflanke, kun la ujo vi nur havus la programon, kiu efektivigas ĉi tiun servon, ĉar ĝi funkcius en "skatolo" izolita kaj uzus la mastruman operaciumon mem. Krom tio, la lanĉo de la programo estas multe pli rapida, forigante la gastan OS.
#000009
Docker estas malfermfonteca projekto, sub la permesilo Apache, verkita en la programlingvo Go kaj uzata por aŭtomatigi la deplojon de aplikoj ene de ujoj. Tio estas, ĉi tiu programaro permesos al vi administri kontenerojn sur malsamaj operaciumoj, ĉar ĝi funkcias sur pluraj platformoj.
#000010
Kiam Docker aperis, ĝi havis multajn avantaĝojn, kaj ĝi disvastiĝis rapide. Ĝia izolita vizio pri la operaciumo kaj simpleco permesis krei ujojn kun programoj, disfaldi ilin, skali ilin kaj ekzekuti ilin rapide. Maniero lanĉi ĉiujn programojn, kiujn vi bezonas kun minimuma rimedo.
#000011
Resume, Docker ofertas la jenon trajtoj ŝlosilo:
#000012
Sed ĝi ne estis libera de iuj problemoj, kiel kiam tiuj ujoj devis kunordigi, komuniki inter si. Ĉi tiu estis unu el la kialoj, kiuj kaŭzis la kreon de Kubernetes ...
#000013
Kiel mi komentos poste Docker Svarmo, Mi ŝatus komenti, ke ĝi estas programaro kreita de la samaj programistoj de Docker por povi grupigi serion de Docker-gastigantoj en areto kaj tiel administri la aretojn centre, krom orkestri la ujojn.
#000014
Ĝi estis origine kreita de Google, kaj poste donacita al la Cloud Native Computing Foundation. Kubernetoj Ĝi ankaŭ estas Docker-simila sistemo, malfermfonteco, rajtigita laŭ Apache, kaj verkita per la programlingvo Go. Ĝi kutimas aŭtomatigi la deplojon kaj administradon de kontenerigitaj aplikoj. Krome, ĝi subtenas malsamajn mediojn por funkciigi ujojn, inkluzive de Docker.
#000015
Finfine, Kubernetes estas orkestra instrumento ujo, kiu zorgas helpi la malsamajn ujojn de la malsamaj maŝinoj, ilian administradon kaj distribuadon de ŝarĝo inter ili. Precipe tiu organizo faris ĉi tiun projekton esenca parto en ĉi tiaj scenoj ...
#000016
Kiel vi povas vidi en la difino, ambaŭ estas tre similaj laŭ multaj manieroj, sed vi havas iliaj diferencoj, same kiel havi siajn avantaĝojn kaj malavantaĝojn kiel ĉio. Vi eble pensos, ke sciante ĉi tiujn detalojn, vi havus ĉion por scii, kiun vi elektu, depende de la celo, kiun vi havas.
#000018
Tamen la problemo ĝi estas io pli kompleksa ol tio. Ne temas pri Docker vs Kuernetes, ĉar estus kiel kompari tre malsamajn aferojn kaj vi falus en la eraron pensi, ke vi devas elekti inter unu kaj la alia. La rezulto de Docker vs Kubernetes estas absurda, prefere vi devas kunligi ambaŭ teknologiojn por povi liveri kaj skali kontenerigitajn aplikojn pli bone.
#000019
La plej taŭga estus kompari Docker Swarm kun Kubernetes. Tio pli sukcesus, ĉar Docker Swarm estas Docker-instrumenta teknologio por krei kontenerojn. Kvankam, eĉ tiam ĝi ne estus tute sukcesa ... Fakte, Kubernetes estis desegnita por funkcii en areto, povante kunordigi aretojn de nodoj grandskale en produktado efike, dum Docker faras ĝin en ununura reĝimo.
#000020
Ŝparante tiujn malsamajn, se vi volas scii la diverĝoj inter Docker Swarm kaj Kubernetes, ili estus:
#000021
Vidinte iujn diverĝojn, nun venis la vico de la avantaĝoj ĉiu:
#000023
Facila organizado de la servo kun kapsuloj.
Disvolvita de Google, kun vasta sperto en la nuba industrio.
Grandega komunumo kaj konteneraj instrumentoj.
Vario de stokaj elektoj, inkluzive de lokaj SAN-oj kaj publikaj nuboj.
Efika kaj facila komenca agordo.
Spuras versiojn de konteneroj por ekzameni variaĵojn.
#000024
Facila organizado de la servo kun kapsuloj.
Disvolvita de Google, kun vasta sperto en la nuba industrio.
Grandega komunumo kaj konteneraj instrumentoj.
Vario de stokaj elektoj, inkluzive de lokaj SAN-oj kaj publikaj nuboj.
#000025
Efika kaj facila komenca agordo.
Spuras versiojn de konteneroj por ekzameni variaĵojn.
#000026
Kompleksa instalado kaj agorda procezo.
Efektivigi manan areton estas komplika.
#000028
Kiel vi povas imagi, ne estas tiel facile elekti inter unu aŭ la alia. La Docker vs Kubernetes-batalo estas pli kompleksa ol ĝi ŝajnas. Kaj ĉio dependos de la celo, kiun vi havas. Unu aŭ la alia pli taŭgos, kaj tio estu via elekto.
#000030
En multaj aliaj kazoj, uzi Kubernetes kun Docker estos la plej bona de ĉiuj ebloj. Ambaŭ projektoj funkcias bone kune. Ĉi tio povas plibonigi infrastrukturan sekurecon kaj altan haveblecon de aplikoj. Vi eĉ povas plialtigi programojn.
#000031
3 komentoj, lasu la viajn
#000034
Mi akceptas la privateco terminoj*
#000037
Respondeculo pri la datumoj: Miguel Ángel Gatón
Celo de la datumoj: Kontrola SPAM, administrado de komentoj.
Komunikado de la datumoj: La datumoj ne estos komunikitaj al triaj krom per laŭleĝa devo.
Stokado de datumoj: Datumbazo gastigita de Occentus Networks (EU)
Rajtoj: Iam ajn vi povas limigi, retrovi kaj forigi viajn informojn.
#000038
Multaj dankoj ! Al mi fariĝas pli klare, kaj ĉefe kompreni, ke kiel en multaj okazoj, ne ekzistas pli bona aŭ pli malbona, se ne afero elekti la plej taŭgan.
Eble mi nur bezonas pli klaran ekzemplon por kompreni en kiu scenaro unu aŭ la alia pli bone funkcias, kaj en kiu kazo uzi ilin kune.
Ankaŭ, kiajn alternativojn ni havas al ĉi tiu speco de programoj?
Kaj kiajn uzojn povas doni tiuj el ni, kiuj komencas scii pri ujoj, vidi realajn kazojn sen atendi labori en grandaj kompanioj?
Mi pensas, ke io estas malĝuste difinita ĉi tie, docker estas uja administranto, ĝi ne kompareblas kun Orkestristo.
La komparo estus inter Docker Swarm kaj Kubernetes.
Ŝajne dum la kreo de ĉi tiu grandioza afiŝo (vere interesa laŭ mi), iuj kondiĉoj estis transpasitaj.
#000039
Multaj dankoj ! Al mi fariĝas pli klare, kaj ĉefe kompreni, ke kiel en multaj okazoj, ne ekzistas pli bona aŭ pli malbona, se ne afero elekti la plej taŭgan.
Eble mi nur bezonas pli klaran ekzemplon por kompreni en kiu scenaro unu aŭ la alia pli bone funkcias, kaj en kiu kazo uzi ilin kune.
Ankaŭ, kiajn alternativojn ni havas al ĉi tiu speco de programoj?
#000040
Kaj kiajn uzojn povas doni tiuj el ni, kiuj komencas scii pri ujoj, vidi realajn kazojn sen atendi labori en grandaj kompanioj?
#000041
Mi pensas, ke io estas malĝuste difinita ĉi tie, docker estas uja administranto, ĝi ne kompareblas kun Orkestristo.
#000042