E nonofo fa'amaumauga i Kubernetes?

E nonofo fa'amaumauga i Kubernetes?

I se isi itu, i le talafaasolopito, o le IT IT ua vaevaeina i ni tolauapiga se lua mo soʻo se mafuaʻaga: oi latou e "mo" ma i latou e "tetee". E lē gata i lea, o le mataupu o feeseeseaʻiga e mafai ona matuā pulepuletutū. O le fea OS e sili atu: Win poʻo Linux? I luga o se Android poʻo iOS telefonipoto? E tatau ona e teuina mea uma i ao pe tuʻu i luga o le malulu RAID teuina ma tuʻu faʻamau i totonu o se sefe? E iai le aia tatau a tagata PHP e taʻua ai tagata fai polokalame? O nei fe'ese'esea'iga, i nisi taimi, e na'o le iai lava i le natura ma e leai se fa'avae e ese mai i mea tau ta'aloga.

Na tupu lava i le oʻo mai o koneteina ma nei meaʻai pele uma ma le docker ma conditional k8s, na amata ai felafolafoaiga "mo" ma "tetee" le faʻaogaina o mea fou i vaega eseese o le pito i tua na amata. (Seʻi o tatou faia se faʻaagaga muamua e ui lava o Kubernetes e masani ona faʻaalia o se tagata faʻasalalau i lenei talanoaga, o le filifiliga o lenei meafaigaluega faapitoa e le taua tele. .)

Ma, e foliga mai, o se feeseeseaiga faigofie lea i le va o itu e lua o le tupe lava e tasi. E pei o le valea ma le le alofa e pei o le feeseeseaiga e faavavau i le va o Win vs Linux, lea e iai tagata lava i se mea i le ogatotonu. Ae i le tulaga o containerization, e le o mea uma e faigofie tele. E masani lava i ia feeseeseaiga e leai se itu taumatau, ae i le tulaga o le "faʻaaogaina" poʻo le "le faʻaaogaina" pusa mo le teuina o faʻamaumauga, o mea uma e liliu i lalo. Aua i se tulaga patino, e sa'o uma le au lagolago ma le au tetee o lenei faiga.

Itu pupula

O le finauga a le Itu Malamalama e mafai ona faʻamatalaina puupuu i se tasi fuaitau: "Talofa, 2k19 o loʻo i fafo o le faamalama!" E foliga mai o le populism, ioe, ae afai e te suʻesuʻeina le tulaga i auiliiliga, e iai ona lelei. Tatou fa'avasega nei loa.

Fa'apea e iai sau galuega tele i luga ole laiga. Atonu na muamua fausia i luga o le faʻavae o se microservice approach, pe i se taimi na oʻo mai i ai e ala i se ala faʻaleleia - e le taua tele, i le mea moni. Na e fa'asalalauina la matou poloketi i 'au'aunaga laiti eseese, fa'atūina fa'asologa, fa'apaleni uta, ma fa'asolo. Ma o lenei, faatasi ai ma se lotofuatiaifo manino, e te mitiina se mojito i totonu o se hammock i taimi o aafiaga o le habra nai lo le siitia o sapalai pa'u'ū. Ae i gaioiga uma e tatau ona e tumau. O le tele lava o taimi, na'o le talosaga lava ia-o le code-o lo'o teuina. O le a se isi mea tatou te maua e ese mai le code?

E sa'o, fa'amaumauga. O le fatu o soʻo se poloketi o ana faʻamatalaga: e mafai ona avea ma DBMS masani - MySQL, Postgre, MongoDB, poʻo le teuina o loʻo faʻaaogaina mo suʻesuʻega (ElasticSearch), faʻamaumauga autu-taua mo caching - mo se faʻataʻitaʻiga, redis, ma isi. o le a tatou talanoa e uiga i filifiliga faʻatinoina backend piopio pe a pa'u le database ona o fesili le lelei tusitusia, ae nai lo o le a tatou talanoa e uiga i le faamautinoaina o le faapalepale sese o lenei lava database i lalo o uta o tagata o tausia. A uma mea uma, a matou faʻapipiʻiina a matou talosaga ma faʻatagaina e fua fua e faʻatautaia soʻo se numera o talosaga o loʻo oʻo mai, e masani lava ona faʻateleina le uta i luga o faʻamaumauga.

O le mea moni, o le auala mo le mauaina o le database ma le 'auʻaunaga o loʻo tamoʻe ai e avea ma mata o le nila i totonu o la tatou pito i tua matagofie. I le taimi lava e tasi, o le mafuaʻaga autu o le faʻaogaina o koneteina o le feʻaveaʻi ma le fetuutuunai o le fausaga, lea e mafai ai ona tatou faʻatulagaina le tufatufaina atu o uta maualuga i luga o le tele o atinaʻe o loʻo avanoa mo i tatou i le lelei e mafai ai. O lona uiga, afai tatou te le faʻapipiʻiina ma taʻavale uma elemene o loʻo i ai i luga o le fuifui, o loʻo tatou faia se mea sese matuia.

E sili atu ona talafeagai le faʻapipiʻiina e le gata o le talosaga lava ia, ae faʻapea foʻi auaunaga e nafa ma le teuina o faʻamaumauga. E ala i le faʻapipiʻiina ma le faʻapipiʻiina o 'upega tafaʻilagi e galulue tutoʻatasi ma tufatufa atu le avega ia i latou lava i k8s, ua uma ona matou foia le faʻafitauli o le faʻaogaina o faʻamaumauga - o faʻamatalaga tutusa i luga o pou, pe afai tatou te faia se faʻasalalauga poʻo le blog platform e fai ma faʻataʻitaʻiga. Po'o le a lava le tulaga, o lo'o i ai a matou fa'auluuluga, e o'o lava i le virtual, fa'atusa o fa'amaumauga o se ExternalService. O le fesili o le database lava ia e leʻi faʻapipiʻiina - o 'upega tafaʻilagi o loʻo faʻapipiʻiina i totonu o le pusa e ave faʻamatalaga e uiga i suiga mai la matou faʻamaumauga faʻamaufaʻailoga taua, lea e fesuiaʻi eseese.

E te lagona se pu'e? Matou te faʻaogaina le k8s poʻo le Swarm e tufatufa ai le uta ma aloese mai le faʻalavelaveina o le upega tafaʻilagi autu, ae matou te le faia lenei mea mo le faʻamaumauga. Ae afai e paʻu le database, ona leai lea o se uiga o a tatou atinaʻe faʻapipiʻi atoa - o le a le aoga o itulau uepisaʻi gaogao e toe faʻafoʻi mai ai se mea sese e maua ai faʻamaumauga?

O le mea lea e tatau ai ona faʻapipiʻi e le gata o 'upega tafaʻilagi, e pei ona masani ai, ae faʻapea foʻi ma faʻamaumauga faʻamaumauga. Na'o le auala lea e mafai ai ona tatou mautinoa se fausaga e galue atoatoa i le tasi 'au, ae i le taimi lava e tasi e tuto'atasi mai le tasi ma le isi. E le gata i lea, e tusa lava pe o le afa o la tatou pito i tua e "paʻu" i lalo o le uta, o le a ola le vaega o totoe, ma o le faiga o le faʻamaopoopoina o faʻamaumauga faʻatasi ma le tasi ma le isi i totonu o le fuifui ma le mafai ona faʻateleina fua ma faʻapipiʻi fuifui fou o le a fesoasoani vave e ausia le mana manaʻomia - pe ana i ai ni fata i le nofoaga autu o faamatalaga .

E le gata i lea, o le faʻataʻitaʻiga faʻamaumauga tuʻufaʻatasia i fuifui e mafai ai ona e ave lenei lava faʻamaumauga i le mea e manaʻomia; Afai o loʻo tatou talanoa e uiga i se auaunaga faʻavaomalo, o lona uiga e matua le talafeagai le viliina o se upega tafaʻilagi i se mea i le eria o San Francisco ma i le taimi lava e tasi e lafo atu ai pepa pe a maua se faʻamaumauga i le itulagi o Moscow ma tua.

E le gata i lea, o le containerization o le database e mafai ai ona e fausia elemene uma o le faiga i le tulaga tutusa o le abstraction. O lea, i le isi itu, e mafai ai ona faʻatautaia saʻo lenei faiga mai le tulafono, e le au atinaʻe, e aunoa ma le auai malosi o pule. Na manatu le au atiaʻe e manaʻomia se isi DBMS mo le poloketi fou - faigofie! tusia se faila yaml, faʻapipiʻi i le fuifui ma ua maeʻa.

Ma o le mea moni, o le gaioiga i totonu e matua faʻafaigofie. Ta'u mai ia te a'u, e faafia ona e moeiini ou mata pe a tuu atu e se tagata fou o le 'au ona lima i totonu o le database database mo le galuega? O le fea, o le mea moni, e na o le pau lea o lau mea ma o loʻo taamilo i le taimi nei? Ioe, oi tatou uma lava o tagata matutua iinei, ma i se mea e i ai sa tatou faʻamaumauga fou, ma e sili atu - i tua atu o le fata o loʻo i ai kukama a tinamatua ma faaseʻe tuai - o se isi faʻamaumauga, atonu e oʻo lava i le malulu, aua o lou ofisa ua uma ona mu. Ae tutusa uma lava, o faʻamatalaga uma a se sui fou o le 'au e iai le avanoa i atinaʻe tau ma, ioe, i le faʻamaumauga o taua o se pakete o validol mo tagata uma o loʻo siomia ai. Ia, o ai na te iloa o ia, o se tagata fou, masalo o ia o le koluse lima? E taufaafefe, e te malie.

Containerization ma, o le mea moni, o le tufatufaina atu o faʻamaumauga o faʻamaumauga a lau poloketi e fesoasoani e aloese ai mai ia taimi faʻamaonia. E te le talitonuina se tagata fou? Ua lelei! Sei o tatou tuu atu ia te ia lana lava fuifui e galue ai ma motusia le database mai isi fuifui - na'o le fa'amaopoopoina e ala i le tu'i tusilima ma le fa'aogaina o ki e lua (tasi mo le ta'ita'i, o le isi mo le pule). Ma ua fiafia tagata uma.

Ma o lenei ua oʻo i le taimi e sui ai i tagata tetee o le faʻapipiʻiina o faʻamaumauga.

Itu pogisa

O le finau pe aisea e le aoga ai le teuina o faʻamaumauga ma faʻaauau pea ona faʻatautaia i luga o le tasi server tutotonu, o le a tatou le punou atu i le tautalaga a orthodoxies ma faʻamatalaga e pei o "tamamatua na faʻatautaia faʻamaumauga i luga o meafaigaluega, ma o le a faapena foi i tatou!" Nai lo lena, sei o tatou taumafai e maua se tulaga e mafai ai e containerization ona totogi moni tufatufaga moni.

Ioe, o poloketi e manaʻomia moni lava se faʻavae i totonu o se atigipusa e mafai ona faitaulia i tamatamailima o le tasi lima e le o se tagata sili ona lelei masini masini. Mo le tele o vaega, e oʻo lava i le faʻaaogaina o le k8s poʻo le Docker Swarm lava ia e le faʻaaogaina - e masani lava o nei meafaigaluega e faʻaaogaina ona o le faʻaogaina lautele o tekinolosi ma uiga o le "malosi uma" i le tagata o le itupa e tuleia mea uma i totonu o le. ao ma pusa. Ia, ona o le taimi nei ua faʻapena ma e faia e tagata uma.

I le itiiti ifo ma le afa o mataupu, o le faʻaaogaina o Kubernetis poʻo naʻo Docker i luga o se poloketi e le faʻaaogaina. O le fa'afitauli e le o 'au uma po'o kamupani mai fafo o lo'o fa'afaigaluegaina e tausia atina'e a le tagata o tausia o lo'o iloa lenei mea. E sili atu le leaga pe a tuʻuina atu pusa, aua e tau ai se aofaiga o tupe siliva i le kalani.

I se tulaga lautele, o loʻo i ai se manatu o le docker / cube mafia o loʻo tuʻimomomoina faʻavalevalea tagata faʻatau o loʻo faʻatau atu nei faʻafitauli. A uma, ina ia mafai ona galulue faʻatasi ma fuifui, matou te manaʻomia ni inisinia e mafai ona faia lenei mea ma masani ona malamalama i le fausaga o le fofo faʻatinoina. Ua uma ona matou faamatalaina la matou mataupu i le lomiga a le Republic - o iina na matou aoaoina ai le au a le kalani e galulue i mea moni o Kubernetis, ma na faamalieina tagata uma. Ma sa lelei. E masani lava, o k8s "tagata faʻatinoina" e ave faʻatau a le kalani - aua o lea ua naʻo latou malamalama pe faʻapefea ona galue mea uma iina; e leai ni tagata tomai faapitoa i le itu a le kalani.

Va'ai la o le auala lea tatou te outsource e le gata i le web server vaega, ae faapea foi le tausiga o database. Na matou fai mai o le BD o le fatu, ma o le leiloa o le fatu e afaina ai soʻo se mea ola. I se faapuupuuga, o faʻamoemoega e le o se mea sili. O lea la, nai lo le hype Kubernetis, o le tele o poloketi e le tatau ona faʻalavelave i le tau masani mo le AWS, lea o le a foia uma ai faʻafitauli i le uta i luga o latou nofoaga / poloketi. Ae o le AWS e le o toe faʻafou, ma o faʻaaliga e sili atu le taua nai lo tupe - o le mea e leaga ai, i le IT siosiomaga foi.

Ua lelei. Masalo o le poloketi e manaʻomia tele le faʻapipiʻiina, ae afai e manino mea uma i talosaga e leai ni setete, e faʻafefea la ona tatou faʻatulagaina fesoʻotaʻiga lelei mo se faʻamaumauga tuʻufaʻatasia?

Afai o loʻo matou talanoa e uiga i se fofo faʻainisinia e leai se aoga, o le mea lea o le suiga i le k8s, o le matou ulu autu o le faʻasologa o faʻamaumauga i totonu o se faʻamaumauga tuʻufaʻatasia. O nisi DBMS e muamua lava fa'amaoni i le tufatufaina o fa'amaumauga i le va o latou tulaga ta'itasi. E to'atele isi e le fa'afeiloa'i. Ma o le tele o taimi o le finauga autu i le filifilia o se DBMS mo la tatou poloketi e le o le mafai ona toe faʻataʻitaʻiina ma le tau maualalo o punaoa ma inisinia. Aemaise lava pe afai o le poloketi e leʻi fuafuaina muamua o se microservice, ae na o le faʻaleleia i lenei itu.

Matou te manatu e leai se manaʻoga e talanoa e uiga i le saoasaoa o taʻavale fesoʻotaʻiga - e telegese. O na. Matou te le maua lava se avanoa moni, pe a tupu se mea, e toe amata ai se faʻataʻitaʻiga DBMS i se mea o loʻo tele ai, mo se faʻataʻitaʻiga, le malosi o le gaosiga poʻo le free RAM. O le a vave ona tatou tamoe i le faatinoga o le virtualized disk subsystem. E tusa ai, e tatau ona tu'i le DBMS i ana lava seti o masini e tu latalata. Pe e mana'omia le fa'amalieina fa'amama fa'atopetope fa'atasi fa'amaumauga mo mea fa'aagaaga.

Faʻaauauina le autu o faiga faila faila: Docker Volumes, o le mea e leaga ai, e leʻo leai se faʻafitauli. I se tulaga lautele, i se mataupu e pei o le teuina o faʻamaumauga faʻalagolago mo se taimi umi, ou te manaʻo e faʻaoga i faiga sili ona faigofie faʻapitoa. Ma o le fa'aopoopoina o se fa'aputuga fou mai le koneteina FS i le FS a le matua talimalo o se tulaga lamatia lava ia. Ae a oʻo i le faʻagaioiga o le containerization support system e feagai foi ma faigata i le lafoina o faʻamatalaga i le va o nei laulau, o lona uiga o se faʻalavelave. I le taimi nei, o le tele o faʻafitauli ua iloa e tagata soifua alualu i luma e foliga mai ua faʻaumatia. Ae e te malamalama, o le sili atu ona faigata o le masini, o le faigofie foi lea ona malepe.

I le malamalama ai i nei "tulaga" uma, e sili atu le aoga ma faigofie le teuina o faʻamaumauga i se nofoaga e tasi, ma e tusa lava pe e te manaʻomia le faʻapipiʻiina o le talosaga, tuʻu e tamoʻe na o ia ma e ala atu i le faitotoa tufatufaina maua fesoʻotaʻiga tutusa ma le database, lea o le a faitau ma tusia na o le tasi ma I le nofoaga e tasi. O lenei faiga e fa'aitiitia ai le fa'aletonu ma le desynchronization i se la'ititi.

O le a le mea o loo tatou agai i ai? E le gata i lea, e talafeagai le fa'aputuina o fa'amaumauga i nofoaga e mana'omia moni ai. E le mafai ona e fa'atumuina se fa'amaumauga tu'ufa'atasiga atoa ma vili e pei o lo'o i ai au microservices e lua sefulu - e le aoga lena auala. Ma e tatau ona malamalama lelei i lenei mea.

Nai lo galuega faatino

Afai o loʻo e faʻatali mo se faʻaiʻuga manino "e faʻamaonia le database pe leai," ona matou faʻanoanoa ai lea: o le a le i ai iinei. Talu ai pe a fatuina soʻo se faʻafitauli faʻapitoa, e tatau ona taʻitaʻia se tasi e le o le masani ma le alualu i luma, ae, muamua lava, i le mafaufau masani.

E i ai galuega faatino e fetaui lelei ai mataupu faavae ma meafaigaluega e sau ma Kubernetis, ma i ia galuega o loʻo i ai le filemu i le pito i tua. Ma o loʻo i ai galuega faatino e le manaʻomia le faʻapipiʻiina, ae o se faʻalapotopotoga masani, aua e le mafai ona latou toe faʻafoʻi i le microservice cluster model, aua o le a latou paʻu.

puna: www.habr.com

Faaopoopo i ai se faamatalaga