Kubernetes dê cîhanê bigire. Kengê û çawa?

Li hêviya DevOpsConf Vitaly Khabarov hevpeyvîn kirin Dmitry Stolyarov (distol), rêveberê teknîkî û hev-avakarê pargîdaniya Flant. Vitaly ji Dmitry pirsî ka Flan çi dike, li ser Kubernetes, pêşveçûna ekosîstema, piştgirî. Me nîqaş kir ka çima Kubernetes hewce ye û gelo ew bi tevahî hewce ye. Û her weha di derbarê mîkroxizmetan de, Amazon AWS, nêzîkatiya "Ez ê bi şans bim" ji DevOps re, paşeroja Kubernetes bixwe, çima, kengê û çawa ew ê cîhanê bigire, perspektîfên DevOps û çi endezyar divê ji bo çi amade bibin. pêşerojek geş û nêzîk bi hêsankirin û torên neuralî.

Hevpeyvîna orjînal wekî podcastek li DevOps Deflop guhdarî bikin - podcastek bi zimanê rûsî di derbarê DevOps de, û li jêr guhertoya nivîsê ye.

Kubernetes dê cîhanê bigire. Kengê û çawa?

Li vir û jêr pirsan dike Vitaly Khabarov endezyar ji Express42.

Di derbarê "Flant" de

- Merheba Dima. Tu rêveberê teknîkî yî"Flant"û damezrînerê wê jî. Ji kerema xwe ji me re bibêjin ku pargîdanî çi dike û hûn tê de çi ne?

Kubernetes dê cîhanê bigire. Kengê û çawa?Dmitry: Ji derve ve wisa dixuye ku em ew xort in ku li dora Kubernetes ji bo her kesî saz dikin û tiştek pê re dikin. Lê ev ne rast e. Me wekî pargîdaniyek ku bi Linux-ê re mijûl dibe dest pê kir, lê ji bo demek pir dirêj çalakiya me ya sereke xizmetkirina hilberîn û projeyên kilîtkirî yên giranbuha ye. Bi gelemperî em tevahiya binesaziyê ji nû ve ava dikin û dûv re ji bo demek dirêj û dirêj berpirsiyar in. Ji ber vê yekê, xebata sereke ya ku "Flant" dike, ji bo ku ew pere distîne, ew e berpirsiyarî hildigire û hilberîna kilît bi cih tîne.




Ez, wekî rêveberê teknîkî û yek ji damezrînerên pargîdaniyê, tevahiya roj û şev hewl didim ku fêr bibim ka meriv çawa gihîştina hilberînê zêde dike, xebata wê hêsan dike, jiyana rêveberan hêsantir dike, û jiyana pêşdebiran xweştir dike. .

Di derbarê Kubernetes de

- Di van demên dawî de ez gelek raporên ji Flant û gotarên li ser Kubernetes. Tu çawa hatî?

Dmitry: Min berê jî gelek caran behsa vê yekê kiriye, lê qet xema min ji dubarekirina wê nîne. Ez difikirim ku rast e ku ev mijar dubare bibe ji ber ku di navbera sedem û encamê de tevliheviyek heye.

Ji me re bi rastî amûrek hewce bû. Em bi gelek pirsgirêkan re rû bi rû man, me têkoşîn kir, bi kulpên curbecur wan ji holê rakir û me hewcedariya amûrekê hîs kir. Me gelek vebijarkên cihêreng derbas kir, bisiklêtên xwe çêkir, û ezmûnek bi dest xist. Hêdî hêdî em gihîştin nuqteya ku me dest bi karanîna Docker-ê hema ku ew xuya bû - li dora 2013-an. Di dema xuyabûna wê de, me jixwe gelek ezmûnek bi konteyneran re hebû, me berê jî analogek "Docker" nivîsandibû - hin kelûpelên xwe yên li Python. Bi hatina Docker re, mimkun bû ku meriv qirşikan bavêje û çareseriyek pêbawer û piştgirî ya civakê bikar bîne.

Bi Kubernetes re çîrok heman e. Wexta ku ew dest pê kir - ji bo me ev guhertoya 1.2 e - me berê hem li ser Shell û hem jî li Chef komek kelûpel hebûn, ku me bi rengekî hewl da ku bi Docker re orkestra bikin. Em bi ciddî li Rancher û çareseriyên cûrbecûr dinêrin, lê dûv re Kubernetes xuya bû, ku tê de her tişt tam wekî ku me ê bikira an jî çêtir e. Tiştekî ku meriv li ser gilî bike tune.

Erê, li vir celebek bêkêmasî heye, li wir celebek bêkêmasî heye - gelek kêmasî hene, û 1.2 bi gelemperî tirsnak e, lê ... Kubernetes mîna avahiyek di bin çêkirinê de ye - hûn li projeyê dinêrin û fêm dikin ku ew ê xweş be. Ger avahî nuha bingehek û du qat e, wê hingê hûn fêm dikin ku çêtir e ku hûn hîn neçin hundur, lê di nermalavê de pirsgirêkên wusa tune - hûn dikarin jixwe wê bikar bînin.

Demek me tune bû ku em difikirin ku Kubernetes bikar bînin an na. Berî ku ew xuya bibe em li benda wê bûn, û me hewl da ku em bi xwe analogan biafirînin.

Di derbarê Kubernetes de

- Hûn rasterast beşdarî pêşkeftina Kubernetes bixwe ne?

Dmitry: Navdar. Belê, em beşdarî pêşkeftina ekosîstemê dibin. Em hejmarek daxwaznameyên kişandinê dişînin: ji Prometheus, ji operatorên cihêreng, ji ​​Helm - ji ekosîstema re. Mixabin, ez nikarim her tiştê ku em dikin bişopînim û dibe ku ez xelet bibim, lê yek hewzek ji me di nav bingehê de tune.

- Di heman demê de, hûn gelek amûrên xwe li dora Kubernetes pêşve dibin?

Dmitry: Stratejî ev e: em diçin û daxwazan ji her tiştê ku berê heye dikişînin. Ger daxwazên kişandinê li wir neyên pejirandin, em bi tenê wan bi xwe dişoxilînin û heya ku ew bi avahîyên me werin pejirandin dijîn. Dûv re, gava ku ew digihîje jorîn, em vedigerin guhertoya jorîn.

Mînakî, me operatorek Prometheus heye, ku em pê re belkî 5 caran berê berê û berê xwe gihandine ber jortirîn meclîsa xwe. Pêdiviya me bi celebek taybetmendiyê heye, me daxwaznameyek kişandinê şand, pêdivî ye ku em sibê wê derxînin, lê em naxwazin li bendê bin ku ew li jor were berdan. Li gorî vê yekê, em ji bo xwe dicivînin, meclîsa xwe bi taybetmendiya xwe ya ku ji ber hin sedeman hewcedariya me ye, ji hemî komên xwe re radigihînin. Dûv re, mînakî, ew di jor de bi van gotinan li me vedigerînin: "Gelîno, em ji bo dozek gelemperî bikin," em, an kesek din, wê biqedînin, û bi demê re ew dîsa vedigere hev.

Em hewl didin her tiştê heyî pêş bixin. Gelek hêmanên ku hê tune ne, hê nehatine îcadkirin, an jî hatine îcadkirin, lê wexta pêkanîna wan tune bû - em vê dikin. Û ne ji ber ku em ji pêvajoyê an çêkirina bisîkletê wekî pîşesaziyê hez dikin, lê tenê ji ber ku em hewceyê vê amûrê ne. Pir caran pirs tê kirin, gelo me çima ev an ew tişt kir? Bersiv hêsan e - erê, ji ber ku em neçar bûn ku pêşdetir biçin, pirsgirêkek pratîkî çareser bikin, û me ew bi vê tulayê çareser kir.

Rê her tim wiha ye: em pir bi baldarî digerin û ger em çareyekê li ser çêkirina trolleybusê ji nanekî nabînin, wê demê em nan û troleybusa xwe jî çêdikin.

Amûrên Flanta

- Ez dizanim ku Flant nuha operatorên addon, operatorên şêl û amûrên dapp/werf hene. Wekî ku ez jê fêm dikim, ev heman amûr e di navgînên cûda de. Ez di heman demê de fêm dikim ku di nav Flaunt de gelek amûrên cihêreng hene. Ev rast e?

Dmitry: Li ser GitHub gelek tiştên me hene. Ji tiştê ku niha tê bîra min, me nexşeyek statûyê heye - panelek ji bo Grafana ku her kes pê re rû bi rû maye. Hema hema di her gotara duyemîn de li ser çavdêriya Kubernetes li ser Medium tê gotin. Ne gengaz e ku meriv bi kurtasî rave bike ka nexşeya statûyê çi ye - jê re gotarek cûda hewce dike, lê ew ji bo şopandina statûyê bi demê re tiştek pir bikêr e, ji ber ku di Kubernetes de em pir caran hewce ne ku bi demê re statûyê nîşan bidin. Me LogHouse jî heye - ev tiştek li ser bingeha ClickHouse û sêhra reş e ji bo berhevkirina têketinên li Kubernetes.

Gelek karûbar! Û dê hê bêtir hebe, ji ber ku hejmarek çareseriyên navxweyî dê îsal werin berdan. Ji yên pir mezin ên ku li ser bingeha operatora addon-ê ne, ji bo Kubernetes komek pêvek hene, ala meriv çawa bi rêkûpêk rêvebirê sert saz dike - amûrek ji bo birêvebirina sertîfîkayan, meriv çawa Prometheus bi komek aksesûar re rast saz dike - ev bi qasî bîst cûda ne binarên ku daneyan hinarde dikin û tiştek berhev dikin, ji bo vê Prometheus grafîk û hişyariyên herî ecêb hene. Hemî ev tenê komek pêvekên Kubernetes e, ku di komekê de têne saz kirin, û ew ji sade vediguhere sar, sofîstîke, otomatîk, ku tê de gelek pirsgirêk berê hatine çareser kirin. Erê, em gelek tiştan dikin.

Pêşveçûna ekosîstemê

"Ji min re xuya dike ku ev tevkariyek pir mezin e ji bo pêşkeftina vê amûrê û rêbazên karanîna wê." Ma hûn dikarin bi texmînî texmîn bikin ku yê din dê heman tevkariyê bide pêşkeftina ekosîstemê?

Dmitry: Li Rûsyayê, ji pargîdaniyên ku di sûka me de kar dikin, kes ne nêzîk e. Bê guman, ev gotinek bi deng e, ji ber ku lîstikvanên sereke yên wekî Mail û Yandex hene - ew jî bi Kubernetes re tiştek dikin, lê tewra ew nêzî tevkariya pargîdaniyên li seranserê cîhanê ne ku ji me pir zêdetir dikin. Zehmet e ku meriv Flant, ku karmendek wê ji 80 kesan pêk tê, û Red Hat, ku ji her Kubernetes tenê 300 endezyar hene, bidin ber hev, heke ez ne xelet bim. Berawirdkirin zehmet e. Di beşa RnD de 6 kesên me hene, ez jî di nav de, hemû amûrên me dibirim. 6 kes li hember 300 endezyarên Red Hat - ew bi rengek dijwar e ku meriv berhev bike.

- Lê belê, dema ku ev 6 kes jî dikarin tiştekî bi rastî bikêrhatî û xerîb bikin, gava ku bi pirsgirêkek pratîkî re rû bi rû bimînin û çareseriyê bidin civakê - bûyerek balkêş. Ez fêm dikim ku di pargîdaniyên teknolojiyê yên mezin de, ku ew tîmê pêşkeftin û piştevaniya Kubernetes-a xwe hene, di prensîbê de, heman amûr dikarin werin pêşve xistin. Ev ji bo wan mînakek e ku çi dikare were pêşve xistin û ji civakê re were dayîn, ji tevahiya civata ku Kubernetes bikar tîne re hêz dide.

Dmitry: Dibe ku ev taybetmendiya entegratorê, taybetiya wê ye. Gelek projeyên me hene û em gelek rewşên cuda dibînin. Ji bo me riya sereke ya afirandina nirxa lêzêde analîzkirina van dozan, dîtina hevpariyê û erzankirina wan ji bo me ye. Em bi awayekî aktîf li ser vê dixebitin. Ji bo min zehmet e ku ez li ser Rûsya û cîhanê biaxivim, lê di pargîdaniyê de nêzî 40 endezyarên DevOps hene ku li ser Kubernetes dixebitin. Ez nafikirim ku li Rûsyayê gelek pargîdanî hene ku bi hejmarek pisporên ku Kubernetes fam dikin, heke hebe hebe.

Ez her tiştî di derbarê sernavê kar de endezyar DevOps fam dikim, her kes her tiştî fam dike û ji bo gazîkirina endezyarên DevOps endezyarên DevOps-ê tê bikar anîn, em ê vê yekê nîqaş nekin. Van 40 endezyarên ecêb ên DevOps her roj bi pirsgirêkan re rû bi rû dimînin û çareser dikin, em tenê vê ezmûnê analîz dikin û hewl didin ku giştî bikin. Em fam dikin ku heke ew di hundurê me de bimîne, wê hingê di salek an du sal de amûr dê bêkêr be, ji ber ku li cîhek civakê dê Tulayek amade xuya bibe. Ti xala berhevkirina vê ezmûnê di hundurê xwe de tune - ew bi tenê enerjî û demê di nav dev/null de dirijîne. Û em qet jê poşman nabin. Em her tiştî bi kêfxweşiyek mezin diweşînin û fêm dikin ku ew hewce ye ku were weşandin, pêşvebirin, pêşvebirin, pêşvebirin, da ku mirov wê bikar bînin û ezmûna xwe zêde bikin - wê hingê her tişt mezin dibe û dijî. Dûv re piştî du salan amûr naçe çopê. Ne heyf e ku meriv rijandina hêzê bidomîne, ji ber ku diyar e ku kesek amûra we bikar tîne, û piştî du salan her kes wê bikar tîne.

Ev beşek ji stratejiya meya mezin a bi dapp/werf re ye. Nayê bîra min kengê me dest bi çêkirina wê kir, wusa dixuye ku 3 sal berê. Di destpêkê de, ew bi gelemperî li ser şêlê bû. Ew delîlek super ya têgehê bû, me hin pirsgirêkên xwe yên taybetî çareser kir - ew xebitî! Lê di şêlê de pirsgirêk hene, ne gengaz e ku meriv wê bêtir berfireh bike, bernamekirina li ser şêlê karekî din e. Adeteke me bû ku em bi yaqût binivîsin, li gorî vê yekê, me tiştek bi yaqûtê ji nû ve çêkir, pêşxist, pêş ket, pêş ket, û ket nav vê rastiyê ku civak, girseya ku nabêje "Em dixwazin an naxwazin." ” pozê xwe li Ruby dizivirîne, ew çiqas xweş e? Me fêm kir ku divê em hemî van tiştan di Go de binivîsin tenê ji bo ku xala yekem a li ser navnîşa kontrolê pêk bînin: Amûra DevOps divê binaryek statîk be. Gobûn an nebûn ne ew qas girîng e, lê binaryek statîk ku di Go de hatî nivîsandin çêtir e.

Me enerjiya xwe xerc kir, dapp di Go de ji nû ve nivîsand û jê re got werf. Dapp êdî nayê piştgirî kirin, ne pêşkeftî ye, di hin guhertoya herî dawî de tê xebitandin, lê rêyek nûvekirina bêkêmasî ya berbi jor heye, û hûn dikarin wê bişopînin.

Dapp çima hate afirandin?

— Tu dikarî bi kurtî ji me re bibêjî ka çima dap hatiye afirandin, çi pirsgirêkan çareser dike?

Dmitry: Sedema yekem di meclîsê de ye. Di destpêkê de, dema ku Docker ne xwediyê kapasîteyên pir-qonaxa bû, me bi çêkirinê re pirsgirêkên cidî hebûn, ji ber vê yekê me bi serê xwe pir-qonaxa çêkir. Dûv re bi paqijkirina wêneyê re gelek pirsgirêkên me hebûn. Her kesê ku CI/CD-ê dike, zû ji dereng, bi pirsgirêkê re rû bi rû dimîne ku komek wêneyên berhevkirî hene, hûn hewce ne ku bi rengekî tiştên ku ne hewce ne paqij bikin û tiştê ku hewce ne bihêlin.

Sedema duyemîn jî belavkirin e. Erê, Helm heye, lê ew tenê hin pirsgirêkan çareser dike. Bi kêfî, hatiye nivîsandin ku "Helm Rêvebirê Pakêtê ji bo Kubernetes e." Bi rastî çi "ew". Di heman demê de peyvên "Rêveberê Pakêtê" jî hene - bendewariya gelemperî ji Gerînendeyê Pakêtê çi ye? Em dibêjin: "Rêveberê Pakêtê - pakêtê saz bikin!" û em hêvî dikin ku ew ji me re bêje: "Pakêt hat radest kirin."

Balkêş e ku em dibêjin: "Helm, pakêtê saz bikin," û gava ku ew bersiv dide ku wî ew saz kiriye, derdikeve holê ku wî nû dest bi sazkirinê kiriye - wî Kubernetes destnîşan kir: "Vî tişt dest pê bike!", û gelo ew dest pê kir an na. , kar dike yan na, Helm vê pirsê qet çareser nake.

Derket holê ku Helm tenê pêşprocessorek nivîsê ye ku daneyan li Kubernetes bar dike.

Lê wekî beşek ji her bicîhkirinê, em dixwazin zanibin gelo serîlêdan ji bo hilberînê hatîye berdan an na? Ji bo prod-ê hatî derxistin tê vê wateyê ku serîlêdan li wir bar kiriye, guhertoya nû hatî bicîh kirin, û bi kêmanî ew li wir têk naçe û rast bersivê dide. Helm bi tu awayî vê pirsgirêkê çareser nake. Ji bo çareserkirina wê, hûn hewce ne ku gelek hewil bidin, ji ber ku hûn hewce ne ku fermanê bidin Kubernetes da ku çi li wir diqewime bişopîne - gelo ew hatî bicîh kirin an derxistin. Û di heman demê de gelek peywirên têkildarî danîn, paqijkirin û komkirinê jî hene.

Plans

Em ê îsal dest bi pêşveçûna herêmî bikin. Em dixwazin bigihîjin tiştê ku berê li Vagrant bû - me "vagrant up" nivîsand û me makîneyên virtual bi cih kir. Em dixwazin bigihîjin nuqteya ku li Git projeyek heye, em li wir "werf up" dinivîsin, û ew kopiyek herêmî ya vê projeyê, ku di mini-Kubek herêmî de hatî bicîh kirin, digel hemî pelrêçên ku ji bo pêşkeftinê ve girêdayî ne, derdixe holê. . Bi zimanê pêşkeftinê ve girêdayî, ev bi rengek cûda tête kirin, lê di heman demê de, da ku pêşkeftina herêmî bi hêsanî di bin pelên mountkirî de were meşandin.

Pêngava din ji bo me ye veberhênanê li rehetiya ji bo pêşdebiran. Ji bo ku zû projeyek li herêmê bi yek amûrekê bi cih bikin, wê pêşve bibin, wê bixin nav Git, û ew ê di heman demê de, li gorî lûleyan, qonax an ceribandinan jî derxîne, û dûv re heman amûrê bikar bîne da ku biçe hilberînê. Ev yekîtî, yekbûn, ji nû ve hilberandina binesaziyê ji hawîrdora herêmî heya firotanê ji bo me xalek pir girîng e. Lê ev hê ne di werfê de ye - em tenê plan dikin ku wê bikin.

Lê riya dapp/werfê her gav wekî Kubernetes di destpêkê de ye. Em bi pirsgirêkan re rû bi rû man, wan bi rêgezên kar çareser kirin - me li ser şêlê, li ser her tiştî ji xwe re hin çareyan peyda kir. Dûv re wan hewl da ku bi rengekî van rêgezên kar rast bikin, di vê rewşê de, ku em bi tenê parve dikin, wan di nav binareyan de giştî bikin û yek bikin.

Rêyek din jî heye ku meriv li vê çîrokê tevde, bi analogiyan binêre.

Kubernetes çarçoveyek otomobîlek bi motorek e. Derî, cam, radyo, dara Sersalê tune - qet tiştek tune. Tenê çarçove û motorê. Û Helm heye - ev rêve ye. Cool - dîrektîfek heye, lê ji we re pîneyek rêveber, refikek rêveber, gearbox û teker jî hewce ye, û hûn nekarin bêyî wan bikin.

Di doza werfê de, ev pêkhateyek din a Kubernetes e. Tenê naha di guhertoya alfa ya werfê de, mînakî, Helm di hundurê werfê de hatî berhev kirin, ji ber ku em bi xwe ji kirina wê westiyane. Gelek sedem hene ku meriv wiya bike, ez ê bi hûrgulî ji we re vebêjim ka çima me tevahiya helmê bi tilikê hundurê werfê re berhev kir di raporekê de li RIT ++.

Niha werf hêmaneke yekgirtîtir e. Em rêgezek qediyayî distînin, çîçek rêwerzê - ez di otomobîlan de ne pir jêhatî me, lê ev blokek mezin e ku jixwe cûrbecûr pirsgirêkan çareser dike. Ne hewce ye ku em bixwe katalogê derbas bikin, parçeyek ji bo yekî din hilbijêrin, bifikirin ka meriv çawa wan bi hev ve girêdide. Em berhevokek amade distînin ku bi yekcarî hejmareke mezin pirsgirêkan çareser dike. Lê di hundurê wê de ji heman hêmanên çavkaniya vekirî hatî çêkirin, ew hîn jî Docker ji bo kombûnê, Helm ji bo hin fonksiyonan bikar tîne, û çend pirtûkxaneyên din jî hene. Ev amûrek yekbûyî ye ku CI/CD-ya sar ji qutiyê zû û bi hêsanî derxe.

Ma domandina Kubernetes dijwar e?

- Hûn behsa serpêhatiya ku we dest bi karanîna Kubernetes kiriye, ev çarçoveyek ji we re ye, motorek e, û ku hûn dikarin gelek tiştên cihêreng li ser wê daliqînin: laş, çerxek rêkûpêk, li ser pedalan, kursî. Pirs derdikeve holê - piştgiriya Kubernetes ji we re çiqas dijwar e? Gelek ezmûna we heye, hûn çiqas dem û çavkaniyan li ser piştgirîkirina Kubernetes-ê ji her tiştê din veqetînin?

Dmitry: Ev pirsek pir dijwar e û ji bo bersivdanê, divê em fam bikin ku piştgirî çi ye û em ji Kubernetes çi dixwazin. Dibe ku hûn dikarin eşkere bikin?

- Bi qasî ku ez dizanim û wekî ku ez dibînim, nuha gelek tîm dixwazin Kubernetes biceribînin. Her kes xwe li ber xwe dide, datîne ser çokan. Ez hest dikim ku mirov her gav tevliheviya vê pergalê fam nake.

Dmitry: Wisa ye.

- Çiqas dijwar e ku Kubernetes ji sifrê were girtin û saz kirin da ku ew amade be?

Dmitry: Bi dîtina te neqla dil çiqas zehmet e? Ez fêm dikim ku ev pirsek lihevhatî ye. Bi kar anîna scalpel û ne xeletî ne ew qas dijwar e. Ger ew ji we re dibêjin ku hûn li ku derê birîn û li ku derê dirûtin, wê hingê prosedur bixwe ne tevlihev e. Zehmet e ku meriv dem bi dem garantî bike ku dê her tişt biserkeve.

Sazkirina Kubernetes û xebitandina wê hêsan e: çîçik! - hatiye sazkirin, gelek rêbazên sazkirinê hene. Lê gava ku pirsgirêk derdikevin, çi dibe?

Pirs her gav derdikevin - me hîna çi hesab nekiriye? Me heta niha çi nekiriye? Kîjan parametreyên kernel Linux bi xeletî hatine destnîşankirin? Ya Xudan, ma me behsa wan jî kir?! Me kîjan pêkhateyên Kubernetes radest kiriye û kîjan na? Bi hezaran pirs derdikevin holê, û ji bo bersiva wan, hûn hewce ne ku 15-20 salan di vê pîşesaziyê de derbas bikin.

Li ser vê mijarê mînakek min a dawî heye ku dibe ku wateya pirsgirêka "Gelo parastina Kubernetes dijwar e?" Demek berê me bi ciddî fikirî gelo divê em hewl bidin ku Ciliium wekî torê li Kubernetes bicîh bikin.

Bila ez rave bikim ka Ciliium çi ye. Kubernetes gelek pêkanînên cihêreng ên binepergala torê hene, û yek ji wan pir xweş e - Cilium. Wateya wê çi ye? Di kernelê de, demek berê mimkun bû ku meriv ji bo kernelê çengelan binivîsîne, ku bi rengekî an din binepergala torê û binepergalên din ên cihêreng dagir dike, û dihêle hûn perçeyên mezin di kernelê de derbas bikin.

Kernel Linux di dîrokê de xwedan rêgezek ip, fîlterek zêde, pir û gelek pêkhateyên kevn ên cihêreng ên ku 15, 20, 30 salî ne, heye. Bi gelemperî, ew dixebitin, her tişt pir xweş e, lê naha wan konteyneran berhev kirine, û ew mîna birca 15 kerpîçan li ser hev xuya dike, û hûn li ser yek lingê wê radiwestin - hestek xerîb. Ev pergal di dîrokê de bi gelek nuansan, mîna pêvek di laş de, pêşketiye. Di hin rewşan de pirsgirêkên performansê hene, wek nimûne.

BPF-yek ecêb û jêhatîbûna nivîsandina çengelên ji bo kernelê heye - xortan çengelên xwe ji bo kernelê nivîsandin. Pakêt tê nav kernel Linux-ê, ew wê rastê di têketinê de derdixin, wê bi xwe wekî ku divê bêyî piran, bê TCP, bêyî stek IP-yê - bi kurtasî, her tiştê ku di kernel Linux-ê de hatî nivîsandin derbas dikin, û dûv re tif dikin. ew derxe nav konteynerê.

Çi qewimî? Performansa pir xweş, taybetmendiyên xweş - tenê xweş! Lê em li vê yekê dinêrin û dibînin ku li ser her makîneyek bernameyek heye ku bi Kubernetes API-yê ve girêdide û, li ser bingeha daneyên ku ji vê API-yê distîne, koda C-yê çêdike û binareyên ku ew di nav kernelê de bar dike, berhev dike da ku van çengelan bixebitin. di qada kernelê de.

Ger tiştek xelet derkeve çi dibe? Em nizanin. Ji bo fêmkirina vê, hûn hewce ne ku hûn hemî vê kodê bixwînin, hemî mantiqê fam bikin, û ecêb e ku ew çiqas dijwar e. Lê, ji hêla din ve, ev pirek, fîlterên torê, rêça ip-ê hene - min koda çavkaniya wan nexwendiye, û ne jî 40 endezyarên ku di pargîdaniya me de dixebitin hene. Dibe ku tenê hinek hinek beşan fêm bikin.

Û çi ferq e? Derket holê ku rêça ip-ê, kernel Linux-ê heye, û amûrek nû heye - ew çi cûdahî dike, em yek an ya din fam nakin. Lê em ditirsin ku tiştek nû bikar bînin - çima? Ji ber ku heke amûr 30 salî be, wê hingê di 30 salan de hemî xeletî hatine dîtin, hemî xeletî hatine pêdan û hûn ne hewce ne ku hûn her tiştî bizanibin - ew mîna qutiyek reş dixebite û her gav dixebite. Her kes zane ku kîjan pêça teşhîsê li kîjan cîhî bisekine, kîjan tcpdump di kîjan kêliyê de bixebite. Her kes karûbarên teşhîskirinê baş dizane û fam dike ka ev komek pêkhateyan çawa di kernel Linux de dixebite - ne ew çawa dixebite, lê meriv wê çawa bikar tîne.

Û Kîlîuma bi heybet sar ne 30 salî ye, hê kal nebûye. Kubernetes heman pirsgirêk heye, kopî bikin. Ku Cilium bi rengek bêkêmasî hatî saz kirin, ku Kubernetes bi rengek bêkêmasî hatî saz kirin, lê gava ku tiştek di hilberînê de xelet dibe, hûn dikarin di rewşek krîtîk de zû fam bikin ka çi xelet bû?

Gava ku em dibêjin gelo domandina Kubernetes dijwar e - na, ew pir hêsan e, û erê, ew pir dijwar e. Kubernetes bi serê xwe pir baş dixebite, lê bi mîlyar nuwaze.

Di derbarê nêzîkatiya "Ez ê bi şens bim".

- Pargîdaniyên ku van nuansan hema hema garantî ne ku xuya bibin hene? Bifikirin ku Yandex ji nişkê ve hemî karûbaran vediguhezîne Kubernetes, dê li wir barek mezin hebe.

Dmitry: Na, ev axaftin ne li ser barkirinê ye, lê li ser tiştên herî hêsan e. Mînakî, me Kubernetes heye, me serîlêdan li wir bicîh kir. Hûn çawa dizanin ku ew dixebite? Tenê amûrek amade tune ku fêm bike ku serîlêdan têk naçe. Pergalek amade tune ku hişyariyan dişîne; hûn hewce ne ku van hişyariyan û her bernameyek mîheng bikin. Û em Kubernetes nûve dikin.

Min Ubuntu 16.04 heye. Hûn dikarin bêjin ku ev guhertoyek kevn e, lê em hîn jî li ser wê ne ji ber ku ew LTS ye. Pergalek heye, nuwazeya wê ev e ku ew komên C-yê paqij nake. Kubernetes podan dide destpêkirin, komên C-yê diafirîne, dûv re potan jêdibe, û bi rengekî wusa diqewime - hûrgulî nayên bîra min, mixabin - ew perçeyên pergalê dimînin. Ev rê dide wê yekê ku bi demê re her otomobîlek bi hêz dest pê dike ku hêdî bibe. Ev ne pirsek di derbarê bargiraniyê de jî ye. Ger podên daîmî werin destpêkirin, mînakî, heke Cron Job hebe ku bi domdarî podan çêdike, wê hingê makîneya bi Ubuntu 16.04 piştî hefteyekê dest bi hêdîbûnê dike. Ji ber vê yekê ku komek C-komên hatine afirandin, dê navgînek barkirina domdar a bilind hebe. Ev pirsgirêk e ku her kesê ku bi tenê Ubuntu 16 û Kubernetes li jor saz bike dê rû bi rû bimîne.

Ka em bibêjin ku ew bi rengekî pergalê an tiştek din nûve dike, lê di kernel Linux-ê heya 4.16-an de ew hê xweştir e - gava ku hûn komên C jêbirin, ew di kernelê de diherikin û bi rastî nayên jêbirin. Ji ber vê yekê, piştî mehek xebata li ser vê makîneyê, dê ne gengaz be ku meriv li statîstîkên bîranînê yên ji bo ocaxan binêre. Em pelek derdixin, di bernameyê de dihejînin, û pelek 15 saniyeyan dizivirîne, ji ber ku kernel demek pir dirêj digire ku mîlyonek komên C di hundurê xwe de bijmêre, ku xuya dikin ku jêbirin, lê na - ew diherikin. .

Li vir û wir hê jî gelek tiştên wisa biçûk hene. Ev ne pirsgirêkek e ku carinan dibe ku pargîdaniyên giyanî di bin barên pir giran de rû bi rû bimînin - na, ew mijarek tiştên rojane ye. Mirov dikarin bi mehan bi vî rengî bijîn - wan Kubernetes saz kirin, serîlêdan danî - wusa dixuye ku dixebite. Ji bo gelek kesan ev normal e. Ew ê jî nizanin ku ev serîlêdan dê ji ber hin sedeman têk bibe, ew ê hişyariyek nestînin, lê ji bo wan ev norm e. Berê, em li ser makîneyên virtual bêyî çavdêriyê dijiyan, naha em çûn Kubernetes, di heman demê de bêyî çavdêrîkirinê - cûdahî çi ye?

Pirs ev e ku gava em li ser qeşayê dimeşin, heya ku em pêş de nepîvin, em qet qalindiya wê nizanin. Gelek kes dimeşin û xem nakin, ji ber ku berê meşiyane.

Li gorî nêrîna min, nuwaze û tevliheviya xebitandina her pergalê ew e ku pê ewle bibe ku qalindahiya qeşayê tam têra çareserkirina pirsgirêkên me ye. Ya ku em li ser dipeyivin ev e.

Di IT-ê de, ji min re xuya dike, pir nêzîkatiyên "Ez ê bi şens bim" hene. Pir kes nermalavê saz dikin û pirtûkxaneyên nermalavê bikar tînin bi hêviya ku ew ê bextewar bibin. Bi gelemperî, gelek kes bi şens in. Ji ber vê yekê dibe ku ew kar dike.

- Li gorî nirxandina min a reşbîn, wusa dixuye: gava ku metirsî pir in, û pêdivî ye ku serîlêdan bixebite, wê hingê piştgirî ji Flaunt, belkî ji Red Hat hewce ye, an jî hûn hewceyê tîmê xweya hundurîn e ku bi taybetî ji Kubernetes re hatî veqetandin, ku amade ye. ku wê bikişîne.

Dmitry: Objektîf, wisa ye. Ketina nav çîroka Kubernetes ji bo tîmek piçûk bi tena serê xwe gelek xetereyan vedihewîne.

Ma em hewceyê konteyner in?

- Hûn dikarin ji me re bibêjin Kubernetes li Rûsyayê çiqas belav e?

Dmitry: Ev dane li ber destê min nînin, û ez bawer nakim ku kesekî din hebe. Em dibêjin: "Kubernetes, Kubernetes," lê rêyek din heye ku meriv li vê meselê mêze bike. Di heman demê de ez nizanim ku konteynir çiqas berbelav in, lê ez hejmarek ji raporên li ser Înternetê dizanim ku 70% ji konteyneran ji hêla Kubernetes ve têne rêve kirin. Ew ji bo nimûneyek pir mezin li çaraliyê cîhanê çavkaniyek pêbawer bû.

Dûv re pirsek din - gelo em hewceyê konteyner in? Hestiya min a kesane û pozîsyona giştî ya pargîdaniya Flant ev e ku Kubernetes standardek defakto ye.

Ji bilî Kubernetes dê tiştek tune.

Ev di warê rêveberiya binesaziyê de lîstikek bêkêmasî ye. Tenê bêkêmasî - ew e, êdî Ansible, Chef, makîneyên virtual, Terraform. Ez behsa rêbazên berê yên çandiniya kolektîf nakim. Kubernetes guherînek bêkêmasî ye, û niha wê tenê bi vî rengî be.

Eşkere ye ku ji bo hinekan du sal û ji bo hinekan jî du deh sal lazim e ku meriv vê yekê fêm bike. Ez guman nakim ku ji bilî Kubernetes û vê xuyangê nû tiştek tune: em êdî zirarê nadin pergala xebitandinê, lê bikar tînin binesaziya wek kod, tenê ne bi kodê, lê bi yml - binesaziyek eşkerekirî. Hestek min heye ku dê her dem bi vî rengî be.

- Ango, ew pargîdaniyên ku hîna neçûne Kubernetes dê bê guman jê biguhezînin an jî di jibîrbûnê de bimînin. Min tu rast fêm kir?

Dmitry: Ev jî bi tevahî ne rast e. Mînakî, heke peywira me ya xebitandina serverek DNS hebe, wê hingê ew dikare li ser FreeBSD 4.10 were xebitandin û ew dikare 20 salan bêkêmasî bixebite. Tenê kar bikin û ew e. Dibe ku di nav 20 salan de tiştek hewce bike ku carekê were nûve kirin. Ger em li ser nermalava di forma ku me dest pê kir de diaxivin û ew bi rastî gelek salan bêyî nûvekirin, bêyî guhertinan dixebite, wê hingê, bê guman, Kubernetes tune. Ew li wir ne hewce ye.

Her tiştê ku bi CI/CD-ê ve girêdayî ye - li ku derê ku Radestkirina Berdewam hewce ye, li ku derê hûn hewce ne ku guhertoyan nûve bikin, guheztinên çalak bikin, li cîhê ku hûn hewce ne ku tolerasyona xeletiyê ava bikin - tenê Kubernetes.

Der barê microservices

- Li vira min nerazîbuneke sivik heye. Ji bo ku hûn bi Kubernetes re bixebitin, hûn hewceyê piştgiriya derveyî an hundurîn in - ev xala yekem e. Ya duyemîn, gava ku em nû dest bi pêşveçûnê dikin, em destpêkek piçûk in, hîn tiştek me tune, pêşkeftina ji bo Kubernetes an mîmariya mîkroxizmetê bi gelemperî dikare tevlihev be û her gav ji hêla aborî ve ne rastdar be. Ez bi ramana we re eleqedar im - gelo pêdivî ye ku destpêk tavilê ji nû ve dest bi nivîsandina Kubernetes bikin, an jî ew dikarin hîn jî monolîtek binivîsin, û dûv re tenê werin Kubernetes?

Dmitry: Pirsa xweş. Gotûbêja min li ser mîkroservisan heye "Microservices: Mezinahî Girîng e." Gelek caran ez rastî kesên ku hewl didin bi mîkroskopê neynûkan bişkînin hatine. Nêzîkatî bixwe rast e; em bixwe nermalava xweya hundurîn bi vî rengî sêwiran dikin. Lê gava ku hûn vê yekê dikin, hûn hewce ne ku hûn bi zelalî fêm bikin ka hûn çi dikin. Peyva ku ez herî zêde ji mîkroservisan nefret dikim "micro" ye. Di dîrokê de, ev peyv li wir derketiye, û ji ber hin sedeman mirov difikirin ku mîkro pir piçûk e, ji mîlîmetreyek kêmtir e, mîna mîkrometreyek. Ev xelet e.

Mînakî, monolîtek heye ku ji hêla 300 kesan ve hatî nivîsandin, û her kesê ku beşdarî pêşkeftinê bûye fêm dike ku li wir pirsgirêk hene, û divê ew di mîkro-parçeyan de were perçe kirin - nêzîkê 10 perçe, ku her yek ji hêla 30 kesan ve hatî nivîsandin. di guhertoyek herî kêm de. Ev girîng, pêwîst û sar e. Lê gava ku destpêkek tê ber me, ku 3 xortên pir xweş û jêhatî 60 mîkroxizmet li ser çokên xwe nivîsandin, her carê ez li Corvalol digerim.

Ji min re dixuye ku ev jixwe bi hezaran carî hatiye axaftin - me bi rengekî an rengek din monolîtek belavkirî wergirt. Ev ji hêla aborî ve ne rastdar e, bi gelemperî di her tiştî de pir dijwar e. Min ev çend caran dît ku bi rastî min diêşîne, ji ber vê yekê ez berdewam dikim li ser biaxivim.

Di pirsa destpêkê de, nakokî di navbera wê yekê de heye ku, ji aliyekî ve, karanîna Kubernetes tirsnak e, ji ber ku ne diyar e ka çi dibe ku li wir bişkîne an nexebite, ji hêla din ve, diyar e ku her tişt li wir diçe. û ji bilî Kubernetes dê tiştek tune be. Bersiv - mîqdara feydeya ku tê, mîqdara karên ku hûn dikarin çareser bikin giran bikin. Ev li aliyekî pîvanê ye. Ji hêla din ve, xetereyên ku bi dema daketinê an bi kêmbûna dema bersivê, asta hebûna - bi kêmbûna nîşaneyên performansê re têkildar in.

Li vir ew e - an em bi lez tevdigerin, û Kubernetes dihêle ku em gelek tiştan pir zûtir û çêtir bikin, an jî em çareseriyên pêbawer, ceribandin-dem bikar tînin, lê pir hêdîtir tevdigerin. Ev hilbijartinek e ku divê her pargîdanî bike. Hûn dikarin wê wekî rêyek di daristanê de bihesibînin - gava ku hûn yekem car dimeşin, hûn dikarin mar, pilingek an bejikek dîn bibînin, û gava ku we 10 caran meşiya, we rê daxist, jê derxist. şax û hêsantir dimeşin. Her ku diçe rê firehtir dibe. Dû re rêyek asfalt e, paşê jî bulvarek xweşik e.

Kubernetes li ber xwe nade. Dîsa pirs: Kubernetes, ji aliyekî ve 4-5 binar e, ji aliyê din ve, ew tevahiya ekosîstema ye. Ev pergala xebitandinê ya ku em li ser makîneyên me hene. Eve çîye? Ubuntu an Curios? Ev kernel Linux, komek hêmanên din e. Ev hemû tişt li vir, marekî jehrî ji rê avêtibûn, têl lê kiribûn. Kubernetes pir zû û dînamîk pêşve diçe, û qebareya xetereyan, qebareya nenas her meh kêm dibe û, li gorî vê yekê, ev pîvan ji nû ve hevseng dibin.

Bersiva pirsa ku divê destpêkek çi bike, ez ê bibêjim - werin Flaunt, 150 hezar ruble bidin û karûbarek hêsan a DevOps-ê bi dest bixin. Heke hûn bi çend pêşdebiran re destpêkek piçûk in, ev kar dike. Li şûna ku hûn DevOps-ên xwe bi kar bînin, yên ku dê hewce ne ku fêr bibin ka meriv çawa pirsgirêkên xwe çareser bike û di vê demê de meaş bide, hûn ê ji bo hemî pirsgirêkan çareseriyek kilît bistînin. Belê, hinek kêmasî hene. Em, wekî dervî çavkanî, nikarin ew qas tevlê bibin û zû bersivê bidin guhertinan. Lê gelek pisporî û pratîkên me yên amade hene. Em garantî dikin ku di her rewşê de em ê bê guman zû wiya fêhm bikin û her Kubernetes ji nav miriyan rakin.

Ez bi tundî pêşniyar dikim ku ji bo destpêk û karsaziyên damezrandî heta mezinahiyek ku hûn dikarin tîmek ji 10 kesan veqetînin operasyonan, ji ber ku wekî din ti xalek tune. Bê guman ew watedar e ku meriv vê yekê derxe.

Di derbarê Amazon û Google de

- Ma mêvandarek ji çareseriyek Amazon an Google dikare wekî çavkaniyek derveyî were hesibandin?

Dmitry: Belê, bê guman, ev çend pirsgirêkan çareser dike. Lê dîsa nuans hene. Hûn hîn jî hewce ne ku hûn fêm bikin ka meriv wê çawa bikar tîne. Mînakî, di xebata Amazon AWS de hezar tiştên piçûk hene: Pêdivî ye ku Load Balancer were germ kirin an jî divê daxwazek pêşwext were nivîsandin ku "Gelîno, em ê seyrûseferê bistînin, Load Balancer ji me re germ bikin!" Pêdivî ye ku hûn van nuansan bizanibin.

Gava ku hûn serî li mirovên ku di vê yekê de pispor in, hûn hema hema hemî tiştên tîpîk girtî digirin. Niha 40 endezyarên me hene, heya dawiya salê dibe ku 60 hebin - em bê guman rastî van tiştan hatine. Ger em dîsa li ser projeyek bi vê pirsgirêkê re rûbirû bibin jî, em zû ji hev dipirsin û dizanin ka meriv wê çawa çareser bike.

Dibe ku bersiv ev e - bê guman, çîrokek mêvandar hin beşan hêsantir dike. Pirs ev e ku hûn amade ne ku ji van mêvandar bawer bikin û gelo ew ê pirsgirêkên we çareser bikin. Amazon û Google baş kirine. Ji bo hemî dozên me - tam. Di destê me de tecrubeyên erênî nînin. Hemî ewrên din ên ku me hewl da ku bi wan re bixebitin gelek pirsgirêkan diafirînin - Ager, û her tiştê ku li Rûsyayê ye, û her cûre OpenStack di pêkanînên cihêreng de: Headster, Overage - hûn çi dixwazin. Ew hemî pirsgirêkên ku hûn naxwazin çareser bikin ava dikin.

Ji ber vê yekê, bersiv erê ye, lê, bi rastî, ne pir çareseriyên mêvandar ên gihîştî hene.

Kî hewceyê Kubernetes e?

- Lê dîsa jî, kê Kubernetes hewce dike? Kî divê berê xwe bide Kubernetes, kî xerîdarê Flaunt-ê tîpîk e ku bi taybetî ji bo Kubernetes tê?

Dmitry: Ev pirsek balkêş e, ji ber ku niha, li pey Kubernetes, gelek kes têne ba me: "Gelîno, em dizanin ku hûn Kubernetes dikin, ji me re bikin!" Em bersiva wan didin: "Birêz, em Kubernetes nakin, em prod û her tiştê ku pê ve girêdayî ye dikin." Ji ber ku niha bêyî kirina hemî CI/CD û vê çîrokê bi tenê ne gengaz e ku meriv hilberek çêbike. Her kes ji dabeşkirina ku em bi pêşveçûnê re, û paşê îstîsmar bi îstîsmarê re heye, dûr ketine.

Xerîdarên me li hêviya tiştên cûda ne, lê her kes li benda mûcîzeyek baş e ku hin pirsgirêkên wan hene, û naha - hop! - Kubernetes dê wan çareser bikin. Mirov bi mûcîzeyan bawer dikin. Di hişê xwe de ew fêm dikin ku dê mûcîze nebe, lê di giyanê wan de ew hêvî dikin - çi dibe ku ev Kubernetes naha dê her tiştî ji me re çareser bike, ew ew qas li ser wê diaxivin! Ji nişka ve ew niha - bipişke! - û fîşekek zîvîn, bipişke! - û 100% wextê me heye, hemî pêşdebir dikarin her tiştê ku dikeve hilberînê 50 carî berdin, û ew têk naçe. Bi gelemperî, mûcîze!

Dema kesên wiha tên cem me, em dibêjin: “Bibore, lê mucîze tune. Ji bo ku hûn sax bin, divê hûn baş bixwin û werzîşê bikin. Ji bo ku hilberek pêbawer hebe, pêdivî ye ku ew bi pêbawer were çêkirin. Ji bo ku hûn CI / CD-ya hêsan hebe, hûn hewce ne ku wê bi vî rengî çêbikin. Ev gelek kar e ku divê bê kirin.

Bersiva pirsa kê hewce dike Kubernetes - kes hewce nake Kubernetes.

Hin kes têgihîştina xelet heye ku ew hewceyê Kubernetes in. Mirov hewce dike, hewcedariya wan a kûr heye ku dev ji raman, xwendin û eleqedarbûna bi hemî pirsgirêkên binesaziyê û pirsgirêkên meşandina serlêdanên xwe berdin. Ew dixwazin serîlêdan tenê bixebitin û tenê bicîh bikin. Ji bo wan, Kubernetes hêvî ye ku ew ê dev ji bihîstina çîroka ku "em li wir derewandî bûn", an "em nekarin derbikevin" an tiştek din rawestînin.

Rêveberê teknîkî bi gelemperî tê cem me. Du tişt jê dipirsin: Ji aliyekî ve taybetiyan bide me, ji aliyê din ve îstiqrarê. Em pêşniyar dikin ku hûn wê li ser xwe bigirin û bikin. Guleya zîv, an bêtir zîv-pêçkirî, ev e ku hûn ê dev ji ramana van pirsgirêkan û windakirina demê berdin. Hûn ê mirovên taybetî hebin ku dê vê mijarê bigire.

Gotina ku em an kesek din hewceyê Kubernetes e nerast e.

Rêvebir bi rastî hewceyê Kubernetes in, ji ber ku ew pêlîstokek pir balkêş e ku hûn dikarin pê re bilîzin û bişopînin. Werin em rastgo bin - her kes ji pêlîstokan hez dike. Em hemî li cîhek zarok in, û gava em yekî nû dibînin, em dixwazin lê bilîzin. Ji bo hinekan, ev yek, ji bo nimûne, di rêveberiyê de hate cesaret kirin, ji ber ku wan berê têra xwe lîstiye û jixwe heya wê astê westiya ye ku ew bi hêsanî naxwazin. Lê ev yek bi tevahî ji kesî re winda nabe. Mînakî, heke ez demek dirêj di warê rêveberiya pergalê û DevOps de ji pêlîstokan bêzar bûm, wê hingê ez hîn jî ji pêlîstokan hez dikim, ez hîn jî hin nû bikirim. Hemî mirov, bi rengekî din, hîn jî cûreyek pêlîstokan dixwazin.

Ne hewce ye ku bi hilberînê re bilîzin. Tiştê ku ez bi kategorî pêşniyar dikim ku nekim û ya ku ez nuha bi girseyî dibînim: "Oh, pêlîstokek nû!" — reviyan ku wê bikirin, kirîn û: «Em niha wê bibin dibistanê û nîşanî hemû hevalên xwe bidin.» Vê yekê nekin. Ez lêborînê dixwazim, zarokên min hîna mezin dibin, ez hertim tiştekî di zarokan de dibînim, di xwe de ferq dikim û dûv re jî ji yên din re giştî dikim.

Bersiva dawî ev e: hûn ne hewce ne Kubernetes. Pêdivî ye ku hûn pirsgirêkên xwe çareser bikin.

Ya ku hûn dikarin bigihîjin ev e:

  • prod nakeve;
  • her çend ew hewl bide ku bikeve jî, em ji berê ve pê dizanin, û em dikarin tiştek tê de bikin;
  • em dikarin wê bi leza ku karsaziya me jê re hewce dike biguhezînin, û em dikarin wê bi rehetî bikin; ew ji me re pirsgirêk dernakeve.

Du hewcedariyên rastîn hene: pêbawerî û dînamîzm / nermbûna pêşandanê. Her kesê ku niha hin celeb projeyên IT-ê dike, bêyî ku di çi celeb karsaziyê de be - ji bo hêsankirina cîhanê nerm, û yê ku vê yekê fêm dike, pêdivî ye ku van hewcedariyên çareser bike. Kubernetes bi nêzîkatiya rast, bi têgihiştina rast û bi ezmûnek têr rê dide we ku hûn wan çareser bikin.

Di derbarê serverless

- Ger hûn hinekî pêşdetir li paşerojê binerin, wê hingê hewl bidin ku pirsgirêka nebûna serêş bi binesaziyê çareser bikin, bi leza avêtinê û leza guhartina serîlêdanê, çareseriyên nû xuya dibin, mînakî, bê server. Ma hûn di vî alî de potansiyelek hîs dikin û, em bibêjin, xetereyek ji bo Kubernetes û çareseriyên mîna wan heye?

Dmitry: Li vir divê em careke din têbînîyekê bikin ku ez ne dîdar im ku li pêş me binêre û bêje - dê wiha be! Her çend min tenê heman tişt kir. Ez li lingên xwe dinêrim û li wir komek pirsgirêkan dibînim, mînakî, transîstor di komputerê de çawa dixebitin. Ev henek e, ne? Em di CPU de bi hin xeletiyan re rû bi rû ne.

Bê serverek pir pêbawer, erzan, bikêrhatî û rehet bikin, hemî pirsgirêkên ekosîstemê çareser bikin. Li vir ez bi Elon Musk re dipejirînim ku gerstêrkek duyemîn hewce ye ku ji bo mirovahiyê tolerasyona xeletiyê biafirîne. Her çend ez nizanim ew çi dibêje, ez fam dikim ku ez ne amade me ku bi xwe ber bi Marsê ve bifirim û ew ê sibê nebe.

Digel bê server, eşkere eşkere ye ku ev ji hêla îdeolojîk ve tiştek rast e, mîna tolerasyona xeletiyê ji bo mirovahiyê - hebûna du gerstêrkan ji yekê çêtir e. Lê niha çawa bikin? Ger hûn hewildanên xwe li ser wê biqedînin şandina yek seferê ne pirsgirêk e. Bi dîtina min şandina çend seferan û bicihkirina çend hezar kesî li wir jî realîst e. Lê ji bo ku ew bi tevahî xelet-tolerans bike da ku nîvê mirovahiyê li wir bijî, ji min re naha ne gengaz xuya dike, nayê hesibandin.

Bi bê server yek bi yek: tişt xweş e, lê ew ji pirsgirêkên 2019-an dûr e. Nêzîkî 2030 - werin em bijîn ku wê bibînin. Ez guman nakim ku em ê bijîn, em ê teqez bijîn (berî razanê dubare bike), lê niha hewce ye ku em pirsgirêkên din çareser bikin. Mîna ku baweriya xwe bi çîroka pony Rainbow bîne. Erê, ji sedî du dozan têne çareser kirin, û ew bi tevahî têne çareser kirin, lê ji hêla subjektîf ve, bê server zencîre ye... Bi min ev mijar pir dûr û pir nayê fam kirin. Ez ne amade me ku biaxivim. Di sala 2019 de, hûn nekarin serîlêdanek yekane bi bê server binivîsin.

Kubernetes dê çawa pêşve bibe

- Gava ku em ber bi vê paşeroja dûr a potansiyel a ecêb ve diçin, hûn difikirin ku Kubernetes û ekosîstema li dora wê dê çawa pêşve bibin?

Dmitry: Ez gelek li ser vê yekê fikirîm û bersiva min a zelal heye. Ya yekem dewletparêz e - her tiştî, bêwelatî hêsantir e. Kubernetes di destpêkê de di vê yekê de bêtir veberhênan kir, her tişt bi wê dest pê kir. Bêdewlet li Kubernetes hema hema bêkêmasî dixebite, tenê tiştek tune ku meriv gilî bike. Hîn jî gelek pirsgirêk hene, an bêtir, nuans. Her tişt li wir jixwe ji bo me pir baş dixebite, lê ew em in. Dê bi kêmanî du salên din jî bigire ku ev ji bo her kesî bixebite. Ev ne nîşanek hesabkirî ye, lê hesta min ji serê min e.

Bi kurtasî, dewletparêz divê - û dê - pir bi hêz pêş bikeve, ji ber ku hemî serîlêdanên me statûya xwe diparêzin; serlêdanên bêdewlet tune. Ev xeyalek e; hûn her gav hewceyê celebek databas û tiştek din in. Statefull li ser rastkirina her tiştê ku mimkun e, rastkirina hemî xeletiyan, başkirina hemî pirsgirêkên ku niha rû didin - em jê re dibêjin pejirandin.

Asta nenasbûnê, asta pirsgirêkên çaresernebûyî, asta îhtîmala rûbirûbûna tiştekî dê gelekî dakeve. Ev çîrokek girîng e. Û operator - her tiştê ku bi kodkirina mantiqa rêveberiyê ve girêdayî ye, mentiqê kontrolê ji bo ku em karûbarek hêsan bistînin: karûbarê hêsan MySQL, karûbarê hêsan RabbitMQ, karûbarê hêsan Memcache - bi gelemperî, van hemî hêmanên ku em hewce ne ku garantî bibin ku em ji wan bixebitin. box. Ev tenê êşa ku em databasek dixwazin çareser dike, lê em naxwazin wê îdare bikin, an em Kubernetes dixwazin, lê em naxwazin wê îdare bikin.

Ev çîroka pêşveçûna operatorê bi rengek an rengek din dê di çend salên pêş de girîng be.

Ez difikirim ku hêsaniya karanînê divê pir zêde bibe - qutik dê her ku diçe reştir bibe, her ku diçe pêbawertir dibe, bi çîpên hê bêtir sade.

Min carekê li ser YouTube-ê Saturday Night Live li hevpeyvînek kevn bi Isaac Asimov re ji salên 80-an de guhdarî kir - bernameyek mîna Urgant, tenê balkêş. Wan jê pirsî li ser pêşeroja komputeran. Wî got ku pêşeroj di sadebûnê de ye, mîna radyoyê. Radyoya radyoyê bi eslê xwe tiştek tevlihev bû. Ji bo girtina pêlekê, diviya bû ku hûn 15 hûrdeman bişkokan bizivirînin, şemalan bizivirînin û bi gelemperî zanibin ka her tişt çawa dixebite, fîzîka ragihandina pêlên radyoyê fam bike. Di encamê de, di radyoyê de tenê kulmek ma.

Naha di sala 2019 de kîjan radyo? Di otomobîlê de, wergirê radyoyê hemî pêlan û navên qereqolan dibîne. Fizîka pêvajoyê di 100 salan de neguheriye, lê hêsaniya karanîna guherî ye. Niha, û ne tenê niha, jixwe di sala 1980 de, dema ku hevpeyvînek bi Azîmov re hebû, her kesî radyo bikar anî û kes nefikirî ku ew çawa dixebite. Ew her gav xebitî - ev diyariyek e.

Dûv re Azimov got ku ew ê bi komputeran re jî wusa be - hêsaniya karanîna wê zêde bibe. Dema ku di sala 1980-an de we pêdivî bû ku hûn fêr bibin ku hûn bişkojkên li ser komputerê bixin, ew ê di pêşerojê de ne wusa be.

Ez hestek heye ku bi Kubernetes û bi binesaziyê re dê di karanîna hêsan de jî zêdebûnek mezin hebe. Ev, bi dîtina min, eşkere ye - ew li ser rûyê erdê ye.

Bi endezyaran re çi bikin?

- Wê hingê dê çi bibe bi endezyar û rêveberên pergalê yên ku piştgirî didin Kubernetes?

Dmitry: Piştî hatina 1C çi hat serê hesabê? Li ser heman. Berî vê yekê, wan li ser kaxezê jimartin - naha di bernameyê de. Berhemdariya kedê bi fermanên mezinbûnê zêde bûye, lê ked bi xwe winda nebûye. Ger berê 10 endezyaran diavêtin ampûlekê, niha yek bes e.

Hêjmara nermalavê û hejmara peywiran, ji min re dixuye, naha bi rêjeyek zûtir ji ku DevOpsên nû xuya dibin mezin dibe û karbidestî zêde dibe. Di sûkê de niha kêmasiyek taybetî heye û dê demek dirêj bimîne. Dûv re, her tişt dê vegere celebek normalbûnê, ku tê de dê karbidestiya xebatê zêde bibe, dê bêtir û bêtir bê server hebe, dê neuronek bi Kubernetes ve were girêdan, ku dê hemî çavkaniyan tam li gorî hewcedariyê hilbijêrin, û bi gelemperî dê her tiştî bixwe bikin, wekî ku divê - mirov tenê gav bavêje û destwerdanê neke.

Lê kesek hîn jî hewce dike ku biryaran bide. Diyar e ku asta şareza û pisporiya vî kesî bilindtir e. Niha di beşa muhasebeyê de ne hewce ye ku 10 karmend pirtûkên xwe biparêzin da ku destên wan newestin. Ew tenê ne hewce ye. Gelek belge ji hêla pergala rêveberiya belgeya elektronîkî ve bixweber têne şopandin û nas kirin. Yek serekê hesabgirê jîr bes e, jixwe bi jêhatîyên pir mezintir, bi têgihîştina baş.

Bi gelemperî, ev riya ku di hemî pîşesaziyê de diçin. Di otomobîlan de jî heman tişt e: berê, otomobîlek bi mekanîkek û sê ajokaran re hat. Naha, ajotina otomobîlek pêvajoyek hêsan e ku em her roj tê de beşdar dibin. Kes nafikire ku otomobîlek tiştek tevlihev e.

DevOps an endezyariya pergalê dê neçin - xebat û karbidestiya asta bilind dê zêde bibe.

— Min fikreke balkêş jî bihîst ku bi rastî dê kar zêde bibe.

Dmitry: Helbet ji sedî sed! Ji ber ku hêjmara nermalava ku em dinivîsin her ku diçe zêde dibe. Hejmara pirsgirêkên ku em bi nermalavê çareser dikin her ku diçe zêde dibe. Hejmara kar zêde dibe. Naha bazara DevOps bi tirsnak zêde germ bûye. Ev dikare di hêviyên mûçeyê de were dîtin. Bi awayek baş, bêyî ku bikeve nav hûrguliyan, divê xortên ku X-ê dixwazin, navîn ên ku 1,5X-ê dixwazin, û kalên ku 2X-ê dixwazin hebin. Û naha, ger hûn li bazara mûçeya DevOps a Moskowê binerin, ciwanek ji X-ê heya 3X-ê û pîrek ji X-ê heya 3X-ê dixwaze.

Tu kes nizane ew çiqas biha ye. Asta meaş bi pêbaweriya we tê pîvandin - dîngehek bêkêmasî, bi rastî, bazarek pir zêde germ.

Bê guman, ev rewş dê pir zû biguheze - divê hin têrbûn çêbibe. Ev di warê pêşkeftina nermalavê de ne wusa ye - tevî vê yekê ku her kes hewcedarê pêşdebiran e, û her kes hewcedarê pêşdebirên baş e, bazar fam dike ku kî hêjayî çi ye - pîşesazî rûniştiye. Van rojan de DevOps ne wusa ye.

— Li gor tiştên ku min bihîstin, min gihîşt wê encamê ku divê rêvebirê pergalê yê heyî zêde xem neke, lê dema wê ye ku jêhatîbûna xwe pêşde bibe û xwe amade bike ji bo wê yekê ku sibê dê bêtir kar hebe, lê dê pir jêhatîtir be.

Dmitry: Ji sedî sed. Bi gelemperî, em di sala 2019 de dijîn û qaîdeya jiyanê ev e: hînbûna jiyanê - em di tevahiya jiyana xwe de fêr dibin. Ji min re xuya dike ku naha her kes jixwe vê yekê dizane û hîs dike, lê zanibe ne bes e - divê hûn wiya bikin. Her roj divê em biguherin. Ger em vê nekin, zû yan dereng em ê ji aliyê pîşeyê ve bên avêtin.

Ji bo zivirînên tûj ên 180-pileyan amade bin. Ez rewşek ku tiştek radîkal diguhezîne, tiştek nû tê îcad kirin - ew diqewime. Hilperkîn! - û em niha cûda tevdigerin. Girîng e ku meriv ji bo vê yekê amade be û xem neke. Dibe ku sibe her tiştê ku ez dikim dê bibe nepêwist - ne tiştek, min tevahiya jiyana xwe xwendiye û amade me ku tiştek din fêr bibim. Ne pirsgirêk e. Ne hewce ye ku hûn ji ewlehiya kar bitirsin, lê hewce ye ku hûn amade bin ku bi berdewamî tiştek nû fêr bibin.

Daxwaz û deqeyek reklam

- Daxwaza te heye?

Dmitry: Belê, çend daxwazên min hene.

Yekem û bazirganî - bibin abone YouTube. Xwendevanên delal, biçin ser YouTube û bibin aboneya kanala me. Nêzîkî mehekê em ê dest bi berfirehkirina çalak a servîsa vîdyoyê bikin. Em ê di derheqê Kubernetes de gelek naveroka perwerdehiyê, vekirî û cûrbecûr hebin: ji tiştên pratîk, tavilê heya laboratîfan, heya tiştên kûr ên bingehîn ên teorîkî û çawaniya karanîna Kubernetes li ser asta prensîb û qalibên.

Daxwaza bazirganiya duyemîn - biçin GitHub û stêrkan deynin ji ber ku em bi wan dixwin. Ger hûn stêrkan nedin me, em ê tiştekî bixwin. Ew mîna mana di lîstikek komputerê de ye. Em tiştek dikin, em dikin, em hewl didin, kesek dibêje ku ev bisîkletên tirsnak in, kesek ku her tişt bi tevahî xelet e, lê em berdewam dikin û bi tevahî rast tevdigerin. Em pirsgirêkek dibînin, çareser dikin û ezmûna xwe parve dikin. Ji ber vê yekê, stêrkek bide me, ew ji we naçe, lê ew ê ji me re were, ji ber ku em bi wan dixwin.

Daxwaza sêyemîn, girîng, û êdî ne kirrûbir - dev ji baweriya bi çîrokan berde. Hûn pispor in. DevOps pîşeyek pir giran û berpirsiyar e. Li cîhê kar lîstin rawestînin. Bila ew ji bo we bitikîne û hûn ê wê fêm bikin. Bifikirin ku hûn werin nexweşxaneyê, û li wir doktor li ser we ceribandinê dike. Ez fêm dikim ku ev dibe ku ji kesek re acizker be, lê, bi îhtîmalek mezin, ev ne li ser we, lê li ser kesek din e. Ji yên din re jî bêje bila rawestin. Ev bi rastî jîyana me hemûyan xera dike - pir kes dest bi operasyonan, rêvebiran û DevOps-ê dikin wekî merivên ku dîsa tiştek şikandiye. Ev pir caran "şikestî" bû ji ber vê yekê ku em diçûn lîstin, û bi hişmendiyek sar nedinihêrî ku wusa ye, û wusa ye.

Ev nayê wê wateyê ku hûn ceribandinê nekin. Divê em ceribandinê bikin, em bi xwe bikin. Rast be, em bixwe carinan lîstikan dilîzin - ev, bê guman, pir xirab e, lê tiştek mirovî ji me re xerîb nîne. Werin em sala 2019-an wekî salek ceribandinên ciddî, ​​baş-hizirkirî, û ne lîstikên li ser hilberînê ragihînin. Dibe ku wisa be.

- Gelek sipasîya we dikim!

Dmitry: Spas, Vitaly, hem ji bo dema xwe û hem jî ji bo hevpeyvînê. Xwendevanên delal, ger hûn ji nişka ve gihîştin vê nuqteyê, gelek spas. Ez hêvî dikim ku me bi kêmanî du raman ji we re anî.

Di hevpeyivînê de, Dmitry li ser mijara werfê sekinî. Naha ev kêrê Swîsreya gerdûnî ye ku hema hema hemî pirsgirêkan çareser dike. Lê her tim ne wisa bû. Li DevOpsConf  di festîvalê de RIT++ Dmitry Stolyarov dê li ser vê amûrê bi hûrgulî ji we re vebêje. di raporê de "werf amûrê me ye ji bo CI/CD li Kubernetes" dê her tişt hebe: pirsgirêk û nuwazeyên veşartî yên Kubernetes, vebijarkên ji bo çareserkirina van dijwariyan û pêkanîna heyî ya werfê bi hûrgulî. Di 27 û 28ê Gulanê de beşdarî me bibin, em ê amûrên bêkêmasî biafirînin.

Source: www.habr.com

Add a comment