Kubernetes achatora nyika. Rini uye sei?

Mukutarisira DevOpsConf Vitaly Khabarov akabvunzurudzwa Dmitry Stolyarov (distol), technical director uye co-muvambi weFlant kambani. Vitaly akabvunza Dmitry nezve izvo Flant anoita, nezve Kubernetes, ecosystem development, rutsigiro. Takakurukura kuti sei Kubernetes ichidiwa uye kana ichidiwa zvachose. Uye zvakare nezve microservices, Amazon AWS, iyo "Ndichave nerombo rakanaka" nzira yeDevOps, ramangwana reKubernetes pacharo, sei, riini uye sei zvichatora nyika, tarisiro yeDevOps uye izvo mainjiniya anofanirwa kugadzirira mune rakajeka uye riri pedyo remangwana nekurerutsa uye neural network.

Hurukuro yekutanga teerera sepodcast paDevOps Deflop - chiRussian-mutauro podcast nezve DevOps, uye pazasi pane chinyorwa chinyorwa.

Kubernetes achatora nyika. Rini uye sei?

Pano uye pazasi anobvunza mibvunzo Vitaly Khabarov injiniya kubva Express42.

Nezve "Flant"

- Hello Dima. Iwe ndiwe technical director "Flant"uyewo muvambi wayo. Ndapota tiudze kuti kambani inoita sei uye iwe uri mairi?

Kubernetes achatora nyika. Rini uye sei?Dmitry: Kubva kunze zvinoita sekunge isu tiri vakomana vanofamba vachiisa Kubernetes kune wese munhu uye kuita chimwe chinhu nayo. Asi ichocho hachisi chokwadi. Takatanga sekambani inobata neLinux, asi kwenguva yakareba kwazvo basa redu guru rave kushandira kugadzirwa uye yakakwirira-mutoro turnkey mapurojekiti. Kazhinji isu tinovaka iyo yese masikirwo kubva pakutanga uyezve tinozvitarisira kwenguva yakareba, yakareba. Nokudaro, basa guru iro "Flant" rinoita, iro rinogamuchira mari, ndiro kutora mutoro uye kuita turnkey kugadzira.




Ini, semutungamiriri wehunyanzvi uye mumwe wevakatanga kambani, ndinopedza zuva rese nehusiku ndichiedza kufunga nzira yekuwedzera kuwanikwa kwekugadzirwa, kurerutsa kushanda kwayo, kuita kuti hupenyu hwevatungamiriri huve nyore, uye hupenyu hwevagadziri huwedzere kufadza. .

About Kubernetes

- Munguva pfupi yapfuura ndanga ndichiona mishumo yakawanda kubva kuFlant uye nyaya nezve Kubernetes. Wakasvika sei pazviri?

Dmitry: Ndakatotaura nezvazvo kakawanda, asi handinetseki kuzvidzokorora zvachose. Ndinofunga kuti zvakanaka kudzokorora chinyorwa ichi nekuti pane nyonganiso pakati pechikonzero nemhedzisiro.

Taida chombo chaizvo. Takatarisana nematambudziko mazhinji, takatambura, takaakunda nemadondoro akasiyana uye takanzwa kuda chombo. Takafamba nenzira dzakawanda dzakasiyana, takavaka mabhasikoro edu, uye takawana ruzivo. Zvishoma nezvishoma takasvika padanho ratakatanga kushandisa Docker payakangobuda - kutenderera 2013. Panguva yekuonekwa kwayo, isu takanga tatova neruzivo rwakawanda nemidziyo, takanga tatonyora analogue ye "Docker" - mamwe emadondoro edu muPython. Nekuuya kweDocker, zvakave zvichiita kukanda madondoro uye kushandisa yakavimbika uye inotsigirwa nenharaunda mhinduro.

NaKubernetes nyaya yakafanana. Payakatanga kuwedzera simba - kwatiri iyi vhezheni 1.2 - isu takanga tatova neboka remadondoro paShell neChef, izvo isu neimwe nzira takaedza kuronga naDocker. Isu takanga takatarisa zvakanyanya kuRancher uye nedzimwe mhinduro dzakasiyana, asi Kubernetes akabva aoneka, umo zvese zvinoitwa sezvatingadai takazviita kana zvirinani. Hapana chekunyunyuta pamusoro pacho.

Hongu, kune rumwe rudzi rwekusakwana pano, kune rumwe rudzi rwekusakwana ikoko - kune zvakawanda zvekusakwana, uye 1.2 inowanzotyisa, asi ... Kubernetes yakafanana nechivako chiri kuvakwa - iwe unotarisa purojekiti uye unonzwisisa kuti zvichanaka. Kana chivako ikozvino chine nheyo uye pasi mbiri, saka iwe unonzwisisa kuti zviri nani kuti usapinda mukati, asi hapana matambudziko akadaro ne software - unogona kuishandisa kare.

Isu takanga tisina nguva yatakafunga nezve kushandisa Kubernetes kana kwete. Takaimirira kwenguva refu isati yaonekwa, uye takaedza kugadzira analogues isu pachedu.

About Kubernetes

- Iwe unobatanidzwa zvakananga mukuvandudza kweKubernetes pachayo?

Dmitry: Mediocre. Asi, isu tinotora chikamu mukuvandudza kweiyo ecosystem. Isu tinotumira imwe nhamba yezvikumbiro zvekudhonza: kuPrometheus, kune vakasiyana-siyana vanoshanda, kuHelm - kune ecosystem. Nehurombo, handisi kukwanisa kuchengeta zvese zvatinoita uye ndinogona kunge ndakakanganisa, asi hapana dziva rimwe kubva kwatiri kuenda pakati.

- Panguva imwecheteyo, iwe unogadzira akawanda ezvishandiso zvako zvakatenderedza Kubernetes?

Dmitry: Zano ndeiyi: tinoenda tokwevera zvikumbiro kune zvese zvagara zviripo. Kana zvikumbiro zvekudhonza zvikasagashirwa ipapo, tinongozviforoma isu pachedu uye torarama kusvika zvagamuchirwa nezvivakwa zvedu. Zvino, kana yasvika kumusoro kwerwizi, tinodzokera kuvhezheni yekumusoro.

Semuenzaniso, isu tine Prometheus opareta, yatakachinja nayo kumashure nekudzoka kumusoro kwegungano redu pamwe kashanu kare. Isu tinoda imwe mhando yechinhu, takatumira chikumbiro chekudhonza, tinoda kuiburitsa mangwana, asi isu hatidi kumirira kuti iburitswe kumusoro. Saizvozvo, isu tinozviunganidzira isu pachedu, buritsa gungano redu nechimiro chedu, chatinoda nechikonzero chakati, kumasumbu edu ese. Zvadaro, somuenzaniso, vanoishandura kwatiri kumusoro kwerukova nemashoko okuti: "Varume, ngatizviite kune imwe nyaya yakawanda," isu, kana mumwe munhu, tinoipedzisa, uye nekufamba kwenguva inobatana zvakare.

Tinoedza kukudziridza zvose zviripo. Zvinhu zvakawanda zvisati zvavepo, zvisati zvagadzirwa, kana kugadzirwa, asi hazvisati zvave nenguva yekuzviita - tiri kuzviita. Uye kwete nekuti isu tinoda maitiro kana bhasikoro kuvaka seindasitiri, asi nekungoti isu tinoda chishandiso ichi. Mubvunzo unowanzo bvunzwa, sei takaita izvi kana izvo? Mhinduro iri nyore - hongu, nekuti taifanira kuenderera mberi, kugadzirisa rimwe dambudziko rinoshanda, uye takarigadzirisa neiyi tula.

Nzira yacho inogara yakaita seizvi: tinotsvaga zvakanyatsonaka uye, kana tikasawana chero mhinduro pamusoro pekuita trolleybus kubva pachingwa chechingwa, saka tinozvigadzirira chingwa chedu uye trolleybus yedu.

Flanta zvishandiso

- Ndinoziva kuti Flant ikozvino ine addon operators, shell operators, uye dapp / werf maturusi. Sezvandinozvinzwisisa, ichi chiridzwa chimwe chete mune dzakasiyana incarnations. Ini zvakare ndinonzwisisa kuti kune akawanda akawanda akasiyana maturusi mukati meFlaunt. Ichi ichokwadi here?

Dmitry: Tine zvimwe zvakawanda paGitHub. Kubva pane zvandinorangarira ikozvino, tine mepu yemamiriro - pani yeGrafana iyo munhu wese akawana. Inotaurwa munenge muchinyorwa chese chechipiri nezve Kubernetes yekutarisa paMedium. Hazvibviri kutsanangura muchidimbu kuti chimiro chemepu chii - chinoda chinyorwa chakasiyana, asi chinhu chinobatsira chekutarisa mamiriro nekufamba kwenguva, sezvo muKubernetes tinowanzo fanira kuratidza chimiro nekufamba kwenguva. Isu tinewo LogHouse - ichi chinhu chakavakirwa paClickHouse uye dema mashiripiti ekuunganidza matanda muKubernetes.

Zvakawanda zvekushandisa! Uye kuchave kwakatonyanya, nekuti akati wandei emukati mhinduro achaburitswa gore rino. Pakati peakanyanya kukura akavakirwa pane iyo addon opareta, kune boka rema addons eKubernetes, ala maitiro ekuisa nemazvo sert maneja - chishandiso chekutarisira zvitupa, nzira yekuisa nemazvo Prometheus neboka rezvishandiso - izvi zvinenge makumi maviri akasiyana. mabhinari anoendesa kunze data uye kuunganidza chimwe chinhu, kune iyi Prometheus ine yakanyanya kushamisa magiraidhi uye ziviso. Zvese izvi zvinongori boka remaaddons kuKubernetes, akaiswa musumbu, uye anotendeuka kubva kune nyore kuenda kunotonhorera, yakadzikama, otomatiki, umo nyaya dzakawanda dzakatogadziriswa. Hongu, tinoita zvakawanda.

Ecosystem Development

"Ini zvinoratidzika kwandiri kuti uyu mupiro wakakura mukuvandudzwa kwechiridzwa ichi uye nzira dzekushandisa." Unogona here kufungidzira kuti ndiani mumwe angaita mupiro wakafanana mukusimudzira ecosystem?

Dmitry: MuRussia, pamakambani anoshanda mumusika wedu, hapana kana ari padyo. Ehe, ichi chirevo chine ruzha, nekuti kune vatambi vakuru vakaita seMail neYandex - ivo vari kuitawo chimwe chinhu neKubernetes, asi kunyangwe ivo havaswedere pedyo nemupiro wemakambani munyika yose anoita zvakawanda kupfuura isu. Zvakaoma kuenzanisa Flant, ine vashandi ve80 vanhu, uye Red Hat, iyo ine 300 mainjiniya paKubernetes chete, kana ndisingakanganisi. Zvakaoma kuenzanisa. Tine vanhu 6 mudhipatimendi reRnD, kusanganisira ini, avo vakacheka maturusi edu ese. 6 vanhu vachipesana ne300 Red Hat mainjiniya - zvakaoma neimwe nzira kuenzanisa.

- Zvisinei, kana kunyange ava vanhu 6 vanogona kuita chimwe chinhu chinobatsira uye chinoparadzanisa, pavanotarisana nedambudziko rinoshanda uye kupa mhinduro kunharaunda - nyaya inofadza. Ini ndinonzwisisa kuti mumakambani makuru etekinoroji, kwavanenge vaine yavo Kubernetes yekuvandudza uye timu yekutsigira, mumusimboti, iwo maturusi akafanana anogona kugadzirwa. Uyu muenzaniso kwavari wezvinogona kuvandudzwa uye kupihwa kunharaunda, zvichipa kukurudzira kunharaunda yese inoshandisa Kubernetes.

Dmitry: Ichi chingangove chinhu chemusanganisi, chimiro chayo. Tine mapurojekiti akawanda uye tinoona akawanda akasiyana mamiriro. Kwatiri, nzira huru yekugadzira kukosha kwakawedzerwa ndeyekuongorora nyaya idzi, kutsvaga kufanana uye kuita kuti zvive zvakachipa sezvinobvira kwatiri. Tiri kushanda nesimba pane izvi. Zvakandiomera kuti nditaure nezveRussia nenyika, asi isu tine makumi mana DevOps mainjiniya mukambani inoshanda paKubernetes. Handifungi kuti kune makambani akawanda muRussia ane nhamba inofananidzwa yenyanzvi dzinonzwisisa Kubernetes, kana iripo zvachose.

Ini ndinonzwisisa zvese nezve zita rebasa DevOps mainjiniya, munhu wese anonzwisisa zvese uye anoshandiswa kufonera DevOps mainjiniya DevOps mainjiniya, isu hatizokurukura izvi. Ese aya makumi mana anoshamisa maDevOps mainjiniya anotarisana nekugadzirisa matambudziko mazuva ese, isu tinongoongorora chiitiko ichi uye kuyedza kuita zvakazara. Tinonzwisisa kuti kana ikaramba iri mukati medu, ipapo mugore kana maviri chimbo chacho chichange chisina maturo, nokuti pane imwe nzvimbo munharaunda Tula yakagadzirira ichaonekwa. Iko hakuna chikonzero chekuunganidza ichi chiitiko mukati - chiri kungopedza simba uye nguva mu dev/null. Uye isu hatinzwi tsitsi nazvo zvachose. Isu tinoshambadza zvese nekunakidzwa kukuru uye tinonzwisisa kuti inoda kuburitswa, kuvandudzwa, kusimudzirwa, kusimudzirwa, kuitira kuti vanhu vashandise uye vawedzere ruzivo rwavo - ipapo zvese zvinokura uye hupenyu. Zvino mushure memakore maviri chiridzwa hachipindi mumarara. Hazvisi urombo kuramba uchidurura musimba, nokuti zviri pachena kuti mumwe munhu ari kushandisa mudziyo wako, uye pashure pemakore maviri munhu wose ari kuishandisa.

Ichi chikamu chehurongwa hwedu hombe nedapp/werf. Handiyeuke patakatanga kuigadzira, zvinoita senge makore matatu apfuura. Pakutanga, yaiwanzova pagoko. Hwaive humbowo hwepamusoro hwepfungwa, isu takagadzirisa mamwe ematambudziko edu - akashanda! Asi kune matambudziko nehoko, hazvibviri kuwedzera iyo mberi, kuronga pane shell ndeimwe basa. Takanga tine tsika yekunyora muRuby, maererano naizvozvo, takagadzirisa chimwe chinhu muRuby, yakagadziridzwa, yakagadziridzwa, yakagadziridzwa, uye yakamhanyira kune chokwadi chokuti nharaunda, boka revanhu risingatauri "tinoda kana kuti hatidi, ” achisimudza mhino yake kuna Ruby, zvinosekesa sei izvozvo? Takaona kuti tinofanirwa kunyora zvese izvi muGo kuti tisangane nepfungwa yekutanga pane yekutarisa: DevOps chishandiso chinofanira kunge chiri bhanari yakamira. Kuve Go kana kusakosha zvakanyanya, asi bhanari yakanyorwa muGo iri nani.

Takapedza simba redu, takanyora zvakare dapp muna Go ndokuidaidza kuti werf. Iyo Dapp haichatsigirwi, haina kugadzirwa, inoshanda mune imwe yazvino vhezheni, asi pane yakakwana yekusimudzira nzira kuenda kumusoro, uye unogona kuitevera.

Sei dapp yakagadzirwa?

- Unogona here kutiudza muchidimbu kuti sei dapp yakagadzirwa, ndeapi matambudziko ainogadzirisa?

Dmitry: Chikonzero chekutanga chiri mugungano. Pakutanga, takava nezvinetso zvakakomba nekuvaka apo Docker yakanga isina hunyanzvi hwematanho akawanda, saka takaita nhanho dzakawanda tiri tega. Ipapo takava neboka rakawanda nyaya nekuchenesa mufananidzo. Munhu wose anoita CI / CD, nokukurumidza kupfuura gare gare, anotarisana nechinetso chokuti kune boka remifananidzo yakaunganidzwa, unoda neimwe nzira kuchenesa izvo zvisingadiwi uye kusiya izvo zvinodiwa.

Chikonzero chechipiri kutumirwa. Hongu, kune Helm, asi inongogadzirisa mamwe ematambudziko. Sezvineiwo, zvakanyorwa kuti "Helm ndiye Package Maneja weKubernetes." Chaizvoizvo chii chinonzi "the". Kune zvakare mazwi ekuti "Package Maneja" - chii chakajairika tarisiro kubva kuPakeji Maneja? Isu tinoti: "Package Maneja - isa iyo package!" uye isu tinotarisira kuti atiudze: "Pasuru yaunzwa."

Zvinonakidza kuti tinoti: "Helm, isa pasuru," uye paanopindura kuti akaiisa, zvinoitika kuti achangotanga kuisirwa - akataura Kubernetes: "Tangisa chinhu ichi!", Uye kunyangwe chakatanga kana kwete. , ingave inoshanda kana kwete, Helm haigadzirise nyaya iyi zvachose.

Zvinoitika kuti Helm ingori chinyorwa preprocessor inotakura data muKubernetes.

Asi sechikamu che chero kutumirwa, isu tinoda kuziva kuti application yakaburitswa kugadzirwa here kana kuti kwete? Yakatenderedzwa kune prod zvinoreva kuti application yatamira ipapo, iyo vhezheni itsva yaiswa, uye zvirinani haina kubondera ipapo uye inopindura nemazvo. Helm haigadzirise dambudziko iri nenzira ipi zvayo. Kuti uzvigadzirise, iwe unofanirwa kushandisa simba rakawanda, nekuti iwe unofanirwa kupa Kubernetes murairo wekuburitsa uye kutarisa zviri kuitika ipapo - ingave yakatumirwa kana kukungurutswa. Uye kune zvakare akawanda mabasa ane chekuita nekuendesa, kuchenesa, uye kuungana.

Zvirongwa

Gore rino tichatanga budiriro yemuno. Isu tinoda kuzadzisa izvo zvaimbove muVagrant - isu takanyora "vagrant kumusoro" uye isu takaisa chaiwo muchina. Tinoda kusvika padanho rekuti pane chirongwa muGit, tinonyora "werf kumusoro" ipapo, uye inounza kopi yemunharaunda yepurojekiti iyi, yakaiswa mune yemuno mini-Kub, iine ese madhairekitori ari nyore kusimudzira akabatana. . Zvichienderana nemutauro wekusimudzira, izvi zvinoitwa zvakasiyana, asi zvakadaro, kuitira kuti kusimudzira kwenzvimbo kugone kuitwa zviri nyore pasi pemafaira akaiswa.

Nhanho inotevera kwatiri ndeye kuisa mari mukureruka kune vanogadzira. Kurumidza kuendesa purojekiti munharaunda nechishandiso chimwe, igadzirise, isainde muGit, uye inoburitsawo padanho kana bvunzo, zvichienderana nemapombi, wobva washandisa chishandiso chimwe chete kuenda kunogadzira. Kubatana uku, kubatana, kuberekana kwezvivakwa kubva kunharaunda yenzvimbo kusvika kutengesa ipfungwa yakakosha kwatiri. Asi izvi hazvisati zvave muwerf - isu tiri kuronga kuzviita.

Asi iyo nzira ye dapp/werf yagara yakafanana neyaKubernetes pakutanga. Takasangana nematambudziko, tikaagadzirisa nema workaround - takauya neimwe mhinduro pachedu pagoko, pane chero chinhu. Ipapo vakaedza neimwe nzira kutwasanudza maworkaround aya, kusanganisa uye nekuabatanidza kuita mabhinari mune iyi kesi, yatinongogovana.

Pane imwe nzira yekutarisa nyaya iyi yese, ine analogies.

Kubernetes furemu yemotokari ine injini. Iko hakuna magonhi, girazi, redhiyo, muti weKisimusi - hapana zvachose. Ingori furemu uye injini. Uye kune Helm - iyi ndiyo vhiri. Kutonhorera - kune chidhiraivho, asi iwe unodawo pini yekutungamirira, chidhiraivho, gearbox uye mavhiri, uye haugoni kuita pasina ivo.

Panyaya yewerf, ichi chimwe chikamu cheKubernetes. Chete ikozvino mune alpha vhezheni ye werf, semuenzaniso, Helm inounganidzwa mukati mewerf, nekuti taneta nekuzviita isu pachedu. Pane zvikonzero zvakawanda zvekuita izvi, ini ndinokuudza zvakadzama nezve chikonzero nei isu takagadzira iyo helm yese pamwe neyemukati werf. pamushumo weRIT ++.

Iye zvino werf inhengo yakabatanidzwa. Tinowana vhiri rakapedzwa, pini yekutungamirira - handisi kunyatsogona pamotokari, asi iyi ibhuroka hombe inotogadzirisa matambudziko akasiyana-siyana. Isu hatifanire kuenda kuburikidza nekabhuku isu pachedu, sarudza chikamu chimwe kune chimwe, funga nezve maitiro ekuabatanidza pamwechete. Isu tinowana yakagadzirira-yakagadzirwa musanganiswa inogadzirisa nhamba huru yezvinetso kamwechete. Asi mukati mayo yakavakwa kubva kune imwechete yakavhurika sosi zvikamu, ichiri kushandisa Docker yekuungana, Helm kune mamwe maficha, uye kune akati wandei mamwe maraibhurari. Ichi chishandiso chakabatanidzwa kuti uwane inotonhorera CI/CD kubva mubhokisi nekukurumidza uye zviri nyore.

Kubernetes yakaoma kuchengetedza here?

- Iwe unotaura nezve chiitiko chawakatanga kushandisa Kubernetes, iyi furemu yako, injini, uye kuti iwe unogona kuturika zvakawanda zvakasiyana zvinhu pairi: muviri, chidhiraivho, screw pane pedals, zvigaro. Mubvunzo unomuka - kwakaoma sei Kubernetes rutsigiro kwauri? Iwe une ruzivo rwakawanda, inguva yakawanda sei uye zviwanikwa zvaunoshandisa kutsigira Kubernetes uri wega kubva kune zvimwe zvese?

Dmitry: Uyu mubvunzo wakaoma uye kupindura, isu tinofanirwa kunzwisisa kuti rutsigiro chii uye zvatinoda kubva Kubernetes. Pamwe unogona kuburitsa?

- Sekuziva kwangu uye sezvandinoona, ikozvino zvikwata zvakawanda zvinoda kuyedza Kubernetes. Munhu wose anozvisungirira kwazviri, anozviisa pamabvi avo. Ndine manzwiro ekuti vanhu havawanzonzwisisa kuoma kweiyo system.

Dmitry: Zvakafanana.

- Zvakaoma sei kutora nekuisa Kubernetes kubva kutanga kuitira kuti kugadzirwa kwakagadzirira?

Dmitry: Unofunga kuti zvakaoma sei kuisa mwoyo? Ndinonzwisisa kuti uyu mubvunzo wekukanganisa. Kushandisa scalpel uye kusakanganisa hakuna kuoma. Kana vakakuudza kwekucheka uye kupi kusona, ipapo nzira yacho pachayo haina kuoma. Zvakaoma kuvimbisa nguva nenguva kuti zvese zvichafamba.

Kuisa Kubernetes uye kuita kuti ishande zviri nyore: chick! - yakaiswa, kune akawanda nzira dzekuisa. Asi chii chinoitika kana matambudziko amuka?

Mibvunzo inogara ichimuka - chii chatisati tafunga nezvazvo? Zvii zvatisati taita? Ndeipi Linux kernel paramita yakatsanangurwa zvisizvo? Ishe, takambovataura here?! Ndezvipi zveKubernetes zvatakaendesa uye zvatisina? Zviuru zvemibvunzo zvinomuka, uye kuti uzvipindure, unofanirwa kupedza makore 15-20 muindasitiri iyi.

Ndine muenzaniso uchangoburwa pane iyi nyaya inogona kuratidza zvinoreva dambudziko "Kubernetes yakaoma kuchengetedza?" Imwe nguva yapfuura takafunga zvakadzama kana tichifanira kuedza kushandisa Cilium setiweki muKubernetes.

Regai nditsanangure kuti Kiriamu chii. Kubernetes ine akawanda akasiyana mashandisirwo eiyo networking subsystem, uye imwe yacho inotonhorera - Cilium. Chii chiri revo yaro? Mune kernel, imwe nguva yapfuura zvakave zvichigoneka kunyora zvikorekedzo zve kernel, iyo neimwe nzira kana imwe inopinda netiweki subsystem uye akasiyana mamwe ma subsystems, uye inobvumidza iwe kupfuura machunks makuru mu kernel.

Iyo Linux kernel munhoroondo ine ip rout, yakawandisa, mabhiriji uye akawanda akasiyana ekare zvinhu zvine makore gumi nemashanu, makumi maviri, makumi matatu ekuzvarwa. Kazhinji, vanoshanda, zvinhu zvose zvakanaka, asi zvino vakaunganidza midziyo, uye inoratidzika seshongwe yezvidhinha gumi neshanu pamusoro peumwe neumwe, uye iwe unomira pairi pagumbo rimwe - kunzwa kunoshamisa. Iyi sisitimu yakagadziridzwa kare ine akawanda nuances, senge appendix mumuviri. Mune mamwe mamiriro ezvinhu kune nyaya dzekuita, semuenzaniso.

Kune BPF inoshamisa uye kugona kunyora zvikorekedzo zve kernel - vakomana vakanyora zvikorekedzo zvavo zve kernel. Iyo pasuru inouya muLinux kernel, vanoiburitsa ipapo painoisa, vanoigadzira ivo pachavo sezvavanofanira kuita pasina mabhiriji, pasina TCP, isina IP stack - muchidimbu, vachipfuura zvese zvakanyorwa muLinux kernel, vobva vapfira mate. kunze mumudziyo.

Chii chaitika? Kuita kwakanyanya kunotonhorera, kutonhorera maficha - kungotonhorera! Asi isu tinotarisa izvi toona kuti pamushini wega wega pane chirongwa chinobatana neKubernetes API uye, zvichibva pane data yainogamuchira kubva kuAPI iyi, inogadzira C kodhi uye inounganidza mabhinari ayo anoisa mu kernel kuitira kuti hoko idzi dzishande. munzvimbo ye kernel.

Chii chinoitika kana chimwe chinhu chisina kumira zvakanaka? Hatizivi. Kuti unzwisise izvi, unofanirwa kuverenga iyi code yose, kunzwisisa zvose zvinonzwisisika, uye zvinoshamisa kuti zvakaoma sei. Asi, kune rimwe divi, kune aya mabhiriji, mafirita mambure, ip rout - ini handina kuverenga yavo kodhi kodhi, uye handinawo mainjiniya makumi mana anoshanda mukambani yedu. Zvichida vashomanana chete vanonzwisisa zvimwe zvikamu.

Uye chii chakasiyana? Zvinoitika kuti kune ip rout, iyo Linux kernel, uye kune chishandiso chitsva - chinoita mutsauko upi, isu hatinzwisise imwe kana imwe. Asi isu tinotya kushandisa chimwe chinhu chitsva - nei? Nokuti kana chigadzirwa chacho chine makore makumi matatu, zvino mumakore makumi matatu zvipembenene zvose zvakawanikwa, zvikanganiso zvose zvakatsikwa uye haufaniri kuziva pamusoro pezvose - zvinoshanda sebhokisi dema uye nguva dzose inoshanda. Wese munhu anoziva kuti ndeipi diagnostic screwdriver yekunamatira munzvimbo ipi, iyo tcpdump yekumhanya panguva ipi. Wese munhu anoziva diagnostic utilities uye anonzwisisa kuti iyi seti yezvikamu inoshanda sei muLinux kernel - kwete kuti inoshanda sei, asi mashandisiro ayo.

Uye iyo inotonhorera Cilium haisati yasvika makore makumi matatu, haisati yachembera. Kubernetes ane dambudziko rimwe chete, kopi. Iyo Cilium yakaiswa zvakakwana, iyo Kubernetes yakaiswa zvakakwana, asi kana chimwe chinhu chisina kunaka mukugadzirwa, iwe unokwanisa kukurumidza kunzwisisa mumamiriro ezvinhu akaoma chii chakakanganisika?

Kana tichiti zvakaoma kuchengetedza Kubernetes - kwete, zviri nyore, uye hongu, zvakaoma zvikuru. Kubernetes inoshanda zvikuru pachayo, asi ine bhiriyoni nuances.

Nezve "Ndichava nerombo" nzira

- Pane here makambani uko aya nuances anenge akavimbiswa kuoneka? Ngatitii Yandex kamwe kamwe inotamisa ese masevhisi kuKubernetes, pachava nemutoro wakakura ipapo.

Dmitry: Kwete, iyi haisi hurukuro pamusoro pemutoro, asi pamusoro pezvinhu zviri nyore. Semuenzaniso, isu tine Kubernetes, isu takaisa application ipapo. Unoziva sei kuti iri kushanda? Iko hakuna chigadziro chakagadzirirwa-chakagadzirwa kuti unzwisise kuti iyo application haisi kupaza. Iko hakuna yakagadzirira-yakagadzirwa sisitimu inotumira yambiro; iwe unofanirwa kugadzirisa idzi ziviso uye yega yega chirongwa. Uye isu tiri kugadzirisa Kubernetes.

Ndine Ubuntu 16.04. Unogona kutaura kuti iyi vhezheni yekare, asi isu tichiri pairi nekuti iLTS. Pane systemd, iyo nuance yekuti haina kuchenesa C-mapoka. Kubernetes anotangisa mapodhi, anogadzira maC-mapoka, obva adzima mapodhi, uye neimwe nzira zvinozoitika - handiyeuke izvo, urombo - izvo systemd zvimedu zvinosara. Izvi zvinotungamirira kukuti nekufamba kwenguva, chero motokari inotanga kuderera zvakasimba. Uyu hausi kana mubvunzo nezve highload. Kana mapodhi echigarire akatangwa, semuenzaniso, kana paine Cron Job inogara ichigadzira mapodhi, ipapo muchina une Ubuntu 16.04 uchatanga kudzikira mushure mesvondo. Pachave neavhareji yakakwira yekuremerwa nekuda kwekuti boka reC-mapoka rakagadzirwa. Iri ndiro dambudziko iro chero munhu anongoisa Ubuntu 16 uye Kubernetes pamusoro achasangana nazvo.

Ngatitii anogadzirisa systemd kana chimwe chinhu, asi muLinux kernel kusvika 4.16 zvinotonakidza - kana ukadzima C-mapoka, anodonhedza mukernel uye haana kunyatso kubviswa. Naizvozvo, mushure memwedzi wekushanda pamushini uyu, hazvizogoneke kutarisa ndangariro nhamba dzemoto. Isu tinotora faira, torikungurutsira muchirongwa, uye faira rimwe rinokunguruka kwemasekonzi gumi nemashanu, nekuti kernel inotora nguva yakareba kuverenga miriyoni yemapoka eC mukati mayo, anoita seakadzimwa, asi kwete - ari kubuda. .

Pachine zvakawanda zvezvinhu zvidiki zvakadaro pano nepapo. Iyi haisi nyaya iyo makambani makuru anogona kutarisana neimwe nguva pasi pemitoro inorema - kwete, inyaya yezvinhu zvemazuva ese. Vanhu vanogona kurarama seizvi kwemwedzi - vakaisa Kubernetes, vakaisa application - inoita kunge inoshanda. Kune vanhu vakawanda izvi zvakajairika. Ivo havatomboziva kuti iyi application ichaparara nekuda kwechimwe chikonzero, ivo havagamuchire yambiro, asi kwavari izvi ndizvo zvakajairwa. Pakutanga, taigara pamashini chaiwo tisingatarise, ikozvino takatamira kuKubernetes, zvakare tisina kutarisa - ndeupi mutsauko?

Mubvunzo ndewekuti kana tichifamba pamusoro peaizi, hatimbozivi ukobvu hwayo kunze kwekunge taiyera pachine nguva. Vanhu vazhinji vanofamba uye havanetseki, nekuti vakambofamba.

Kubva pakuona kwangu, iyo nuance uye kuoma kwekushandisa chero system ndeyekuona kuti ukobvu hwechando hwakakwana zvakakwana kugadzirisa matambudziko edu. Izvi ndizvo zvatiri kutaura nezvazvo.

MuIT, zvinoratidzika kwandiri, kune dzakawanda "Ndichava nerombo" nzira. Vanhu vazhinji vanoisa software uye vanoshandisa maraibhurari esoftware netariro yekuti vachaita rombo rakanaka. Kazhinji, vanhu vazhinji vane rombo rakanaka. Ndosaka zvichishanda.

- Kubva pakuongorora kwangu kwekusavimbika, zvinoita seizvi: kana njodzi dzakwira, uye chishandiso chinofanirwa kushanda, ipapo rutsigiro runodiwa kubva kuFlaunt, pamwe kubva kuRed Hat, kana iwe unoda yako wega timu yemukati yakatsaurirwa kuna Kubernetes, iyo yakagadzirira. kuidhonza.

Dmitry: Sezvineiwo, izvi ndizvo. Kupinda muKubernetes nyaya yechikwata chidiki iwe pachako kunosanganisira huwandu hwenjodzi.

Tinoda midziyo here?

- Unogona here kutiudza kuti Kubernetes yakapararira sei muRussia?

Dmitry: Handina iyi data, uye handina chokwadi kuti pane mumwe munhu anayo. Isu tinoti: "Kubernetes, Kubernetes," asi pane imwe nzira yekutarisa nyaya iyi. Ini zvakare handizive kuti midziyo yakapararira sei, asi ini ndinoziva nhamba kubva kumishumo paInternet kuti makumi manomwe muzana emidziyo akarongwa naKubernetes. Yaive sosi yakavimbika yemuenzaniso wakakura kwazvo pasi rese.

Zvino mumwe mubvunzo - tinoda midziyo here? Kunzwa kwangu pachedu uye chinzvimbo chese cheFlant kambani ndechekuti Kubernetes ndeye de facto standard.

Hapazovi nechinhu kunze kweKubernetes.

Uyu ndiwo mhedziso yemutambo-inoshandura mumunda wemanejimendi manejimendi. Ingori mhedziso - ndizvozvo, hapasisina Ansible, Chef, chaiwo muchina, Terraform. Handisi kutaura pamusoro penzira dzekare dzakabatana dzepurazi. Kubernetes is absolute change, uye zvino zvichangodaro chete.

Zviri pachena kuti kune vamwe zvinotora makore akati wandei, uye kune vamwe makumi emakore, kuti vaone izvi. Handina mubvunzo kuti hapazovi nechinhu kunze kweKubernetes uye chitarisiko chitsva ichi: isu hatichakuvadza sisitimu yekushandisa, asi shandisa. zvivakwa sekodhi, kwete chete nekodhi, asi neyml - inotsanangurwa inotsanangurwa zvivakwa. Ndine manzwiro ekuti zvichagara zvakadaro.

- Ndiko kuti, iwo makambani asati achinja kuKubernetes anozochinja kwairi kana kuramba ari mukukanganwa. Ndakakunzwisisa zvakanaka?

Dmitry: Izvi zvakare hazvisi zvechokwadi zvachose. Semuenzaniso, kana isu tiine basa rekumhanyisa sevha yeDNS, saka inogona kumhanya paFreeBSD 4.10 uye inogona kushanda zvakakwana kwemakore makumi maviri. Ingoshanda uye ndizvozvo. Zvichida mumakore makumi maviri chimwe chinhu chichada kuvandudzwa kamwe chete. Kana isu tiri kutaura nezve software mune iyo fomati yatakatanga uye inoshanda kwemakore mazhinji pasina chero zvigadziriso, pasina kuita shanduko, saka, hongu, hapazove neKubernetes. Haadiwe ikoko.

Zvese zvine chekuita neCI / CD - pese painodiwa Kuendeswa Kunoenderera, kwaunoda kuvandudza shanduro, kuita shanduko inoshanda, chero kwaunoda kuvaka kukanganisa kushivirira - chete Kubernetes.

Nezve microservices

- Pano ndine dissonance zvishoma. Kuti ushande naKubernetes, unoda rubatsiro rwekunze kana rwemukati - iyi ndiyo pfungwa yekutanga. Chechipiri, kana isu tichingotanga budiriro, isu tiri diki yekutanga, isu hatisati tambove nechero chinhu, budiriro yeKubernetes kana microservice architecture kazhinji inogona kuve yakaoma uye isingagare ichiruramisa hupfumi. Ini ndinofarira maonero ako - ekutanga anofanirwa kutanga kunyorera Kubernetes kubva kutanga, kana kuti vanogona kunyora monolith, vobva vangouya kuKubernetes?

Dmitry: Mubvunzo wakanaka. Ndine hurukuro nezve microservices "Microservices: Size Matters." Nguva zhinji ndakasangana nevanhu vachiedza kurovera mbambo nemaikorosikopu. Iyo nzira pachayo ndeyechokwadi; isu pachedu tinogadzira yedu yemukati software nenzira iyi. Asi kana waita izvi, unofanira kunyatsonzwisisa zvauri kuita. Izwi randinovenga zvakanyanya nezve microservices ndere "micro." Nhoroondo, izwi iri rakatangira ipapo, uye nekuda kwechimwe chikonzero vanhu vanofunga kuti micro idiki kwazvo, isingasviki millimeter, senge micrometer. Izvi zvakaipa.

Semuenzaniso, pane monolith yakanyorwa nevanhu mazana matatu, uye munhu wese akabatanidzwa mukusimudzira anonzwisisa kuti kune matambudziko ipapo, uye inofanira kuputswa kuita zvidimbu zviduku - zvinenge zvidimbu gumi, chimwe nechimwe chakanyorwa nevanhu makumi matatu. mune shoma shanduro. Izvi zvakakosha, zvakakosha uye zvinotonhorera. Asi kana kutanga kunouya kwatiri, uko 300 vakomana vanotonhorera uye vane tarenda vakanyora 10 microservices pamabvi avo, pese pandinotarisa Corvalol.

Zvinoratidzika kwandiri kuti izvi zvakatotaurwa pamusoro pezviuru zvenguva - takawana monolith yakagoverwa mune imwe nzira kana imwe. Izvi hazvina kururamiswa mune zvehupfumi, zvakanyanya kuoma mune zvese mune zvese. Ndangoona izvi kakawanda zvekuti zvinondirwadza, saka ndinoramba ndichitaura nezvazvo.

Kumubvunzo wekutanga, pane kupesana pakati pekuti, kune rumwe rutivi, Kubernetes inotyisa kushandisa, nokuti hazvisi pachena kuti chii chingaputsa ipapo kana kusashanda, kune rumwe rutivi, zviri pachena kuti zvinhu zvose zvinoenda ikoko. uye hapana chimwe kunze kweKubernetes chichavapo . Mhinduro - kuyera huwandu hwekubatsira hunouya, huwandu hwemabasa aunogona kugadzirisa. Izvi zviri kune rumwe rutivi rwechiyero. Kune rumwe rutivi, kune njodzi dzinobatanidzwa nekuderera kana nekuderera kwekupindura nguva, chiyero chekuwanikwa - nekuderera kwezviratidzo zvekushanda.

Hezvinoi - kana isu tinofamba nekukurumidza, uye Kubernetes inotibvumira kuita zvinhu zvakawanda nekukurumidza uye zvirinani, kana isu tinoshandisa yakavimbika, yakaedzwa-nguva mhinduro, asi kufamba zvishoma nezvishoma. Iyi isarudzo iyo kambani yega yega inofanirwa kuita. Unogona kufunga nezvazvo senzira yemusango - kana uchifamba kekutanga, unogona kusangana nenyoka, ingwe kana mbira inopenga, uye kana wafamba kagumi, watsika nzira, wakabviswa. mapazi uye kufamba nyore. Nguva imwe neimwe nzira inowedzera. Zvadaro inzira yeasphalt, uye gare gare boulevard yakanaka.

Kubernetes haina kumira. Mubvunzo zvakare: Kubernetes, kune rumwe rutivi, ndeye 4-5 mabhinari, kune rumwe rutivi, ndiyo yose ecosystem. Iyi ndiyo sisitimu yekushandisa yatinayo pamichina yedu. Ichi chii? Ubuntu kana Curios? Iyi ndiyo Linux kernel, boka rezvimwe zvinhu. Zvinhu zvese izvi apa, imwe nyoka ine uturu yakakandwa kunze kwemugwagwa, kwakaiswa fence ipapo. Kubernetes iri kukura nekukurumidza uye zvine simba, uye huwandu hwenjodzi, huwandu hwezvisingazivikanwe huri kuderera mwedzi wega wega uye, nekudaro, zviyero izvi zviri kuenzanisa.

Kupindura mubvunzo wezvinofanira kuita kutanga, ndingati - uya kuFlaunt, kubhadhara 150 zviuru zveRubles uye uwane turnkey DevOps basa riri nyore. Kana iwe uri wekutanga diki nevagadziri vashoma, izvi zvinoshanda. Panzvimbo pekuhaya yako wega DevOps, uyo anozoda kudzidza kugadzirisa matambudziko ako uye kubhadhara muhoro panguva ino, iwe uchawana mhinduro yekuchinja kune zvese nyaya. Hongu, pane zvimwe zvisingabatsiri. Isu, semutengesi, hatigone kubatanidzwa zvakanyanya uye kupindura nekukurumidza kune shanduko. Asi isu tine hunyanzvi hwakawanda uye maitiro akagadzirira. Isu tinovimbisa kuti mune chero mamiriro ezvinhu isu tichakurumidza kuzviona uye kumutsa chero Kubernetes kubva kuvakafa.

Ini ndinokurudzira zvakasimba kuburitsa kune ekutanga uye akasimbisa mabhizinesi anosvika saizi kwaunogona kutsaurira boka revanhu gumi kumabasa, nekuti kana zvisina kudaro hapana chikonzero. Zvechokwadi zvine musoro kuburitsa izvi.

NezveAmazon neGoogle

- Ko muenzi kubva kune mhinduro kubva kuAmazon kana Google angaonekwa seanobuda kunze?

Dmitry: Hongu, hongu, izvi zvinogadzirisa akati wandei. Asi zvakare pane nuances. Unosisira kuzwisisa mashandisirwo azvo. Semuenzaniso, kune zviuru zvidiki zvinhu mubasa reAmazon AWS: iyo Load Balancer inoda kudziyirwa kana chikumbiro chinofanira kunyorwa pachine nguva kuti "varume, isu tichagamuchira traffic, mudziyire iyo Load Balancer kwatiri!" Iwe unofanirwa kuziva nuances idzi.

Paunotendeukira kune vanhu vane hunyanzvi mune izvi, unowana zvinenge zvese zvakajairwa zvinhu zvakavharwa. Iye zvino tine mainjiniya makumi mana, pakupera kwegore vangangove makumi matanhatu - tasangana nezvinhu zvese izvi. Kunyangwe tikasangana nedambudziko iri zvakare pane imwe purojekiti, tinokurumidza kubvunzana uye kuziva nzira yekuigadzirisa.

Zvichida mhinduro ndeyekuti - hongu, nyaya inotambirwa inoita kuti chikamu chive nyore. Mubvunzo ndewekuti wakagadzirira here kuvimba nevatambi ava uye kuti vachagadzirisa matambudziko ako here. Amazon neGoogle vakaita zvakanaka. Panyaya dzedu dzese - chaizvo. Hatisisina zvimwe zvakanaka zvakaitika. Mamwe makore ese atakaedza kushanda nawo anogadzira matambudziko mazhinji - Ager, uye zvese zviri muRussia, uye marudzi ese eOpenStack mukuita kwakasiyana: Headster, Overage - chero chaunoda. Zvose zvinogadzira matambudziko ausingadi kugadzirisa.

Naizvozvo, mhinduro ndihongu, asi, kutaura zvazviri, hakuna akawanda akura akagashirwa mhinduro.

Ndiani anoda Kubernetes?

- Uye zvakadaro, ndiani anoda Kubernetes? Ndiani anofanirwa kutochinjira kuKubernetes, ndiani mutengi weFlaunt anouya akananga Kubernetes?

Dmitry: Uyu mubvunzo unonakidza, nekuti izvozvi, mushure meKubernetes, vanhu vazhinji vanouya kwatiri: "Varume, tinoziva kuti muri kuita Kubernetes, tiitire isu!" Isu tinovapindura kuti: "Varume, isu hatiite Kubernetes, tinoita prod uye zvese zvine chekuita nazvo." Nekuti parizvino hazvigoneke kugadzira chigadzirwa pasina kuita ese CI / CD uye iyi nyaya yese. Munhu wese akabva pakupatsanurwa kwatinoitwa nebudiriro, tozoshandiswa nekushandiswa.

Vatengi vedu vanotarisira zvinhu zvakasiyana, asi munhu wese akamirira chimwe chishamiso chakanaka chekuti vane mamwe matambudziko, uye zvino - hop! - Kubernetes achazvigadzirisa. Vanhu vanotenda zvishamiso. Mupfungwa dzavo vanonzwisisa kuti hapazovi nechishamiso, asi mumweya yavo vanotarisira - ko kana iyi Kubernetes zvino ichagadzirisa zvose kwatiri, vanotaura zvakawanda pamusoro payo! Pakarepo iye zvino - hwihwidza! - uye bara resirivha, hotsira! - uye isu tine 100% uptime, vese vanogadzira vanogona kuburitsa chero chinopinda mukugadzira ka50, uye hachiputsi. Kazhinji, chishamiso!

Vanhu vakadaro pavanouya kwatiri, tinoti: “Ndine urombo, asi hakuna chinhu chakadai sechishamiso.” Kuti uve neutano hwakanaka, unofanira kudya zvakanaka uye kurovedza muviri. Kuti uve nechigadzirwa chakavimbika, chinoda kuitwa chakavimbika. Kuti uve neCI/CD iri nyore, unofanirwa kuigadzira seizvi. Iroro ibasa rakawanda rinoda kuitwa.

Kupindura mubvunzo wekuti ndiani anoda Kubernetes - hapana anoda Kubernetes.

Vamwe vanhu vane fungidziro isiriyo yekuti vanoda Kubernetes. Vanhu vanoda, vane chido chakadzama chekumira kufunga, kudzidza, uye kufarira matambudziko ese ezvivakwa uye matambudziko ekumhanyisa kunyorera kwavo. Vanoda kuti maapplication angoshanda uye angoendesa. Kwavari, Kubernetes itarisiro yekuti vachamira kunzwa nyaya yekuti "takanga takarara," kana "hatigone kuburitsa," kana chimwe chinhu.

Iyo technical director inowanzouya kwatiri. Vanomubvunza zvinhu zviviri: kune rumwe rutivi, tipe maitiro, kune rumwe rutivi, kugadzikana. Tinokukurudzira kuti uzvitore iwe pachako uye uite. Iyo sirivheri bullet, kana kuti sirivha-yakapfava, ndeyekuti iwe ucharega kufunga nezvematambudziko aya uye kutambisa nguva. Unenge uine vanhu vakakosha vachavhara nyaya iyi.

Mazwi atinoda isu kana chero ani zvake Kubernetes haana kururama.

MaAdmins anonyatsoda Kubernetes, nekuti chitoyi chinonakidza kwazvo chaunogona kutamba nacho uye kurira nacho. Ngative vakatendeseka - munhu wese anoda matoyi. Isu tose tiri vana kune imwe nzvimbo, uye patinoona itsva, tinoda kuiridza. Kune vamwe, izvi zvakaodzwa mwoyo, somuenzaniso, muhutungamiri, nokuti vakatotamba zvakakwana uye vatove vakaneta kusvika pavanenge vasingadi. Asi izvi hazvina kurasika zvachose kune chero ani zvake. Semuenzaniso, kana ndanga ndaneta nematoyi mumunda wekutonga kwehurongwa uye DevOps kwenguva yakareba, saka ini ndichiri kuda matoyi, ndichiri kutenga zvimwe zvitsva. Vanhu vese, neimwe nzira kana imwe, vachiri kuda mamwe marudzi ematoyi.

Hapana chikonzero chekutamba nekugadzirwa. Chero zvandinokurudzira kusaita uye zvandiri kuona iye zvino zvakazara: "Ah, chitoyi chitsva!" — vakamhanya kunoitenga, vakaitenga uye: “Ngatiiendese kuchikoro zvino toiratidza kushamwari dzedu dzose.” Usaita izvi. Ndinokumbira ruregerero, vana vangu vachiri kukura, ndinogara ndichiona chimwe chinhu muvana, ndinochicherechedza mandiri, uye ndochiwedzera kune vamwe.

Mhinduro yekupedzisira ndeyekuti: haudi Kubernetes. Unofanira kugadzirisa matambudziko ako.

Zvaunogona kuwana ndezvi:

  • prod haiwa;
  • kunyange kana akaedza kudonha, tinoziva nezvazvo pachine nguva mberi, uye tinogona kuisa chimwe chinhu mairi;
  • tinogona kuichinja nekumhanya kwainoda bhizinesi redu, uye tinogona kuzviita zviri nyore; hazvikonzeri matambudziko.

Pane zviviri zvinodikanwa chaizvo: kuvimbika uye dynamism / kuchinjika kwekuburitsa. Wese munhu ari kuita imwe mhando yemapurojekiti eIT, zvisinei nerudzi rwebhizinesi - rakapfava rekurerutsa nyika, uye ndiani anonzwisisa izvi, anofanirwa kugadzirisa izvi zvinodiwa. Kubernetes nenzira kwayo, nekunzwisisa kwayo uye neruzivo rwakakwana inobvumidza iwe kuzvigadzirisa.

About serverless

- Kana iwe ukatarisa zvishoma mberi mune ramangwana, wozoedza kugadzirisa dambudziko rekushayikwa kwemusoro nezvivakwa, nekukurumidza kuburitsa uye nekukurumidza kwekuchinja kwekushandisa, mhinduro nyowani dzinoonekwa, semuenzaniso, isina server. Iwe unonzwa chero mukana mune ino nzira uye, ngatiti, njodzi yeKubernetes uye yakafanana mhinduro?

Dmitry: Pano tinoda kutaura zvakare kuti ini handisi muoni anotarisa mberi achiti - zvichava seizvi! Nyangwe ndangoita zvimwe chetezvo. Ndinotarisa tsoka dzangu uye ndinoona boka rematambudziko ipapo, semuenzaniso, kuti transistors inoshanda sei mukombuta. Zvinosetsa, handiti? Tiri kusangana nezvimwe zvipembenene muCPU.

Ita serverless yakavimbika, yakachipa, inoshanda uye yakanakira, kugadzirisa ese ecosystem nyaya. Pano ndinobvumirana naElon Musk kuti nyika yechipiri inodiwa kugadzira kukanganisa kushivirira kwevanhu. Kunyange zvazvo ndisingazivi zvaari kutaura, ndinonzwisisa kuti handisati ndagadzirira kubhururuka kuMars ini uye hazvizoitiki mangwana.

Ne serverless zviri pachena kuti ichi chinhu chakarurama, sekushivirira kukanganisa kwevanhu - kuva nemapuraneti maviri kuri nani pane imwe. Asi sei zvino? Kutumira rwendo rumwe chete harisi dambudziko kana ukaisa pfungwa dzako pazviri. Kutumira nzendo dzakawanda uye kugadzirisa zviuru zvevanhu ikoko, ndinofunga, ndezvechokwadiwo. Asi kuti iite zvachose kukanganisa-kushivirira kuitira kuti hafu yevanhu igare ipapo, zvinoratidzika kwandiri zvino zvisingabviri, zvisingatarisirwi.

Iine serverless imwe pane imwe: chinhu chinotonhorera, asi chiri kure nematambudziko e2019. Pedyo na2030 - ngatiraramei kuti tizvione. Handina mubvunzo kuti tichararama, zvirokwazvo tichararama (kudzokorora tisati taenda kunorara), asi zvino tinoda kugadzirisa mamwe matambudziko. Zvakafanana nekutenda ngano yepony Rainbow. Hongu, zvikamu zviviri kubva muzana zvezviitiko zvinogadziriswa, uye zvinogadziriswa zvakakwana, asi zvinotungamirirwa, zvisingabatsiri murarabungu ... Kwandiri, nyaya iyi iri kure uye hainzwisisike. Handisati ndagadzirira kutaura. Muna 2019, haugone kunyora imwechete application isina server.

Kubernetes ichashanduka sei

- Patiri kuenda kune ramangwana rinoshamisa riri kure, unofunga Kubernetes uye ecosystem yakaitenderedza ichakura sei?

Dmitry: Ndakafunga nezvazvo zvakanyanya uye ndine mhinduro yakajeka. Yekutanga ndeye statefull - mushure mezvose, isina nyika iri nyore kuita. Kubernetes pakutanga akaisa mari yakawanda mune izvi, zvese zvakatanga nazvo. Stateless inoshanda zvakakwana muKubernetes, hapana chekunyunyuta nezvazvo. Pachine matambudziko akawanda, kana kuti, nuances. Zvese zviripo zvinototiitira zvakanaka, asi isu ndisu. Zvinotora angangoita makore akati wandei kuti izvi zvishande kune wese munhu. Ichi hachisi chiratidzo chakaverengerwa, asi kunzwa kwangu kubva mumusoro mangu.

Muchidimbu, statefull inofanirwa - uye icha - kusimudzira zvakanyanya, nekuti ese maapplication edu ekuchengetedza chimiro; hapana zvisingaperi zvikumbiro. Uku kunyepedzera; iwe unogara uchida imwe mhando yedatabase uye chimwe chinhu. Statefull ndeye kururamisa zvese zvinogoneka, kugadzirisa zvese zvipembenene, kuvandudza matambudziko ese ari kutarisana nawo - ngatizvidaidze kugamuchirwa.

Chiyero chezvisingazivikanwi, chiyero chematambudziko asina kugadziriswa, chiyero chekugona kusangana nechimwe chinhu chichadonha zvakanyanya. Iyi inyaya yakakosha. Uye vanoshanda - zvese zvine chekuita nekukodha kwekutonga logic, kudzora mantiki kuitira kuti uwane basa riri nyore: MySQL iri nyore sevhisi, RabbitMQ iri nyore sevhisi, Memcache iri nyore sevhisi - kazhinji, zvese izvi zvikamu zvatinoda kuvimbiswa kushanda kunze. bhokisi. Izvi zvinongogadzirisa marwadzo atinoda dhatabhesi, asi isu hatidi kuitungamira, kana isu tinoda Kubernetes, asi isu hatidi kuitonga.

Iyi nyaya yekusimudzira opareta mune imwe fomu kana imwe ichave yakakosha mumakore mashoma anotevera.

Ndinofunga kuti kusununguka kwekushandisa kunofanira kuwedzera zvakanyanya - bhokisi richava rakawanda uye rakasviba, rakawanda uye rakavimbika, rine mafundo akawanda uye akareruka.

Ndakamboteerera kubvunzurudzo yekare naIsaac Asimov kubva kuma80s paYouTube paMugovera Night Live - chirongwa chakaita seUrgant, chinonakidza chete. Vakamubvunza nezve remangwana remacomputer. Akataura kuti ramangwana riri nyore, kungofanana neredhiyo. Redhiyo inogamuchira pakutanga yaive chinhu chakaoma. Kuti ubate mafungu, waifanira kushandura mapfumo kwemaminitsi gumi nemashanu, shandura skewers uye kazhinji kuziva kuti zvese zvinoshanda sei, nzwisisa fizikisi yeradio wave transmission. Izvi zvakaita kuti paredhiyo pangosara bundu rimwe chete.

Zvino muna 2019 redhiyo ipi? Mumotokari, mugamuchiri weredhiyo anowana masaisai ose nemazita ezviteshi. Iyo fizikisi yemaitiro haina kuchinja mumakore zana, asi kusununguka kwekushandisa kwakave. Iye zvino, uye kwete ikozvino, kare muna 100, apo paiva nebvunzurudzo naAzimov, munhu wose akashandisa redhiyo uye hapana akafunga kuti yakashanda sei. Yaigara ichishanda - ndizvo zvakapihwa.

Azimov akabva ataura kuti zvichave zvakafanana nemakomputa - nyore kushandisa kuchawedzera. Nepo muna 1980 waifanira kudzidziswa kudzvanya mabhatani pakombiyuta, hazvizodaro mune ramangwana.

Ndine manzwiro ekuti neKubernetes uye nezvivakwa pachavawo nekuwedzera kukuru kwekureruka kwekushandisa. Izvi, mumaonero angu, zviri pachena - zviri pamusoro.

Chii chekuita neinjiniya?

- Chii chichaitika kune mainjiniya nevatariri vehurongwa vanotsigira Kubernetes?

Dmitry: Chii chakaitika kune accountant mushure mekuuya kwa1C? Zvinenge zvakafanana. Izvi zvisati zvaitika, vakaverenga papepa - ikozvino purogiramu. Kubudirira kwevashandi kwakawedzera nemirairo yehukuru, asi basa pacharo harina kupera. Kana kare zvaida mainjiniya gumi kuti akurumidze girobhu remwenje, zvino imwe ichakwana.

Kuwanda kwepurogiramu uye nhamba yemabasa, inoratidzika kwandiri, ikozvino iri kukura nekukurumidza kupfuura maDevOps matsva ari kuonekwa uye kubudirira kuri kuwedzera. Pane kushomeka chaiko pamusika izvozvi uye ichagara kwenguva yakareba. Gare gare, zvinhu zvose zvichadzokera kune imwe mhando yezvakajairwa, umo kubudirira kwebasa kuchawedzera, pachava nekuwedzera uye kusina server, neuron ichabatanidzwa kuKubernetes, iyo ichasarudza zviwanikwa zvose sezvazvinodiwa, uye kazhinji. ita zvose pachako, sezvazvinofanira - munhu anongobva kure uye usapindira.

Asi mumwe munhu achafanira kuita zvisarudzo. Zviri pachena kuti nhanho yezvidzidzo uye nyanzvi yemunhu uyu yakakwirira. Mazuvano, kudhipatimendi reakaunzi, haudi vashandi gumi vanochengeta mabhuku kuti maoko avo asaneta. Hazvina hazvo kufanira. Mapepa mazhinji anoongororwa otomatiki uye anozivikanwa nemagetsi gwaro manejimendi system. Mumwe akangwara mukuru accountant akakwana, atova nehunyanzvi hukuru, nekunzwisisa kwakanaka.

Kazhinji, iyi ndiyo nzira yekuenda mumaindasitiri ese. Zvakafanana nemota: kare, mota yakauya ine makanika nevatyairi vatatu. Mazuvano, kutyaira mota inzira iri nyore iyo isu tese tinotora chikamu mazuva ese. Hapana anofunga kuti motokari chinhu chakaoma.

DevOps kana masisitimu engineering haizoendi - basa repamusoro-soro uye kugona kuchawedzera.

- Ndakanzwawo pfungwa inofadza yokuti basa richawedzera.

Dmitry: Chokwadi, zana muzana! Nekuti huwandu hwesoftware hwatinonyora huri kuramba huchikura. Huwandu hwenyaya dzatinogadzirisa nesoftware huri kuramba huchikura. Kuwanda kwebasa kuri kukura. Iye zvino musika weDevOps wakapisa zvakanyanya. Izvi zvinogona kuonekwa mumihoro inotarisirwa. Nenzira yakanaka, pasina kupinda mune zvakadzama, panofanirwa kuve nevechidiki vanoda X, vepakati vanoda 1,5X, uye vakuru vanoda 2X. Uye zvino, kana ukatarisa kuMoscow DevOps muhoro musika, junior anoda kubva X kusvika 3X uye mukuru anoda kubva X kusvika 3X.

Hapana anoziva kuti imarii. Chiyero chemuhoro chinoyerwa nekuvimba kwako - imba yekupenga, kuve wakatendeseka, musika wakapisa zvakanyanya.

Ehe, mamiriro aya achachinja nekukurumidza - kumwe kuzara kunofanira kuitika. Izvi hazvisizvo nekuvandudzwa kwesoftware - kunyangwe hazvo munhu wese anoda vanogadzira, uye munhu wese anoda vanogadzira vakanaka, musika unonzwisisa kuti ndiani akakosha chii - indasitiri yagara pasi. Izvo hazvisizvo neDevOps mazuva ano.

- Kubva pane zvandakanzwa, ndakagumisa kuti iye zvino mutungamiri wehurongwa haafaniri kunetseka zvakanyanya, asi inguva yekuvandudza unyanzvi hwake uye kugadzirira kuti mangwana kuchava nebasa rakawanda, asi richave rakanyanya kukodzera.

Dmitry: zana muzana. Kazhinji, isu tinorarama muna 2019 uye mutemo wehupenyu ndeuyu: kudzidza kweupenyu hwese - tinodzidza muhupenyu hwedu hwese. Zvinoita kwandiri kuti iye zvino munhu wose anotoziva uye anonzwa izvi, asi hazvina kukwana kuziva - unofanira kuzviita. Zuva nezuva tinofanira kuchinja. Kana tikasaita izvi, saka nekukurumidza kana gare gare tinozodonhedzwa padivi pebasa.

Iva wakagadzirira kupinza 180-degree kutendeuka. Ini handiregi mamiriro ezvinhu apo chimwe chinhu chinoshanduka zvakanyanya, chimwe chinhu chitsva chinogadzirwa - chinoitika. Hop! - uye isu zvino tinoita zvakasiyana. Zvakakosha kugadzirira izvi uye kwete kunetseka. Zvinogona kuitika kuti mangwana zvese zvandinoita zvichave zvisina basa - hapana, ndakadzidza hupenyu hwangu hwese uye ndakagadzirira kudzidza chimwe chinhu. Harisi dambudziko. Hapana chikonzero chekutya kuchengetedzwa kwebasa, asi iwe unofanirwa kuve wakagadzirira kugara uchidzidza chimwe chinhu chitsva.

Zvido uye miniti yekushambadzira

- Une chero chido here?

Dmitry: Hongu, ndine zvakawanda zvandinoda.

Chekutanga uye mercantile - nyorera kune YouTube. Vadiwa vaverengi, enda kuYouTube uye unyore kuchiteshi chedu. Muinenge mwedzi tichatanga kushingaira kuwedzera pavhidhiyo sevhisi.Tichava nezvakawanda zvedzidzo zveKubernetes, zvakavhurika uye zvakasiyana-siyana: kubva kuzvinhu zvinoshanda, zvichidzika kusvika kumarabhoritari, kusvika kune zvakadzama dzidziso zvinhu uye mashandisiro eKubernetes mwero wemisimboti uye mapatani.

Chechipiri mercantile chido - enda GitHub nekuisa nyeredzi nekuti tinodya padziri. Kana mukasatipa nyeredzi, hatizove nechakudya. Zvakafanana nemana mumutambo wekombiyuta. Isu tinoita chimwe chinhu, tinoita, tinoedza, mumwe munhu anoti aya mabhasikoro anotyisa, mumwe munhu kuti zvinhu zvese hazvina kunaka, asi isu tinoenderera nekuita nekutendeseka zvachose. Isu tinoona dambudziko, torigadzirisa uye tinogovana ruzivo rwedu. Naizvozvo, tipei nyeredzi, haizobvi kwamuri, asi ichauya kwatiri, nokuti tinodya pairi.

Chechitatu, chakakosha, uye chisisiri mercantile chido - rega kutenda ngano. Muri nyanzvi. DevOps ibasa rakakomba uye rine mutoro. Rega kutamba kubasa. Rega ikudzvare iwe uchazvinzwisisa. Fungidzira wauya kuchipatara, uye ikoko chiremba ari kuedza pauri. Ndinonzwisisa kuti izvi zvinogona kugumbura mumwe munhu, asi, zvichida, izvi hazvisi pamusoro pako, asi nezveumwe munhu. Udza vamwe kuti vamirewo. Izvi zvinoparadza hupenyu hwedu tese - vazhinji vanotanga kubata maoparesheni, admins uye DevOps semadude akatyora chimwe chinhu zvakare. Izvi "zvakatyoka" kazhinji nekuda kwekuti takaenda kunotamba, uye hatina kutarisa nehana inotonhora kuti ndizvo zvazviri, uye ndizvo zvazviri.

Izvi hazvirevi kuti haufaniri kuedza. Tinofanira kuedza, tinozviita isu pachedu. Kutaura chokwadi, isu pachedu dzimwe nguva tinotamba mitambo - izvi, hongu, zvakaipa kwazvo, asi hapana chinhu chisiri chemunhu. Ngatizivise kuti 2019 igore rekuedza kwakakomba, kwakanyatsofungwa, uye kwete mitambo yekugadzira. Zvichida zvakadaro.

- Ndokutenda zvikuru!

Dmitry: Waita hako, Vitaly, nenguva uye nebvunzurudzo. Vadiwa vaverengi, ndinokutendai zvikuru kana masvika padanho iri kamwe kamwe. Ndinovimba kuti takuunzirai pfungwa dzinenge mbiri.

Mubvunzurudzo, Dmitry akabata nyaya yewerf. Ikozvino iyi inyika yeSwitzerland banga inogadzirisa anenge ese matambudziko. Asi zvakanga zvisina kudaro nguva dzose. On DevOpsConf  pamutambo RIT++ Dmitry Stolyarov achakuudza nezve chishandiso ichi zvakadzama. mumushumo "werf chishandiso chedu cheCI / CD muKubernetes" kuchave nezvese: matambudziko uye akavanzika nuances eKubernetes, sarudzo dzekugadzirisa aya matambudziko uye iko iko kuitisa werf zvakadzama. Sangana nesu muna Chivabvu 27 na 28, tichagadzira maturusi akakwana.

Source: www.habr.com

Voeg