Ang mga Kubernetes maoy mopuli sa kalibotan. Kanus-a ug sa unsang paagi?

Sa pagpaabot DevOpsConf Vitaly Khabarov giinterbyu Dmitry Stolyarov (distol), teknikal nga direktor ug co-founder sa kompanya sa Flant. Gipangutana ni Vitaly si Dmitry kung unsa ang gibuhat ni Flant, bahin sa Kubernetes, pagpalambo sa ekosistema, suporta. Among gihisgutan kung nganong gikinahanglan ang Kubernetes ug kung gikinahanglan ba kini. Ug bahin usab sa mga microservice, Amazon AWS, ang "Maswerte ako" nga pamaagi sa DevOps, ang kaugmaon sa Kubernetes mismo, ngano, kanus-a ug kung giunsa kini mopuli sa kalibutan, ang mga prospect sa DevOps ug kung unsang mga inhenyero ang kinahanglan mag-andam alang sa hayag ug duol nga umaabot nga adunay pagpayano ug mga neural network.

Orihinal nga interbyu paminaw isip podcast sa DevOps Deflop - usa ka Russian-language podcast bahin sa DevOps, ug sa ubos mao ang text version.

Ang mga Kubernetes maoy mopuli sa kalibotan. Kanus-a ug sa unsang paagi?

Dinhi ug sa ubos nangutana siya Vitaly Khabarov engineer gikan sa Express42.

Mahitungod sa "Flant"

- Hello Dima. Ikaw ang teknikal nga direktor "Pahayag"ug usab ang nagtukod niini. Palihug isulti kanamo kung unsa ang gibuhat sa kompanya ug kung unsa ka naa niini?

Ang mga Kubernetes maoy mopuli sa kalibotan. Kanus-a ug sa unsang paagi?Dmitry: Gikan sa gawas morag kami ang mga lalaki nga naglibot-libot sa pag-install sa Kubernetes para sa tanan ug adunay gibuhat niini. Apan dili kana tinuod. Nagsugod kami isip usa ka kompanya nga naghisgot sa Linux, apan sa dugay nga panahon ang among panguna nga kalihokan mao ang pagserbisyo sa mga proyekto sa produksiyon ug high-load nga turnkey. Kasagaran among gitukod ang tibuuk nga imprastraktura gikan sa wala ug dayon responsable alang niini sa dugay, dugay nga panahon. Busa, ang nag-unang buhat nga gibuhat sa "Flant", diin kini nakadawat salapi, mao pagkuha sa responsibilidad ug pagpatuman sa turnkey production.




Ako, isip teknikal nga direktor ug usa sa mga founder sa kompaniya, mogugol sa tibuok adlaw ug gabii nga naningkamot nga mahibal-an kon unsaon sa pagdugang sa accessibility sa produksyon, pagpayano sa operasyon niini, paghimo sa kinabuhi sa mga administrador nga mas sayon, ug ang kinabuhi sa mga developers nga mas makapahimuot. .

Mahitungod sa Kubernetes

— Karong bag-o nakakita ako daghang mga taho gikan sa Flant ug mga artikulo mahitungod sa Kubernetes. Giunsa nimo kini nahimo?

Dmitry: Nahisgotan na nako kini sa makadaghang higayon, apan dili nako igsapayan nga balikon kini. Sa akong hunahuna husto nga balikon kini nga hilisgutan tungod kay adunay kalibog tali sa hinungdan ug epekto.

Nagkinahanglan gyud mi og himan. Nag-atubang kami og daghang mga problema, nanlimbasug, gibuntog kini sa lainlaing mga crutches ug gibati ang panginahanglan alang sa usa ka himan. Miagi kami og daghang lain-laing mga kapilian, naghimo sa among kaugalingong mga bisikleta, ug nakaangkon og kasinatian. Sa hinay-hinay miabut kami sa punto diin nagsugod kami sa paggamit sa Docker hapit sa diha nga kini nagpakita - mga 2013. Sa panahon sa pagpakita niini, daghan na kami nga kasinatian sa mga sudlanan, nakasulat na kami og analogue sa "Docker" - pipila sa among kaugalingong crutches sa Python. Sa pag-abot sa Docker, nahimong posible nga ilabay ang mga saklay ug gamiton ang kasaligan ug suportado sa komunidad nga solusyon.

Sa Kubernetes parehas ang istorya. Sa panahon nga kini nagsugod sa pag-uswag - alang kanamo kini ang bersyon 1.2 - kami adunay usa ka hugpong sa mga saklay sa Shell ug Chef, nga among gisulayan sa pag-orkestrate sa Docker. Seryoso kami nga nagtan-aw sa Rancher ug lainlaing uban pang mga solusyon, apan pagkahuman nagpakita ang Kubernetes, diin ang tanan gipatuman sa eksakto kung giunsa namon kini mahimo o labi ka maayo. Wala kay ikareklamo.

Oo, adunay usa ka matang sa pagkadili hingpit dinhi, adunay usa ka matang sa pagkadili hingpit didto - adunay daghan nga mga pagkadili hingpit, ug ang 1.2 kasagaran makalilisang, apan ... Ang Kubernetes sama sa usa ka building nga gitukod - imong tan-awon ang proyekto ug masabtan nga kini mahimong cool. Kung ang bilding karon adunay usa ka pundasyon ug duha ka andana, nan imong nasabtan nga mas maayo nga dili pa mobalhin, apan wala'y ingon nga mga problema sa software - mahimo na nimo kini gamiton.

Wala kami usa ka higayon kung diin kami naghunahuna bahin sa paggamit sa Kubernetes o dili. Naghulat kami niini dugay na sa wala pa kini nagpakita, ug misulay sa paghimo og mga analogue sa among kaugalingon.

Mahitungod sa Kubernetes

— Direkta ka ba nga nalambigit sa pagpalambo sa Kubernetes mismo?

Dmitry: Meocre. Hinunoa, miapil kita sa pagpalambo sa ekosistema. Nagpadala kami usa ka piho nga gidaghanon sa mga hangyo sa pagbitad: sa Prometheus, sa lainlaing mga operator, sa Helm - sa ekosistema. Ikasubo, dili nako masubay ang tanan nga among gibuhat ug mahimo akong sayup, apan wala’y usa ka pool gikan kanamo hangtod sa kinauyokan.

— Sa samang higayon, nagpalambo ka ba sa daghan sa imong mga himan sa palibot sa Kubernetes?

Dmitry: Ang estratehiya mao kini: kita moadto ug mobira hangyo sa tanan nga anaa na. Kung dili madawat ang mga hangyo sa pagbitad didto, kami mismo ang mag-fork niini ug mabuhi hangtod nga madawat sila sa among mga gitukod. Unya, inig-abot na sa upstream, mobalik mi sa upstream version.

Pananglitan, kami adunay usa ka Prometheus operator, diin kami nagbalik-balik sa taas sa among asembliya tingali 5 ka beses na. Nagkinahanglan kami og usa ka matang sa feature, nagpadala kami og pull request, kinahanglan namo nga i-roll out kini ugma, apan dili kami gusto nga maghulat nga kini ipagawas sa ibabaw. Tungod niini, nagpundok kami alang sa among kaugalingon, gilukot ang among asembliya uban ang among bahin, nga kinahanglan namon sa usa ka hinungdan, sa tanan namon nga mga pungpong. Dayon, pananglitan, ila kining itugyan kanamo sa upstream uban ang mga pulong: "Mga lalaki, buhaton nato kini alang sa usa ka mas kinatibuk-an nga kaso," kita, o ang uban, tapuson kini, ug sa paglabay sa panahon kini maghiusa pag-usab.

Kami naningkamot sa pagpalambo sa tanan nga anaa. Daghang mga elemento nga wala pa, wala pa naimbento, o naimbento, apan wala’y oras sa pagpatuman - gibuhat namon kini. Ug dili tungod kay gusto namon ang proseso o pagtukod sa bisikleta ingon usa ka industriya, apan tungod kay kinahanglan namon kini nga himan. Kanunay nga gipangutana ang pangutana, ngano nga gibuhat naton kini o kana nga butang? Ang tubag yano ra - oo, tungod kay kinahanglan namon nga magpadayon, sulbaron ang pipila ka praktikal nga problema, ug gisulbad namon kini gamit ang tula.

Ang dalan kanunay nga ingon niini: kita mangita pag-ayo ug, kon kita dili makakaplag sa bisan unsa nga solusyon sa unsa nga paagi sa paghimo sa usa ka trolleybus gikan sa usa ka tinapay, nan kita sa paghimo sa atong kaugalingon nga tinapay ug sa atong kaugalingong trolleybus.

Mga gamit sa Flanta

— Nahibal-an ko nga ang Flant karon adunay mga addon operator, shell operator, ug mga gamit sa dapp/werf. Sa akong pagsabot niini, kini mao ang sama nga instrumento sa lain-laing mga inkarnasyon. Nakasabut usab ako nga adunay daghang lainlain nga mga himan sa sulod sa Flaunt. Tinuod ni?

Dmitry: Daghan pa mi sa GitHub. Gikan sa akong nahinumduman karon, kami adunay usa ka statusmap - usa ka panel alang sa Grafana nga nakit-an sa tanan. Gihisgotan kini sa halos matag ikaduhang artikulo bahin sa pagmonitor sa Kubernetes sa Medium. Imposible nga ipasabut sa daklit kung unsa ang statusmap - nanginahanglan kini usa ka lahi nga artikulo, apan kini usa ka mapuslanon nga butang alang sa pag-monitor sa kahimtang sa paglabay sa panahon, tungod kay sa Kubernetes kanunay namong kinahanglan nga magpakita sa kahimtang sa paglabay sa panahon. Aduna usab kami LogHouse - kini usa ka butang nga gibase sa ClickHouse ug black magic para sa pagkolekta og mga troso sa Kubernetes.

Daghang utilities! Ug adunay daghan pa, tungod kay daghang mga internal nga solusyon ang ipagawas karong tuiga. Sa mga dagko kaayo nga gibase sa addon operator, adunay usa ka hugpong sa mga addon alang sa Kubernetes, ala kung giunsa ang pag-instalar sa husto nga sert manager - usa ka himan alang sa pagdumala sa mga sertipiko, kung giunsa ang husto nga pag-install sa Prometheus nga adunay daghang mga aksesorya - kini mga kaluhaan ka lainlain. binary nga nag-eksport sa datos ug nagkolekta og usa ka butang, niini nga Prometheus adunay labing kahibulongan nga mga graphic ug mga alerto. Kining tanan usa lamang ka hugpong sa mga addon sa Kubernetes, nga gi-install sa usa ka cluster, ug kini gikan sa yano ngadto sa cool, sopistikado, awtomatiko, diin daghang mga isyu ang nasulbad na. Oo, daghan mig gibuhat.

Pagpalambo sa Ecosystem

"Sa akong hunahuna kini usa ka dako nga kontribusyon sa pag-uswag sa kini nga instrumento ug ang mga pamaagi sa paggamit niini." Mahimo ba nimo nga mabanabana kung kinsa pa ang makahimo sa parehas nga kontribusyon sa pag-uswag sa ekosistema?

Dmitry: Sa Russia, sa mga kompanya nga naglihok sa among merkado, wala’y bisan kinsa nga duol. Siyempre, kini usa ka kusog nga pahayag, tungod kay adunay mga dagkong magdudula sama sa Mail ug Yandex - naghimo usab sila usa ka butang sa Kubernetes, apan bisan kung wala sila makaduol sa kontribusyon sa mga kompanya sa tibuuk kalibutan nga labi pa ang nahimo kaysa kanamo. Lisud itandi ang Flant, nga adunay kawani nga 80 ka tawo, ug ang Red Hat, nga adunay 300 ka mga inhenyero matag Kubernetes lamang, kung wala ako masayop. Lisod ikumpara. Naa mi 6 ka tawo sa RnD department, apil ko, nga nagputol sa tanan namong gamit. 6 ka tawo batok sa 300 ka mga inhenyero sa Red Hat - lisud kini itandi.

- Apan, sa diha nga bisan kini nga 6 ka mga tawo makahimo sa usa ka butang nga tinuod nga mapuslanon ug alienating, sa diha nga sila nag-atubang sa usa ka praktikal nga problema ug sa paghatag sa solusyon sa komunidad - usa ka makapaikag nga kaso. Nasabtan nako nga sa dagkong mga kompanya sa teknolohiya, diin sila adunay kaugalingon nga Kubernetes development ug support team, sa prinsipyo, ang parehas nga mga himan mahimong maugmad. Kini usa ka panig-ingnan alang kanila kung unsa ang mahimo ug mahatag sa komunidad, nga naghatag kusog sa tibuuk nga komunidad nga naggamit sa Kubernetes.

Dmitry: Kini mao tingali ang usa ka bahin sa integrator, sa iyang peculiarity. Kami adunay daghang mga proyekto ug nakita namon ang daghang lainlaing mga kahimtang. Alang kanamo, ang panguna nga paagi sa paghimo og dugang nga kantidad mao ang pag-analisar sa kini nga mga kaso, pagpangita sa pagkapareho ug paghimo niini nga barato kutob sa mahimo alang kanamo. Kami aktibo nga nagtrabaho niini. Lisud alang kanako ang paghisgot bahin sa Russia ug sa kalibutan, apan kami adunay mga 40 nga mga inhinyero sa DevOps sa kompanya nga nagtrabaho sa Kubernetes. Wala ako maghunahuna nga adunay daghang mga kompanya sa Russia nga adunay parehas nga gidaghanon sa mga espesyalista nga nakasabut sa Kubernetes, kung naa man.

Nasabtan nako ang tanan bahin sa titulo sa trabaho nga DevOps engineer, nasabtan sa tanan ang tanan ug naanad sa pagtawag sa mga inhenyero sa DevOps nga mga inhenyero sa DevOps, dili namon kini hisgutan. Kining tanan nga 40 ka katingad-an nga mga inhenyero sa DevOps nag-atubang ug nagsulbad sa mga problema matag adlaw, gi-analisar lang namon kini nga kasinatian ug gisulayan nga i-generalize. Nakasabut kami nga kung kini magpabilin sa sulod namo, nan sa usa o duha ka tuig ang himan mahimong walay kapuslanan, tungod kay sa usa ka dapit sa komunidad usa ka andam nga Tula ang makita. Wala’y kapuslanan sa pagtigum niini nga kasinatian sa sulod - kini yano nga nag-usik sa kusog ug oras sa dev/null. Ug wala gyud kami maluoy niini. Gimantala namo ang tanan uban ang dakong kalipay ug nasabtan nga kini kinahanglan nga imantala, pauswagon, i-promote, i-promote, aron ang mga tawo mogamit niini ug makadugang sa ilang kasinatian - unya ang tanan motubo ug mabuhi. Unya human sa duha ka tuig ang instrumento dili moadto sa basurahan. Dili kini usa ka kaluoy nga magpadayon sa pagbubo sa kusog, tungod kay klaro nga adunay usa nga naggamit sa imong himan, ug pagkahuman sa duha ka tuig ang tanan naggamit niini.

Kabahin kini sa among dako nga estratehiya sa dapp/werf. Wala ko kahinumdom kanus-a mi nagsugod sa paghimo niini, morag 3 ka tuig na ang milabay. Sa sinugdan, kini kasagaran sa kabhang. Kini usa ka super pamatuod sa konsepto, among nasulbad ang pipila sa among partikular nga mga problema - kini nagtrabaho! Apan adunay mga problema sa kabhang, imposible nga mapalapad pa kini, ang pagprograma sa kabhang usa pa ka buluhaton. Kami adunay batasan sa pagsulat sa Ruby, sumala niana, naghimo kami og usa ka butang sa Ruby, naugmad, naugmad, naugmad, ug midagan ngadto sa kamatuoran nga ang komunidad, ang panon sa katawhan nga dili moingon nga “gusto namo o dili namo gusto, ” mihangad ang ilong niini kang Ruby, kataw-anan man? Among naamgohan nga kinahanglan namong isulat kining tanang butang sa Go para lang maabot ang unang punto sa checklist: Ang himan sa DevOps kinahanglan nga usa ka static binary. Ang mahimong Go o dili dili kaayo importante, apan ang usa ka static binary nga gisulat sa Go mas maayo.

Gigugol namo ang among kusog, gisulat pag-usab ang dapp sa Go ug gitawag kini nga werf. Ang Dapp wala na gisuportahan, wala naugmad, nga nagdagan sa pipila ka pinakabag-o nga bersyon, apan adunay usa ka hingpit nga pag-upgrade nga agianan ngadto sa ibabaw, ug mahimo nimong sundon kini.

Nganong gimugna ang dapp?

— Makasulti ka ba kanamo sa makadiyot ngano nga gibuhat ang dapp, unsa nga mga problema ang nasulbad niini?

Dmitry: Ang unang rason kay sa asembliya. Sa sinugdan, kami adunay seryoso nga mga problema sa pagtukod sa dihang ang Docker walay mga kapabilidad sa multi-stage, mao nga naghimo kami og multi-stage sa among kaugalingon. Unya kami adunay daghang mga isyu sa paglimpyo sa imahe. Ang tanan nga naghimo sa CI / CD, sa dili madugay, nag-atubang sa problema nga adunay daghang mga nakolekta nga mga imahe, kinahanglan nimo nga limpyohan kung unsa ang dili kinahanglan ug ibilin ang kinahanglan.

Ang ikaduhang rason mao ang deployment. Oo, adunay Helm, apan kini makasulbad lamang sa pipila ka mga problema. Sa kataw-anan, kini gisulat nga "Ang Helm mao ang Package Manager alang sa Kubernetes." Eksakto kung unsa ang "ang". Adunay usab mga pulong nga "Package Manager" - unsa ang naandan nga gipaabut gikan sa usa ka Package Manager? Kami nag-ingon: "Package Manager - i-install ang package!" ug kami nagdahom nga siya mosulti kanamo: “Ang pakete gihatod na.”

Makapaikag nga giingon namon: "Helm, i-install ang package," ug kung gitubag niya nga gi-install niya kini, nahibal-an nga bag-o lang niya gisugdan ang pag-install - gipaila niya ang Kubernetes: "Ilunsad kini nga butang!", Ug kung nagsugod ba kini o wala. , mogana man kini o dili , ang Helm dili makasulbad niini nga isyu.

Mogawas nga ang Helm usa lang ka text preprocessor nga nag-load sa datos sa Kubernetes.

Apan isip bahin sa bisan unsang pag-deploy, gusto namong mahibal-an kung ang aplikasyon gipagawas na alang sa produksiyon o wala? Ang rolled out to prod nagpasabot nga ang aplikasyon mibalhin na didto, ang bag-ong bersyon na-deploy na, ug labing menos wala kini ma-crash didto ug husto ang pagtubag. Ang timon dili makasulbad niini nga problema sa bisan unsang paagi. Aron masulbad kini, kinahanglan nimo nga mogasto og daghang paningkamot, tungod kay kinahanglan nimo nga hatagan ang Kubernetes sa mando nga ilunsad ug bantayan kung unsa ang nahitabo didto - kung kini gi-deploy o gi-roll out. Ug adunay daghan usab nga mga buluhaton nga may kalabutan sa pag-deploy, paglimpyo, ug pag-assemble.

Mga plano

Karong tuiga atong sugdan ang lokal nga kalamboan. Gusto namon nga makab-ot ang kaniadto sa Vagrant - nag-type kami og "vagrant up" ug nag-deploy kami og mga virtual machine. Gusto namon nga makaabot sa punto nga adunay usa ka proyekto sa Git, gisulat namon ang "werf up" didto, ug nagdala kini usa ka lokal nga kopya niini nga proyekto, nga gipakatap sa usa ka lokal nga mini-Kub, nga adunay tanan nga mga direktoryo nga kombenyente alang sa pag-uswag nga konektado. . Depende sa pinulongan sa pag-uswag, kini gihimo sa lahi nga paagi, apan bisan pa niana, aron ang lokal nga pag-uswag mahimong sayon ​​​​nga ipatuman ubos sa mga naka-mount nga mga file.

Ang sunod nga lakang alang kanato mao mamuhunan sa kasayon ​​alang sa mga developers. Aron dali nga ma-deploy ang usa ka proyekto sa lokal nga adunay usa ka himan, i-develop kini, iduso kini sa Git, ug kini usab i-roll out sa entablado o mga pagsulay, depende sa mga pipeline, ug dayon gamiton ang parehas nga himan aron moadto sa produksiyon. Kini nga panaghiusa, paghiusa, pag-usab sa imprastraktura gikan sa lokal nga palibot hangtod sa pagbaligya usa ka hinungdanon nga punto alang kanamo. Apan wala pa kini sa werf - nagplano lang kami nga buhaton kini.

Apan ang dalan padulong sa dapp/werf kanunay nga parehas sa Kubernetes sa sinugdanan. Nakasugat kami og mga problema, gisulbad kini sa mga workarounds - naghimo kami og pipila ka mga solusyon alang sa among kaugalingon sa kabhang, sa bisan unsa. Unya gisulayan nila nga matul-id kini nga mga workaround, i-generalize ug i-consolidate kini sa mga binary sa kini nga kaso, nga among gipaambit.

Adunay laing paagi sa pagtan-aw niining tibuok nga istorya, nga adunay mga analohiya.

Ang Kubernetes usa ka frame sa awto nga adunay makina. Walay mga pultahan, bildo, radyo, Christmas tree - wala gayud. Ang frame ug makina lang. Ug adunay Helm - kini ang manibela. Cool - adunay usa ka manibela, apan kinahanglan nimo usab ang usa ka steering pin, steering rack, gearbox ug mga ligid, ug dili nimo mahimo kung wala sila.

Sa kaso sa werf, kini usa pa ka bahin sa Kubernetes. Karon ra sa alpha nga bersyon sa werf, pananglitan, ang Helm giipon sa sulod sa werf, tungod kay gikapoy kami sa pagbuhat niini sa among kaugalingon. Adunay daghang mga hinungdan aron mahimo kini, isulti ko kanimo sa detalye kung ngano nga gihugpong namon ang tibuuk nga timon kauban ang tiller inside werf sa usa ka report sa RIT++.

Karon ang werf usa ka labi ka hiniusa nga sangkap. Nakakuha kami usa ka nahuman nga manibela, usa ka steering pin - Dili ako maayo sa mga awto, apan kini usa ka dako nga bloke nga nakasulbad na sa usa ka medyo halapad nga mga problema. Dili kinahanglan nga mag-agi kami sa katalogo sa among kaugalingon, magpili usa ka bahin alang sa lain, hunahunaa kung giunsa kini pagdugtong. Nakakuha kami usa ka andam nga kombinasyon nga nagsulbad sa daghang mga problema sa usa ka higayon. Apan sa sulod kini gitukod gikan sa parehas nga bukas nga gigikanan nga mga sangkap, gigamit gihapon niini ang Docker alang sa asembliya, Helm alang sa pipila nga mga gamit, ug adunay daghang uban pang mga librarya. Kini usa ka hiniusa nga himan aron makuha ang cool nga CI / CD gikan sa kahon nga dali ug dali.

Lisod ba ang pagmentinar sa Kubernetes?

— Naghisgot ka bahin sa kasinatian nga nagsugod ka sa paggamit sa Kubernetes, kini usa ka bayanan alang kanimo, usa ka makina, ug mahimo nimong ibitay ang daghang lainlaing mga butang niini: usa ka lawas, usa ka manibela, screw sa mga pedal, mga lingkuranan. Ang pangutana mitungha - unsa ka lisud ang suporta sa Kubernetes alang kanimo? Daghan ang imong kasinatian, pila ka oras ug kahinguhaan ang imong gigugol sa pagsuporta sa Kubernetes nga nahimulag sa tanan?

Dmitry: Kini usa ka lisud kaayo nga pangutana ug aron matubag, kinahanglan naton masabtan kung unsa ang suporta ug kung unsa ang gusto naton gikan sa Kubernetes. Basin makapadayag ka?

— Sa akong nahibal-an ug sa akong nakita, karon daghang mga koponan ang gusto nga sulayan ang Kubernetes. Ang matag usa migamit sa ilang kaugalingon niini, gibutang kini sa ilang mga tuhod. Ako adunay pagbati nga ang mga tawo dili kanunay makasabut sa pagkakomplikado niini nga sistema.

Dmitry: Ingon ana.

— Unsa ka lisud ang pagkuha ug pag-instalar sa Kubernetes gikan sa wala aron kini andam na sa produksiyon?

Dmitry: Unsa ka lisud sa imong hunahuna ang pag-transplant og kasingkasing? Akong nasabtan nga kini usa ka pagkompromiso nga pangutana. Ang paggamit ug scalpel ug dili masayop dili kaayo lisud. Kung sultihan ka nila kung asa magputol ug asa magtahi, nan ang pamaagi mismo dili komplikado. Lisud ang paggarantiya matag karon ug unya nga ang tanan mahuman.

Ang pag-instalar sa Kubernetes ug pagpaandar niini sayon: piso! - na-install, adunay daghang mga pamaagi sa pag-install. Apan unsay mahitabo kon motungha ang mga problema?

Kanunay nga motungha ang mga pangutana - unsa ang wala pa naton tagda? Unsa ang wala pa nato mahimo? Unsang mga parameter sa kernel sa Linux ang sayop nga gipiho? Ginoo, nahisgotan pa ba namo sila?! Unsa nga mga sangkap sa Kubernetes ang among gihatag ug unsa ang wala namo? Liboan ka mga pangutana ang mitungha, ug aron matubag kini, kinahanglan nimo nga mogugol og 15-20 ka tuig sa kini nga industriya.

Naa koy bag-o nga pananglitan sa kini nga hilisgutan nga mahimong magpadayag sa kahulugan sa problema "Lisud ba ang mga Kubernetes nga mapadayon?" Kaniadto seryoso namo nga gikonsiderar kung kinahanglan ba namon nga ipatuman ang Cilium ingon usa ka network sa Kubernetes.

Pasabta ko kung unsa ang Cilium. Ang Kubernetes adunay daghang lain-laing mga pagpatuman sa networking subsystem, ug ang usa niini cool kaayo - Cilium. Unsa ang kahulogan niini? Sa kernel, pipila ka mga panahon ang milabay nahimong posible ang pagsulat sa mga kaw-it alang sa kernel, nga sa usa ka paagi o sa lain mosulong sa network subsystem ug lain-laing mga subsystems, ug tugotan ka sa pag-bypass sa dagkong mga tipak sa kernel.

Ang Linux kernel sa kasaysayan adunay usa ka ip rout, usa ka overfilter, mga tulay ug daghang lainlain nga daan nga mga sangkap nga 15, 20, 30 ka tuig ang edad. Sa kinatibuk-an, sila nagtrabaho, ang tanan maayo, apan karon sila nagpundok sa mga sudlanan, ug kini morag usa ka tore nga 15 ka tisa sa ibabaw sa usag usa, ug ikaw nagbarug niini sa usa ka paa - usa ka katingad-an nga pagbati. Kini nga sistema sa kasaysayan naugmad nga adunay daghang mga nuances, sama sa apendiks sa lawas. Sa pipila ka mga sitwasyon adunay mga isyu sa performance, pananglitan.

Adunay usa ka talagsaon nga BPF ug ang abilidad sa pagsulat sa mga kaw-it alang sa kernel - ang mga lalaki nagsulat sa ilang kaugalingong mga kaw-it alang sa kernel. Ang package moabut sa Linux kernel, ilang kuhaon kini sa input, iproseso kini sa ilang kaugalingon ingon nga kini kinahanglan nga walay mga tulay, walay TCP, walay IP stack - sa laktud, laktawan ang tanan nga nahisulat sa Linux kernel, ug unya moluwa. kini isulod sa sudlanan.

Unsay nahitabo? Nindot kaayo nga performance, cool features - cool lang! Apan among gitan-aw kini ug nakita nga sa matag makina adunay usa ka programa nga nagkonektar sa Kubernetes API ug, base sa datos nga nadawat niini gikan niini nga API, nagmugna og C code ug nag-compile sa mga binary nga gikarga niini sa kernel aron kini nga mga kaw-it molihok. sa kernel space.

Unsa ang mahitabo kung adunay mahitabo nga sayup? Wala mi kabalo. Aron masabtan kini, kinahanglan nimo nga basahon kining tanan nga code, sabton ang tanang lohika, ug kahibulongan kung unsa kini ka lisud. Apan, sa laing bahin, adunay kini nga mga tulay, net filter, ip rout - wala nako mabasa ang ilang gigikanan nga code, ug wala usab ang 40 nga mga inhenyero nga nagtrabaho sa among kompanya. Tingali pipila lamang ang nakasabut sa pipila ka bahin.

Ug unsa ang kalainan? Kini nahimo nga adunay ip rout, ang Linux kernel, ug adunay usa ka bag-ong himan - unsa ang kalainan niini, wala kami makasabut sa usa o sa lain. Apan nahadlok kami nga mogamit ug bag-ong butang - ngano? Tungod kay kung ang himan 30 ka tuig ang edad, nan sa 30 ka tuig ang tanan nga mga bug nakit-an, ang tanan nga mga sayup natun-an ug dili nimo kinahanglan mahibal-an ang tanan - kini molihok sama sa usa ka itom nga kahon ug kanunay nga molihok. Ang tanan nahibal-an kung unsang diagnostic screwdriver ang ibutang kung asa nga lugar, kung unsang tcpdump ang modagan sa unsang orasa. Ang tanan nahibal-an pag-ayo sa diagnostic nga mga utilities ug nakasabut kung giunsa kini nga hugpong sa mga sangkap molihok sa kernel sa Linux - dili kung giunsa kini molihok, apan kung giunsa kini gamiton.

Ug ang katingad-an nga Cilium wala pa 30 ka tuig ang edad, wala pa kini tigulang. Ang Kubernetes adunay parehas nga problema, kopya. Nga ang Cilium hingpit nga na-install, nga ang Kubernetes na-install nga hingpit, apan kung adunay sayup sa produksiyon, dali ba nimo masabtan sa usa ka kritikal nga sitwasyon kung unsa ang sayup?

Kung giingon namon nga lisud ang pagpadayon sa Kubernetes - dili, dali ra kaayo, ug oo, lisud kaayo. Ang mga Kubernetes maayo nga nagtrabaho sa iyang kaugalingon, apan adunay usa ka bilyon nga nuances.

Mahitungod sa "I'll be lucky" approach

— Aduna bay mga kompanya diin kini nga mga nuances hapit garantiya nga makita? Ibutang ta nga kalit nga gibalhin sa Yandex ang tanan nga mga serbisyo sa Kubernetes, adunay daghang karga didto.

Dmitry: Dili, kini dili usa ka panag-istoryahanay mahitungod sa load, apan mahitungod sa pinakasimple nga mga butang. Pananglitan, kami adunay mga Kubernetes, among gi-deploy ang aplikasyon didto. Giunsa nimo pagkahibalo nga kini nagtrabaho? Wala’y andam nga himan aron masabtan nga ang aplikasyon wala nag-crash. Wala’y andam nga sistema nga nagpadala mga alerto; kinahanglan nimo nga i-configure kini nga mga alerto ug matag iskedyul. Ug among gi-update ang Kubernetes.

Naa koy Ubuntu 16.04. Mahimo nimong isulti nga kini usa ka karaan nga bersyon, apan nagpadayon gihapon kami niini tungod kay kini LTS. Adunay systemd, ang nuance niini mao nga dili kini limpyohan ang mga C-group. Ang Kubernetes naglunsad og mga pod, nagmugna og mga C-group, unya nagtangtang sa mga pod, ug sa usa ka paagi kini nahimo - Wala ko mahinumdom sa mga detalye, sorry - nga nagpabilin ang mga systemd slices. Kini modala ngadto sa kamatuoran nga sa paglabay sa panahon, bisan unsa nga sakyanan nagsugod sa paghinay sa kusog. Dili ni pangutana bahin sa highload. Kung ang mga permanente nga pod gilansad, pananglitan, kung adunay usa ka Cron Job nga kanunay nga nagpatunghag mga pod, nan ang makina nga adunay Ubuntu 16.04 magsugod sa paghinay pagkahuman sa usa ka semana. Adunay kanunay nga taas nga load average tungod sa kamatuoran nga usa ka hugpong sa mga C-group ang nahimo. Kini ang problema nga atubangon ni bisan kinsa nga tawo nga nag-install lang sa Ubuntu 16 ug Kubernetes sa ibabaw.

Ingnon ta nga nag-update siya sa systemd o uban pa, apan sa Linux kernel hangtod sa 4.16 mas kataw-anan - kung imong gitangtang ang mga C-group, nag-leak sila sa kernel ug wala gyud matangtang. Busa, pagkahuman sa usa ka bulan nga pagtrabaho sa kini nga makina, imposible nga tan-awon ang mga istatistika sa panumduman alang sa mga abohan. Gikuha namon ang usa ka file, gi-roll kini sa programa, ug ang usa ka file nag-roll sulod sa 15 segundos, tungod kay ang kernel nagkinahanglan og taas nga panahon sa pag-ihap sa usa ka milyon nga C-group sa sulod sa iyang kaugalingon, nga ingon og gitangtang, apan wala - sila nag-leak .

Adunay daghan pa nga mga gagmay nga butang dinhi ug didto. Dili kini usa ka isyu nga usahay atubangon sa mga higanteng kompanya sa ilawom sa bug-at nga mga karga - dili, kini usa ka butang sa adlaw-adlaw nga mga butang. Ang mga tawo mahimong magkinabuhi nga sama niini sulod sa mga bulan - gi-install nila ang Kubernetes, gi-deploy ang aplikasyon - kini daw nagtrabaho. Alang sa daghang mga tawo kini normal. Dili gani nila mahibal-an nga kini nga aplikasyon mag-crash sa usa ka hinungdan, dili sila makadawat usa ka alerto, apan alang kanila kini ang naandan. Kaniadto, nagpuyo kami sa mga virtual nga makina nga wala’y pag-monitor, karon mibalhin kami sa Kubernetes, wala usab pag-monitor - unsa ang kalainan?

Ang pangutana mao nga kung maglakaw kita sa yelo, dili gyud nato mahibal-an ang gibag-on niini gawas kung atong sukdon kini daan. Daghang mga tawo ang naglakaw ug dili mabalaka, tungod kay sila nakalakaw na kaniadto.

Gikan sa akong panan-aw, ang nuance ug pagkakomplikado sa pag-operate sa bisan unsang sistema mao ang pagsiguro nga ang gibag-on sa yelo igo ra aron masulbad ang among mga problema. Kini ang atong gihisgutan.

Sa IT, para nako, daghan kaayo ang "I'll be lucky" approaches. Daghang mga tawo ang nag-install sa software ug naggamit sa mga librarya sa software sa paglaum nga swerte sila. Sa kinatibuk-an, daghang mga tawo ang swerte. Mao tingali nga kini molihok.

— Gikan sa akong pessimistic nga pagtasa, ingon niini: kung ang mga peligro taas, ug ang aplikasyon kinahanglan molihok, nan kinahanglan ang suporta gikan sa Flaunt, tingali gikan sa Red Hat, o kinahanglan nimo ang imong kaugalingon nga internal nga team nga gipahinungod ilabi na sa Kubernetes, nga andam na. sa pagbira niini.

Dmitry: Sa tinuud, mao kini. Ang pagsulod sa istorya sa Kubernetes alang sa usa ka gamay nga team sa imong kaugalingon naglambigit sa daghang mga risgo.

Nagkinahanglan ba kita og mga sudlanan?

— Mahimo ba nimo isulti kanamo kung unsa ka kaylap ang Kubernetes sa Russia?

Dmitry: Wala ako niini nga datos, ug dili ako sigurado nga adunay uban nga aduna niini. Nag-ingon kami: "Kubernetes, Kubernetes," apan adunay laing paagi sa pagtan-aw niini nga isyu. Wala usab ako kahibalo kung unsa ka kaylap ang mga sudlanan, apan nahibal-an nako ang usa ka numero gikan sa mga taho sa Internet nga 70% sa mga sudlanan gi-orkestra sa Kubernetes. Kini usa ka kasaligan nga tinubdan alang sa usa ka medyo dako nga sample sa tibuuk kalibutan.

Unya laing pangutana - kinahanglan ba nato ang mga sudlanan? Ang akong personal nga pagbati ug ang kinatibuk-ang posisyon sa kompanya sa Flant mao nga ang Kubernetes usa ka de facto nga sumbanan.

Walay lain gawas sa Kubernetes.

Kini usa ka hingpit nga game-changer sa natad sa pagdumala sa imprastraktura. Bug-os lang - mao na, wala nay Ansible, Chef, virtual machines, Terraform. Wala ko maghisgot bahin sa mga karaang pamaagi sa kolektibong umahan. Ang Kubernetes usa ka hingpit nga pagbag-o, ug karon mahitabo na lang kini.

Klaro nga alang sa uban nagkinahanglan kini og pipila ka tuig, ug alang sa uban pipila ka mga dekada, aron makaamgo niini. Wala akoy pagduha-duha nga wala’y lain gawas sa Kubernetes ug kini nga bag-ong hitsura: wala na namon gidaot ang operating system, apan gigamit imprastraktura isip code, dili lamang sa code, apan sa yml - usa ka deklaratibo nga gihulagway nga imprastraktura. Naa koy feeling nga ingon ani lagi.

— Sa ato pa, kadtong mga kompanya nga wala pa mobalhin sa Kubernetes siguradong mobalhin niini o magpabilin sa kalimot. Nakasabot ko nimo sakto?

Dmitry: Dili usab kini hingpit nga tinuod. Pananglitan, kung kita adunay tahas sa pagpadagan sa usa ka DNS server, nan kini mahimong ipadagan sa FreeBSD 4.10 ug kini mahimo nga hingpit nga molihok sulod sa 20 ka tuig. Trabaho lang ug mao na. Tingali sa 20 ka tuig adunay kinahanglan nga i-update kausa. Kung naghisgot kami bahin sa software sa format nga among gilansad ug kini molihok sa daghang mga tuig nga wala’y mga pag-update, nga wala’y pagbag-o, nan, siyempre, wala’y Kubernetes. Wala siya kinahanglana didto.

Ang tanan nga may kalabutan sa CI/CD - bisan asa gikinahanglan ang Padayon nga Paghatud, diin kinahanglan nimo nga i-update ang mga bersyon, paghimo og aktibo nga mga pagbag-o, bisan asa nimo kinahanglan nga magtukod og fault tolerance - mga Kubernetes lamang.

Mahitungod sa microservices

- Ania ako adunay usa ka gamay nga dissonance. Aron magtrabaho uban sa Kubernetes, kinahanglan nimo ang eksternal o internal nga suporta - kini ang una nga punto. Ikaduha, kung nagsugod pa kami sa pag-uswag, gamay ra kami nga pagsugod, wala pa kami bisan unsa, ang pag-uswag alang sa Kubernetes o arkitektura sa microservice sa kinatibuk-an mahimong komplikado ug dili kanunay makatarunganon sa ekonomiya. Interesado ako sa imong opinyon - kinahanglan ba nga magsugod dayon ang mga startup sa pagsulat alang sa Kubernetes gikan sa wala, o mahimo pa ba silang magsulat usa ka monolith, ug unya moabut ra sa Kubernetes?

Dmitry: Nindot nga pangutana. Ako adunay usa ka pakigpulong mahitungod sa microservices "Microservices: Importante ang Gidak-on." Daghang mga higayon nga akong nasugatan ang mga tawo nga naningkamot sa pagmartilyo sa mga lansang gamit ang mikroskopyo. Ang pamaagi mismo husto; kami mismo ang nagdesinyo sa among internal nga software niining paagiha. Apan kung buhaton nimo kini, kinahanglan nimo nga tin-aw nga masabtan kung unsa ang imong gibuhat. Ang pulong nga labing gikasilagan nako bahin sa mga microservice mao ang "micro." Sa kasaysayan, kini nga pulong naggikan didto, ug sa pipila ka rason ang mga tawo naghunahuna nga ang micro gamay ra kaayo, ubos sa usa ka milimetro, sama sa usa ka micrometer. Sayop kini.

Pananglitan, adunay usa ka monolith nga gisulat sa 300 ka mga tawo, ug ang tanan nga miapil sa pag-uswag nakasabut nga adunay mga problema didto, ug kini kinahanglan nga mabuak sa mga micro-piraso - mga 10 ka piraso, ang matag usa gisulat sa 30 ka mga tawo. sa usa ka minimum nga bersyon. Importante kini, gikinahanglan ug bugnaw. Apan sa diha nga ang usa ka startup moabut kanato, diin 3 kaayo cool ug talented guys misulat 60 microservices sa ilang mga tuhod, sa matag higayon nga ako mangita alang sa Corvalol.

Para nako kini nahisgotan na sa liboan ka beses - nakakuha kami usa ka gipang-apod-apod nga monolith sa usa ka porma o lain. Dili kini makatarunganon sa ekonomiya, lisud kaayo sa kinatibuk-an sa tanan. Nakita nako kini sa makadaghang higayon nga sakit kaayo kanako, mao nga nagpadayon ako sa paghisgot niini.

Sa una nga pangutana, adunay panagsumpaki tali sa kamatuoran nga, sa usa ka bahin, ang Kubernetes makahadlok nga gamiton, tungod kay dili klaro kung unsa ang mahimo nga maguba didto o dili molihok, sa laing bahin, klaro nga ang tanan moadto didto ug walay lain gawas sa Kubernetes ang maglungtad . Tubag- timbanga ang gidaghanon sa kaayohan nga moabut, ang gidaghanon sa mga buluhaton nga imong masulbad. Kini anaa sa usa ka bahin sa timbangan. Sa laing bahin, adunay mga risgo nga nalangkit sa downtime o sa pagkunhod sa oras sa pagtubag, lebel sa pagkaanaa - nga adunay pagkunhod sa mga indikasyon sa pasundayag.

Ania kini - mahimo ba nga molihok dayon kami, ug gitugotan kami sa Kubernetes sa pagbuhat sa daghang mga butang nga labi ka paspas ug labi ka maayo, o mogamit kami kasaligan, nasulayan sa oras nga mga solusyon, apan labi ka hinay nga paglihok. Kini usa ka pagpili nga kinahanglan buhaton sa matag kompanya. Mahimo nimong hunahunaon kini nga usa ka agianan sa lasang - kung maglakaw ka sa una nga higayon, makit-an nimo ang usa ka bitin, usa ka tigre o usa ka buang nga badger, ug kung nakalakaw ka 10 ka beses, imong gitumban ang agianan, gikuha. ang mga sanga ug mas sayon ​​ang paglakaw. Sa matag higayon nga ang agianan mas lapad. Unya kini usa ka aspalto nga dalan, ug sa ulahi usa ka matahum nga boulevard.

Ang Kubernetes wala mohunong. Pangutana pag-usab: Ang Kubernetes, sa usa ka bahin, maoy 4-5 ka binary, sa laing bahin, kini ang tibuok ekosistema. Kini ang operating system nga naa sa among mga makina. Unsa man ni? Ubuntu o Curios? Kini ang Linux kernel, usa ka hugpong sa dugang nga mga sangkap. Kining tanan nga mga butang dinhi, usa ka makahilo nga bitin gisalibay sa dalan, usa ka koral ang gipatindog didto. Ang Kubernetes paspas kaayo ug dinamikong nag-uswag, ug ang gidaghanon sa mga risgo, ang gidaghanon sa wala mahibal-an nga mikunhod matag bulan ug, sa ingon, kini nga mga timbangan nagbag-o.

Pagtubag sa pangutana kung unsa ang kinahanglan buhaton sa usa ka pagsugod, ako moingon - adto sa Flaunt, pagbayad 150 ka libo nga mga rubles ug pagkuha usa ka turnkey nga DevOps nga dali nga serbisyo. Kung ikaw usa ka gamay nga pagsugod nga adunay pipila ka mga developer, kini molihok. Imbis nga mag-hire sa imong kaugalingon nga DevOps, kinsa kinahanglan nga makakat-on kung giunsa pagsulbad ang imong mga problema ug pagbayad sa suweldo karong panahona, makakuha ka usa ka solusyon sa turnkey sa tanan nga mga isyu. Oo, adunay pipila ka mga disbentaha. Kami, isip usa ka outsourcer, dili mahimong maapil ug dali nga motubag sa mga pagbag-o. Apan kami adunay daghang kahanas ug andam nga mga praktis. Among gigarantiyahan nga sa bisan unsa nga sitwasyon siguradong dali namong mahibal-an kini ug mabanhaw ang bisan unsang Kubernete gikan sa mga patay.

Kusganon nakong girekomendar ang pag-outsourcing sa mga startup ug natukod nga mga negosyo hangtod sa gidak-on diin mahimo nimong ipahinungod ang usa ka grupo sa 10 ka mga tawo sa mga operasyon, tungod kay kung dili wala'y punto. Kini siguradong makatarunganon nga i-outsource kini.

Mahitungod sa Amazon ug Google

— Mahimo bang isipon nga outsource ang usa ka host gikan sa solusyon gikan sa Amazon o Google?

Dmitry: Oo, siyempre, kini makasulbad sa daghang mga isyu. Apan pag-usab adunay mga nuances. Kinahanglan nimo nga masabtan kung giunsa kini gamiton. Pananglitan, adunay usa ka libo ka gagmay nga mga butang sa trabaho sa Amazon AWS: ang Load Balancer kinahanglan nga magpainit o ang usa ka hangyo kinahanglan nga isulat daan nga "guys, makadawat kami og trapiko, init ang Load Balancer alang kanamo!" Kinahanglan nimo mahibal-an kini nga mga nuances.

Kung modangop ka sa mga tawo nga espesyalista niini, masirad-an nimo ang halos tanan nga kasagarang mga butang. Kami karon adunay 40 nga mga inhenyero, sa katapusan sa tuig tingali adunay 60 - siguradong nahibal-an namon ang tanan niini nga mga butang. Bisan kung makasugat kami pag-usab niini nga problema sa usa ka proyekto, dali kami nga mangutana sa usag usa ug nahibal-an kung giunsa kini pagsulbad.

Tingali ang tubag mao - siyempre, ang usa ka gi-host nga istorya nagpadali sa pipila ka bahin. Ang pangutana mao kung andam ka ba nga mosalig sa kini nga mga host ug kung masulbad ba nila ang imong mga problema. Maayo ang nahimo sa Amazon ug Google. Alang sa tanan namong mga kaso - eksakto. Wala na miy mas positibo nga mga kasinatian. Ang tanan nga uban pang mga panganod nga among gisulayan nga pagtrabaho naghimo daghang mga problema - Ager, ug tanan nga naa sa Russia, ug tanan nga klase sa OpenStack sa lainlaing mga pagpatuman: Headster, Overage - bisan unsa ang gusto nimo. Silang tanan nagmugna og mga problema nga dili nimo gustong sulbaron.

Busa, ang tubag mao ang oo, apan, sa pagkatinuod, adunay dili kaayo daghan nga hamtong nga host solusyon.

Kinsa ang nagkinahanglan sa Kubernetes?

— Ug bisan pa, kinsa ang nanginahanglan sa Kubernetes? Kinsa ang kinahanglan nga mobalhin sa Kubernetes, kinsa ang kasagaran nga kliyente sa Flaunt nga piho nga moabut alang sa Kubernetes?

Dmitry: Kini usa ka makapaikag nga pangutana, tungod kay karon, pagkahuman sa Kubernetes, daghang mga tawo ang mianhi kanamo: "Mga igsoon, nahibal-an namon nga nagbuhat ka sa Kubernetes, buhata kini alang kanamo!" Among tubagon sila: "Mga ginoo, wala mi mag Kubernetes, nag-prod kami ug tanan nga konektado niini." Tungod kay sa pagkakaron imposible lamang ang paghimo sa usa ka produkto nga dili buhaton ang tanan nga CI / CD ug kini nga tibuuk nga istorya. Ang tanan mipahilayo sa dibisyon nga aduna kitay kalamboan pinaagi sa kalamboan, ug dayon pagpahimulos pinaagi sa pagpahimulos.

Ang among mga kliyente nagpaabot sa lainlaing mga butang, apan ang tanan naghulat alang sa pipila ka maayong milagro nga sila adunay pipila ka mga problema, ug karon - hop! — Ang mga Kubernetes maoy mosulbad niini. Ang mga tawo nagtuo sa mga milagro. Sa ilang huna-huna nasabtan nila nga walay milagro, apan sa ilang kalag naglaum sila - unsa kaha kung kining mga Kubernete ang masulbad na ang tanan alang kanato, daghan kaayo silag hisgot niini! Sa kalit siya karon - sneeze! - ug usa ka pilak nga bala, sneeze! - ug kami adunay 100% nga oras sa pag-up, ang tanan nga mga developer mahimo’g buhian ang bisan unsa nga makuha sa produksiyon 50 ka beses, ug dili kini mag-crash. Sa kinatibuk-an, usa ka milagro!

Sa dihang ang maong mga tawo moduol kanato, kita moingon: “Pasayloa, apan walay milagro.” Aron mahimong himsog, kinahanglan ka nga mokaon og maayo ug mag-ehersisyo. Aron adunay usa ka kasaligan nga produkto, kinahanglan kini buhaton nga kasaligan. Aron adunay usa ka kombenyente nga CI / CD, kinahanglan nimo nga buhaton kini nga sama niini. Daghan kana nga trabaho nga kinahanglan buhaton.

Pagtubag sa pangutana kung kinsa ang nanginahanglan sa Kubernetes - wala’y kinahanglan sa Kubernetes.

Ang ubang mga tawo adunay sayop nga pagsabut nga kinahanglan nila ang mga Kubernetes. Ang mga tawo nanginahanglan, sila adunay lawom nga panginahanglan sa paghunong sa paghunahuna, pagtuon, ug pagkainteresado sa tanan nga mga problema sa imprastraktura ug mga problema sa pagpadagan sa ilang mga aplikasyon. Gusto nila nga ang mga aplikasyon molihok ug i-deploy lang. Alang kanila, ang Kubernetes mao ang paglaum nga dili na nila madungog ang istorya nga "naghigda kami didto," o "dili kami makalihok," o uban pa.

Ang teknikal nga direktor kasagaran moanhi kanamo. Sila nangutana kaniya sa duha ka mga butang: sa usa ka bahin, sa paghatag kanato sa mga bahin, sa laing bahin, kalig-on. Gisugyot namon nga imong buhaton kini sa imong kaugalingon ug buhata kini. Ang pilak nga bala, o labi pa nga adunay plata nga plata, mao nga mohunong ka sa paghunahuna bahin sa kini nga mga problema ug pag-usik sa oras. Adunay ka mga espesyal nga tawo nga mosira niini nga isyu.

Ang mga pulong nga kinahanglan namo o ni bisan kinsa nga Kubernetes dili husto.

Kinahanglan gyud sa mga admin ang mga Kubernetes, tungod kay kini usa ka makapaikag kaayo nga dulaan nga mahimo nimong dulaon ug dulaan. Atong matinud-anon - ang tanan nahigugma sa mga dulaan. Kitang tanan mga bata sa usa ka dapit, ug kon makakita mig bag-o, gusto namong magdula niini. Alang sa uban, na-discourage kini, pananglitan, sa administrasyon, tungod kay igo na silang nagdula ug gikapoy na hangtod sa punto nga dili na nila gusto. Apan kini dili hingpit nga nawala sa bisan kinsa. Pananglitan, kung gikapoy na ako sa mga dulaan sa natad sa pagdumala sa sistema ug DevOps sa dugay nga panahon, unya ganahan gihapon ko sa mga dulaan, mopalit gihapon ko og mga bag-o. Ang tanan nga mga tawo, sa usa ka paagi o sa lain, gusto gihapon og usa ka matang sa mga dulaan.

Dili kinahanglan nga magdula sa produksiyon. Bisan unsa ang akong girekomenda nga dili buhaton ug kung unsa ang akong nakita karon nga kadaghanan: "Oh, bag-ong dulaan!" — midagan sila aron paliton, gipalit ug: “Dal-on nato kini sa eskuylahan ug ipakita kini sa tanan natong mga higala.” Ayaw kana buhata. Nangayo ko og pasaylo, ang akong mga anak bag-o lang nagdako, kanunay kong makakita og usa ka butang sa mga bata, mamatikdan kini sa akong kaugalingon, ug dayon i-generalize kini sa uban.

Ang katapusang tubag mao: dili nimo kinahanglan ang Kubernetes. Kinahanglan nimong sulbaron ang imong mga problema.

Ang imong makab-ot mao ang:

  • prod dili mahulog;
  • bisan kung siya mosulay sa pagkahulog, nahibal-an naton kini nga daan, ug mahimo naton ibutang ang usa ka butang niini;
  • mahimo natong usbon kini sa katulin diin gikinahanglan kini sa atong negosyo, ug mahimo nato kini nga sayon; dili kini makahatag kanato og bisan unsang mga problema.

Adunay duha ka tinuod nga panginahanglan: kasaligan ug dynamism/flexibility sa rollout. Ang tanan nga sa pagkakaron naghimo sa usa ka matang sa mga proyekto sa IT, bisan unsa nga matang sa negosyo - humok alang sa pagpagaan sa kalibutan, ug kinsa nakasabut niini, kinahanglan nga masulbad kini nga mga panginahanglan. Ang mga Kubernetes nga adunay husto nga pamaagi, nga adunay husto nga pagsabut ug adunay igo nga kasinatian nagtugot kanimo sa pagsulbad niini.

Mahitungod sa walay server

— Kon motan-aw ka sa usa ka gamay nga dugang ngadto sa umaabot, unya naningkamot sa pagsulbad sa problema sa pagkawala sa labad sa ulo uban sa imprastraktura, uban sa katulin sa rollout ug sa katulin sa aplikasyon kausaban, bag-ong mga solusyon makita, alang sa panig-ingnan, serverless. Gibati ba nimo ang bisan unsang potensyal niini nga direksyon ug, ingnon ta, usa ka peligro alang sa Kubernetes ug parehas nga mga solusyon?

Dmitry: Dinhi kinahanglan natong isulti pag-usab nga dili ako usa ka manalagna nga nagtan-aw sa unahan ug nag-ingon - kini mahimong sama niini! Bisag parehas ra akong gibuhat. Gitan-aw nako ang akong mga tiil ug nakita ang daghang mga problema didto, pananglitan, kung giunsa ang paglihok sa mga transistor sa usa ka kompyuter. Kataw-anan, di ba? Nakasugat kami og pipila ka mga bug sa CPU.

Himoa nga walay server nga kasaligan, barato, episyente ug sayon, pagsulbad sa tanang isyu sa ekosistema. Dinhi miuyon ko ni Elon Musk nga gikinahanglan ang ikaduhang planeta aron makamugna og fault tolerance alang sa katawhan. Bisag wala ko kahibalo sa iyang gisulti, nakasabot ko nga dili pa ko andam nga molupad sa Mars sa akong kaugalingon ug dili kini mahitabo ugma.

Uban sa serverless klaro nga tin-aw nga kini usa ka butang nga tama sa ideolohiya, sama sa pagtugot sa sayup alang sa katawhan - nga adunay duha ka mga planeta mas maayo kaysa usa. Apan unsaon pagbuhat niini karon? Ang pagpadala ug usa ka ekspedisyon dili problema kung imong ipunting ang imong mga paningkamot niini. Ang pagpadala sa daghang mga ekspedisyon ug paghusay sa pipila ka libo nga mga tawo didto, sa akong hunahuna, realistiko usab. Apan sa paghimo niini nga bug-os nga fault-tolerant aron nga ang katunga sa katawhan nagpuyo didto, kini alang kanako karon imposible, dili giisip.

Uban sa walay server nga usa sa usa: ang butang cool, apan kini layo sa mga problema sa 2019. Mas duol sa 2030 - mabuhi ta aron makita kini. Wala koy pagduha-duha nga mabuhi ta, mabuhi gyud ta (balika sa wala pa matulog), apan karon kinahanglan naton sulbaron ang ubang mga problema. Kini sama sa pagtuo sa fairy tale pony Rainbow. Oo, usa ka magtiayon nga porsyento sa mga kaso ang nasulbad, ug sila hingpit nga nasulbad, apan sa suhetibo, ang serverless usa ka balangaw... Alang kanako, kini nga hilisgutan layo kaayo ug dili kaayo masabtan. Dili ko andam makigsulti. Sa 2019, dili ka makasulat sa usa ka aplikasyon nga wala’y server.

Giunsa ang pag-uswag sa Kubernetes

— Sa atong paglihok padulong niining posibleng nindot nga halayong kaugmaon, sa imong hunahuna sa unsang paagi molambo ang Kubernetes ug ang ekosistema sa palibot niini?

Dmitry: Daghan kog gihunahuna bahin niini ug naa koy klaro nga tubag. Ang una kay statefull - human sa tanan, stateless mas sayon ​​buhaton. Ang mga Kubernetes sa sinugdan namuhunan labi pa niini, nagsugod ang tanan niini. Ang walay estado nga mga buhat halos hingpit sa Kubernetes, walay bisan unsa nga ireklamo. Adunay daghan pa nga mga problema, o hinoon, mga nuances. Ang tanan didto maayo na alang kanamo, apan kana kami. Magkinahanglan kini og labing menos duha pa ka tuig aron kini molihok alang sa tanan. Dili kini usa ka kalkulado nga timailhan, apan ang akong gibati gikan sa akong ulo.

Sa laktod nga pagkasulti, ang statefull kinahanglan - ug molambo - kusog kaayo, tungod kay ang tanan namong mga aplikasyon nagtipig sa kahimtang; walay stateless nga mga aplikasyon. Kini usa ka ilusyon; kinahanglan nimo kanunay ang usa ka matang sa database ug uban pa. Ang Statefull bahin sa pagtul-id sa tanan nga mahimo, pag-ayo sa tanan nga mga bug, pagpaayo sa tanan nga mga problema nga giatubang karon - tawgon naton kini nga pagsagop.

Ang lebel sa wala mahibal-an, ang lebel sa wala masulbad nga mga problema, ang lebel sa kalagmitan nga makasugat og usa ka butang moubos pag-ayo. Kini usa ka importante nga istorya. Ug mga operator - ang tanan nga may kalabutan sa codification sa administrasyon nga lohika, pagkontrol sa lohika aron makakuha usa ka dali nga serbisyo: MySQL dali nga serbisyo, RabbitMQ dali nga serbisyo, Memcache dali nga serbisyo - sa kinatibuk-an, ang tanan nga kini nga mga sangkap nga kinahanglan naton garantiya nga magamit Ang kahon. Nasulbad ra niini ang kasakit nga gusto namon usa ka database, apan dili namon gusto nga ipangalagad kini, o gusto namon ang mga Kubernetes, apan dili namon gusto nga ipangalagad kini.

Kini nga istorya sa pagpalambo sa operator sa usa ka porma o lain mahimong hinungdanon sa sunod nga mga tuig.

Sa akong hunahuna ang kasayon ​​​​sa paggamit kinahanglan nga modaghan pag-ayo - ang kahon mahimong labi ka itom, labi ka kasaligan, nga adunay labi ka yano nga mga knobs.

Kausa naminaw ko sa usa ka karaan nga interbyu uban ni Isaac Asimov gikan sa 80s sa YouTube sa Saturday Night Live - usa ka programa sama sa Urgant, makapaikag lamang. Gipangutana nila siya bahin sa kaugmaon sa mga kompyuter. Siya miingon nga ang umaabot anaa sa kayano, sama sa radyo. Ang tigdawat sa radyo sa sinugdan usa ka komplikado nga butang. Aron makuha ang usa ka balud, kinahanglan nimo nga ibalik ang mga knobs sa 15 minuto, ibalik ang mga skewer ug sa kasagaran mahibal-an kung giunsa ang tanan molihok, sabta ang pisika sa transmission sa radio wave. Tungod niini, usa na lang ka knob ang nahibilin sa radyo.

Karon sa 2019 unsa nga radyo? Sa sakyanan, ang radio receiver makit-an ang tanan nga mga balud ug ang mga ngalan sa mga estasyon. Ang pisika sa proseso wala mausab sa 100 ka tuig, apan ang kasayon ​​sa paggamit adunay. Karon, ug dili lamang karon, na sa 1980, sa diha nga adunay usa ka interview uban sa Azimov, ang tanan migamit sa radyo ug walay usa nga naghunahuna kon sa unsang paagi kini nagtrabaho. Kanunay kini nga nagtrabaho - kana usa ka gihatag.

Si Azimov dayon miingon nga kini parehas sa mga kompyuter - kasayon ​​sa paggamit sa pagdugang. Samtang sa 1980 kinahanglan ka nga bansayon ​​sa pagpindot sa mga buton sa usa ka kompyuter, dili kana ang mahitabo sa umaabot.

Ako adunay usa ka pagbati nga uban sa Kubernetes ug uban sa mga imprastraktura adunay usab usa ka dako nga pagtaas sa kasayon ​​sa paggamit. Kini, sa akong opinyon, klaro - kini anaa sa ibabaw.

Unsa ang buhaton sa mga inhenyero?

— Unsa man unya ang mahitabo sa mga inhenyero ug mga tagdumala sa sistema nga nagsuporta sa Kubernetes?

Dmitry: Unsay nahitabo sa accountant human sa pag-abot sa 1C? Parehas ra. Sa wala pa kini, nag-ihap sila sa papel - karon sa programa. Ang produktibidad sa mga mamumuo miuswag pinaagi sa mga order sa kadako, apan ang pagtrabaho mismo wala mawala. Kung kaniadto gikinahanglan ang 10 ka mga inhenyero sa pag-screw sa usa ka bombilya, karon igo na ang usa.

Ang gidaghanon sa software ug ang gidaghanon sa mga buluhaton, alang kanako, karon nagtubo sa usa ka mas paspas nga rate kaysa sa bag-ong DevOps nga nagpakita ug ang kahusayan nagdugang. Adunay usa ka piho nga kakulang sa merkado karon ug kini molungtad sa taas nga panahon. Sa ulahi, ang tanan mobalik sa usa ka matang sa pagka-normal, diin ang pagka-epektibo sa pagtrabaho mouswag, adunay labi pa ug labi nga wala’y server, usa ka neuron ang gilakip sa Kubernetes, nga magpili sa tanan nga mga kahinguhaan nga eksakto kung gikinahanglan, ug sa kinatibuk-an, buhata ang tanan sa iyang kaugalingon, ingon nga kini kinahanglan - ang tawo mopalayo lang ug dili manghilabot.

Apan kinahanglan pa nga adunay maghimo mga desisyon. Klaro nga ang lebel sa mga kwalipikasyon ug espesyalisasyon niini nga tawo mas taas. Karong panahona, sa accounting department, dili na kinahanglan ang 10 ka empleyado nga maghupot ug libro aron dili kapuyon ang ilang mga kamot. Kini yano nga dili kinahanglan. Daghang mga dokumento ang awtomatiko nga gi-scan ug giila sa sistema sa pagdumala sa elektronik nga dokumento. Ang usa ka maalamon nga punoan nga accountant igo na, nga adunay labi ka daghang kahanas, nga adunay maayong pagsabut.

Sa kinatibuk-an, kini ang paagi sa pag-adto sa tanan nga mga industriya. Parehas kini sa mga awto: kaniadto, usa ka awto ang nag-abut nga adunay usa ka mekaniko ug tulo ka mga drayber. Karong panahona, ang pagdrayb og sakyanan usa ka yano nga proseso diin kitang tanan moapil kada adlaw. Walay usa nga naghunahuna nga ang usa ka sakyanan usa ka butang nga komplikado.

Ang mga DevOps o mga sistema sa engineering dili mawala - ang taas nga lebel nga trabaho ug kahusayan modako.

— Nakadungog usab ako usa ka makapaikag nga ideya nga ang trabaho sa tinuud modaghan.

Dmitry: Siyempre, usa ka gatos ka porsyento! Tungod kay ang gidaghanon sa software nga atong gisulat kanunay nga nagtubo. Ang gidaghanon sa mga isyu nga among gisulbad sa software padayon nga nagtubo. Nagkadaghan ang trabaho. Karon ang merkado sa DevOps hilabihan ka init. Makita kini sa gipaabot nga suweldo. Sa usa ka maayo nga paagi, nga walay pag-adto sa mga detalye, kinahanglan adunay mga junior nga gusto X, tungatunga nga gusto 1,5X, ug mga tigulang nga gusto 2X. Ug karon, kung imong tan-awon ang merkado sa suweldo sa Moscow DevOps, gusto sa usa ka junior gikan sa X hangtod 3X ug gusto sa usa ka senior gikan sa X hangtod 3X.

Wala’y nahibal-an kung pila ang gasto. Ang lebel sa suweldo gisukod pinaagi sa imong pagsalig - usa ka kompleto nga balay nga buang, sa tinuud, usa ka labi ka init nga merkado.

Siyempre, kini nga sitwasyon mausab sa dili madugay - ang pipila ka saturation kinahanglan nga mahitabo. Dili kini ang kaso sa pag-uswag sa software - bisan pa sa kamatuoran nga ang tanan nanginahanglan mga developer, ug ang tanan nanginahanglan maayo nga mga developer, nahibal-an sa merkado kung kinsa ang angayan - ang industriya nahusay na. Dili kana ang kaso sa DevOps karong mga adlawa.

— Gikan sa akong nadungog, nakahinapos ko nga ang kasamtangang tigdumala sa sistema dili angay mabalaka pag-ayo, apan panahon na aron mapauswag ang iyang mga kahanas ug mangandam alang sa kamatuoran nga ugma adunay daghang trabaho, apan kini mahimong labi ka kwalipikado.

Dmitry: Usa ka gatos ka porsyento. Sa kinatibuk-an, nagpuyo kita sa 2019 ug ang lagda sa kinabuhi mao kini: tibuok kinabuhi nga pagkat-on - kita makakat-on sa tibuok natong kinabuhi. Para nako karon nahibal-an na sa tanan ug gibati kini, apan dili igo nga mahibal-an - kinahanglan nimo kini buhaton. Kada adlaw kinahanglan kitang magbag-o. Kung dili nato kini buhaton, sa madugay o sa madali mahulog kita sa sidelines sa propesyon.

Pag-andam alang sa hait nga 180-degree nga pagliko. Dili nako isalikway ang usa ka sitwasyon diin adunay usa ka butang nga nagbag-o, adunay bag-o nga naimbento - kini mahitabo. Hop! - ug kami karon molihok nga lahi. Importante nga mangandam alang niini ug dili mabalaka. Mahimong mahitabo nga ugma ang tanan nga akong buhaton mahimong dili kinahanglan - wala, nagtuon ako sa tibuok nakong kinabuhi ug andam nga makakat-on pa. Dili kini problema. Dili kinahanglan nga mahadlok sa kasiguruhan sa trabaho, apan kinahanglan ka nga andam sa kanunay nga pagkat-on og bag-ong butang.

Mga pangandoy ug usa ka minuto sa advertising

- Aduna ka bay gusto?

Dmitry: Oo, daghan kog gusto.

Una ug mercantile - mag-subscribe sa YouTube. Minahal nga mga magbabasa, adto sa YouTube ug mag-subscribe sa among channel. Sa hapit usa ka bulan magsugod kami sa aktibo nga pagpalapad sa serbisyo sa video. Daghan kami nga pang-edukasyon nga sulud bahin sa Kubernetes, bukas ug lainlain: gikan sa praktikal nga mga butang, hangtod sa mga laboratoryo, hangtod sa lawom nga sukaranan nga teoretikal nga mga butang ug kung giunsa ang paggamit sa Kubernetes sa lebel sa mga prinsipyo ug mga sumbanan.

Ang ikaduha nga mercantile nga pangandoy - adto sa GitHub ug nagbutang ug mga bituon kay ato silang gipakaon. Kon dili mo kami hatagan ug mga bituon, wala kamiy makaon. Morag mana sa dula sa kompyuter. Nagbuhat kami usa ka butang, gibuhat namon, gisulayan namon, adunay nag-ingon nga kini mga makalilisang nga mga bisikleta, usa ka tawo nga ang tanan hingpit nga sayup, apan nagpadayon kami ug naglihok nga matinud-anon. Nakita namo ang problema, sulbaron kini ug ipaambit ang among kasinatian. Busa, hatagi kami ug usa ka bituon, kini dili mawala kanimo, apan kini moabut kanamo, tungod kay kami mokaon kanila.

Ikatulo, importante, ug dili na mercantile nga pangandoy - hunong na sa pagtuo sa fairy tale. Mga propesyonal ka. Ang DevOps usa ka seryoso ug responsable nga propesyon. Hunonga ang pagdula sa trabahoan. Pasagdi kini nga mag-klik alang kanimo ug imong masabtan kini. Hunahunaa nga miadto ka sa ospital, ug didto ang doktor nag-eksperimento kanimo. Akong nasabtan nga kini mahimong makapasakit sa usa ka tawo, apan, lagmit, kini dili mahitungod kanimo, apan mahitungod sa laing tawo. Ingna ang uban nga mohunong usab. Nakaguba gyud kini sa kinabuhi para natong tanan - daghan ang nagsugod sa pagtratar sa mga operasyon, mga admin ug DevOps isip mga dudes nga nakaguba na usab sa usa ka butang. Kini "nabuak" kasagaran tungod sa kamatuoran nga kami miadto sa pagdula, ug wala motan-aw uban sa usa ka bugnaw nga panimuot nga ingon niini, ug ingon niana.

Wala kini magpasabot nga dili ka mag-eksperimento. Kinahanglan namon nga mag-eksperimento, buhaton namon kini sa among kaugalingon. Sa tinuud, kami mismo usahay magdula - kini, siyempre, daotan kaayo, apan wala’y tawo nga lahi sa amon. Atong ideklara ang 2019 nga usa ka tuig sa seryoso, maayo nga gihunahuna nga mga eksperimento, ug dili mga dula sa produksiyon. Lagmit mao.

- Salamat kaayo!

Dmitry: Salamat, Vitaly, sa panahon ug sa interbyu. Dear readers, salamat kaayo kung nikalit lang mo ani nga point. Nanghinaut ko nga kami nagdala kanimo bisan usa ka pares nga mga hunahuna.

Sa interbyu, gihikap ni Dmitry ang isyu sa werf. Karon kini usa ka unibersal nga Swiss kutsilyo nga nagsulbad sa hapit tanan nga mga problema. Apan dili kanunay ingon niana. Sa DevOpsConf  sa pista RIT++ Dmitry Stolyarov mosulti kanimo mahitungod niini nga himan sa detalye. sa report "Werf mao ang among himan alang sa CI/CD sa Kubernetes" adunay tanan: mga problema ug tinago nga mga nuances sa Kubernetes, mga kapilian sa pagsulbad niini nga mga kalisdanan ug ang kasamtangan nga pagpatuman sa werf sa detalye. Apil kanamo sa Mayo 27 ug 28, maghimo kami sa hingpit nga mga himan.

Source: www.habr.com

Idugang sa usa ka comment