Nalane ea ho theha tšebeletso ea leru, e monate ka cyberpunk

Nalane ea ho theha tšebeletso ea leru, e monate ka cyberpunk

Ha u ntse u sebetsa ho IT, u qala ho hlokomela hore litsamaiso li na le sebopeho sa tsona. Li ka ba tse tenyetsehang, tse khutsitseng, tse sa tsitsang, le tse thata. Li ka hohela kapa tsa leleka. Ka tsela e 'ngoe kapa e' ngoe, u tlameha ho "buisana" le bona, ho tsamaisa pakeng tsa "likoti" le ho haha ​​liketane tsa tšebelisano ea bona.

Kahoo re bile le tlotla ea ho aha sethala sa maru, mme bakeng sa sena re ne re hloka ho "susumelletsa" litsamaiso tse 'maloa ho sebetsa le rona. Ka lehlohonolo, re na le "puo ea API", matsoho a tobileng le cheseho e ngata.

Sengoliloeng sena ha se na ho ba hardcore ka botekgeniki, empa se tla hlalosa mathata ao re kopaneng le ona ha re ntse re haha ​​​​leru. Ke ile ka etsa qeto ea ho hlalosa tsela ea rona ka mokhoa oa ho nahana ka mokhoa o bobebe oa tekheniki mabapi le hore na re ne re batla puo e tloaelehileng joang ka litsamaiso le se tsoang ho eona.

Rea u amohela ho katse.

Qaleho ya tsela

Nakong e fetileng, sehlopha sa rona se ne se filoe mosebetsi oa ho qala sethala sa maru bakeng sa bareki ba rona. Re ne re e-na le tšehetso ea tsamaiso, lisebelisoa, stack ea hardware le bolokolohi ba ho khetha mahlale a ho kenya tšebetsong karolo ea software ea ts'ebeletso.

Hape ho ne ho e-na le litlhoko tse 'maloa:

  • tšebeletso e hloka akhaonto e bonolo ea botho;
  • sethala se tlameha ho kopanngoa le mokhoa o teng oa ho lefella;
  • software le hardware: OpenStack + Tungsten Fabric (Open Contrail), eo baenjiniere ba rona ba ithutileng ho "pheha" hantle.

Re tla u bolella nako e 'ngoe mabapi le hore na sehlopha se ne se bokane joang, sebopeho sa akhaonto ea botho se ile sa ntlafatsoa 'me liqeto tsa moralo li entsoe, haeba sechaba sa Habra se thahasella.
Lisebelisoa tseo re entseng qeto ea ho li sebelisa:

  • Python + Flask + Swagger + SQLAlchemy - sete e tloaelehileng ea Python;
  • Vue.js bakeng sa maemo a ka pele;
  • Re nkile qeto ea ho etsa tšebelisano lipakeng tsa likarolo le lits'ebeletso re sebelisa Celery ho feta AMQP.

Ho lebella lipotso mabapi le ho khetha Python, ke tla hlalosa. Puo e fumane sebaka sa eona k'hamphaning ea rona mme setso se senyenyane, empa se ntse se le teng, se se se ntlafalitse ho e potoloha. Ka hona, ho ile ha etsoa qeto ea ho qala ho haha ​​tšebeletso ho eona. Ho feta moo, lebelo la tsoelo-pele mathateng a joalo hangata le etsa qeto.

Kahoo, a re qaleng ho tloaelana le rona.

Bili e khutsitseng - litefiso

Ke khale re tseba thaka lena. Kamehla o ne a lula pel’a ka ’me a bala ho hong ka khutso. Ka linako tse ling o ne a romela likopo tsa basebelisi ho rona, a fana ka li-invoice tsa bareki, le litšebeletso tse laoloang. Motho ea tloaelehileng ea sebetsang ka thata. Ke ’nete hore ho ne ho e-na le mathata. Oa khutsa, ka linako tse ling o nahanela 'me hangata o nahana ka kelello ea hae.

Nalane ea ho theha tšebeletso ea leru, e monate ka cyberpunk

Tefiso ke sistimi ea pele eo re lekileng ho etsa setsoalle le eona. 'Me bothata ba pele boo re ileng ra kopana le bona ke ha ho sebetsa litšebeletso.

Ka mohlala, ha e etsoa kapa e hlakotsoe, mosebetsi o kena moleng oa tefiso oa ka hare. Ka hona, tsamaiso ea mosebetsi oa asynchronous le litšebeletso e kenngoa ts'ebetsong. Ho sebetsana le mefuta ea litšebeletso tsa rona, re ne re hloka ho "beha" mesebetsi ea rona moleng ona. Mme mona re ile ra ba le bothata: ho hloka litokomane.

Nalane ea ho theha tšebeletso ea leru, e monate ka cyberpunk

Ho latela tlhaloso ea software ea API, ho ntse ho ka khoneha ho rarolla bothata bona, empa re ne re se na nako ea ho etsa reverse engineering, kahoo re ile ra nka logic ka ntle 'me ra hlophisa letoto la mosebetsi holim'a RabbitMQ. Ts'ebetso ea ts'ebeletso e qalisoa ke moreki ho tsoa akhaonteng ea hae ea botho, e fetoha "mosebetsi" oa Celery ka morao mme o etsoa ka lehlakoreng la tefiso le OpenStack. Celery e etsa hore ho be bonolo ho laola mesebetsi, ho hlophisa ho pheta-pheta le ho lekola maemo. U ka bala haholoanyane ka "celery", mohlala, mona.

Hape, ho lefa ha hoa ka ha emisa morero o neng o felloa ke chelete. Ha re buisana le bahlahisi, re fumane hore ha re bala lipalo-palo ('me re hloka ho kenya ts'ebetsong hantle mofuta ona oa logic), ho na le kamano e rarahaneng ea melao ea ho emisa. Empa mehlala ena ha e lumellane hantle le 'nete ea rona. Re boetse re e kentse ts'ebetsong ka mesebetsi ho Celery, re isa mohopolo oa tsamaiso ea litšebeletso ka lehlakoreng le ka morao.

Mathata a mabeli a ka holimo a ile a etsa hore khoutu e fokotsehe hanyenyane 'me nakong e tlang re tla tlameha ho refactor e le hore re tsamaise mohopolo oa ho sebetsa le mesebetsi ho ea tšebeletsong e fapaneng. Hape re hloka ho boloka tlhahisoleseling mabapi le basebelisi le lits'ebeletso tsa bona litafoleng tsa rona ho ts'ehetsa mohopolo ona.

Bothata bo bong ke ho thola.

Billy o araba ka khutso "Ho lokile" ho likopo tse ling tsa API. Ho bile joalo, ka mohlala, ha re ne re lefa litefo tse tšepisitsoeng nakong ea teko (ho feta moo hamorao). Likopo li entsoe ka nepo 'me ha rea ​​ka ra bona liphoso leha e le life.

Nalane ea ho theha tšebeletso ea leru, e monate ka cyberpunk

Ke ile ka tlameha ho ithuta lifate ha ke ntse ke sebetsa le tsamaiso ka UI. Ho ile ha fumaneha hore tefiso ka boeona e etsa likopo tse tšoanang, ho fetola sebaka ho mosebelisi ea itseng, mohlala, admin, ho e fetisa ka parameter ea su.

Ka kakaretso, ho sa tsotellehe likheo tsa litokomane le liphoso tse nyenyane tsa API, ntho e 'ngoe le e' ngoe e ile ea tsamaea hantle. Li-log li ka baloa le tlas'a moroalo o boima haeba u utloisisa hore na li hlophisitsoe joang le hore na u batla eng. Sebopeho sa database se majabajaba, empa sea utloahala ebile ka litsela tse ling se bile se khahla.

Kahoo, ho akaretsa, mathata a mantlha ao re kopaneng le ona sethaleng sa tšebelisano a amana le likarolo tsa ts'ebetso ea sistimi e itseng:

  • “litšobotsi” tse se nang litokomane tse ileng tsa re ama ka tsela e itseng;
  • mohloli o koetsoeng (tefiso e ngotsoe ho C ++), ka lebaka leo - ho ke ke ha khoneha ho rarolla bothata ba 1 ka tsela leha e le efe ntle le "teko le phoso".

Ka lehlohonolo, sehlahisoa se na le API e pharalletseng mme re kenyelletse li-subsystems tse latelang akhaonteng ea rona:

  • Mojule oa tšehetso ea tekheniki - likopo tse tsoang akhaonteng ea hau ea "proxied" ho tefiso ea pepenene bakeng sa bareki ba lits'ebeletso;
  • module ea lichelete - e u lumella ho fana ka li-invoice ho bareki ba hona joale, ho ngola le ho hlahisa litokomane tsa tefo;
  • mojule oa taolo ea litšebeletso - bakeng sa sena re ile ra tlameha ho kenya ts'ebetsong ea rona. Katoloso ea sistimi e ile ea bapaloa matsohong a rona mme ra "ruta" Billy mofuta o mocha oa ts'ebeletso.
    E ne e le bothatanyana, empa ka tsela e itseng, ke nahana hore nna le Billy re tla utlwana.

Ho tsamaea masimong a tungsten - Tungsten Fabric

Masimo a Tungsten a ne a e-na le mehala e makholo-kholo, a fetisang lintlha tse likete-kete tsa boitsebiso ho ’ona. Boitsebiso bo bokelloa ka "lipakete", li arotsoe, ho haha ​​litsela tse rarahaneng, joalokaha eka ke ka boselamose.

Nalane ea ho theha tšebeletso ea leru, e monate ka cyberpunk

Ena ke sebaka sa tsamaiso ea bobeli eo re ileng ra tlameha ho etsa metsoalle ka eona - Tungsten Fabric (TF), eo pele e neng e le OpenContrail. Mosebetsi oa eona ke ho laola lisebelisoa tsa marang-rang, ho fana ka tlhahiso ea software ho rona re le basebelisi. TF - SDN, e kenyelletsa mohopolo o rarahaneng oa ho sebetsa le lisebelisoa tsa marang-rang. Ho na le sengoloa se setle mabapi le theknoloji ka boeona, mohlala, mona.

Sistimi e kopantsoe le OpenStack (e tšohliloeng ka tlase) ka plugin ea Neutron.

Nalane ea ho theha tšebeletso ea leru, e monate ka cyberpunk
Tšebelisano ea lits'ebeletso tsa OpenStack.

Bashemane ba lefapha la ts'ebetso ba re tsebisitse tsamaisong ena. Re sebelisa sistimi ea API ho laola marang-rang a litšebeletso tsa rona. Ha e e-s'o re bakele mathata a tebileng kapa litšitiso leha ho le joalo (ha ke khone ho bua bakeng sa bashanyana ba tsoang ho OE), empa ho bile le lintho tse sa tloaelehang ho sebelisana.

Ea pele e ne e shebahala tjena: litaelo tse neng li hloka ho ntša palo e kholo ea data ho khomphutha ea mohlala ha u hokela ka SSH feela "ho fanyeha" khokahano, ha ka VNC tsohle li sebetsa ka nepo.

Nalane ea ho theha tšebeletso ea leru, e monate ka cyberpunk

Bakeng sa ba sa tsebeng bothata bona, e shebahala e qabola haholo: ls /root e sebetsa ka nepo, athe, mohlala, holimo "ho hoama" ka botlalo. Ka lehlohonolo, re kile ra kopana le mathata a tšoanang. E ile ea etsoa qeto ka ho lokisa MTU tseleng e tsoang ho li-compute nodes ho ea ho li-routers. Ka tsela, sena ha se bothata ba TF.

Bothata bo latelang bo ne bo le haufi. Ka motsotso o le mong "o motle", boselamose ba ho tsamaisa bo ile ba nyamela, joalo feela. TF e emisitse ho laola ho tsamaisa thepa.

Nalane ea ho theha tšebeletso ea leru, e monate ka cyberpunk

Re sebelitse le Openstack ho tloha boemong ba admin mme ka mor'a moo ra fallela boemong bo hlokahalang ba mosebedisi. SDN e bonahala e "koetela" sebaka sa mosebelisi eo liketso li etsoang ke eena. 'Nete ke hore ak'haonte e tšoanang ea admin e sebelisoa ho hokahanya TF le OpenStack. Mothating oa ho fetohela ho mosebelisi, "boselamose" bo ile ba nyamela. Ho ile ha etsoa qeto ea ho theha akhaonto e arohaneng ho sebetsa le tsamaiso. Sena se ile sa re lumella ho sebetsa ntle le ho senya ts'ebetso ea ho kopanya.

Silicon Lifeforms - OpenStack

Sebōpuoa sa silicone se nang le sebopeho se makatsang se lula haufi le masimo a tungsten. Ka holim'a tsohle, ho bonahala eka ke ngoana ea seng a hōlile ea ka re pshatlang ka sekheo se le seng, empa ha ho mabifi a totobetseng a tsoang ho eena. Ha e bake tšabo, empa boholo ba eona bo susumetsa tšabo. Joalo ka ho rarahana ha se etsahalang ho potoloha.

Nalane ea ho theha tšebeletso ea leru, e monate ka cyberpunk

OpenStack ke motheo oa sethala sa rona.

OpenStack e na le li-subsystems tse 'maloa, tseo hajoale re li sebelisang ka mafolofolo Nova, Glance le Cinder. E 'ngoe le e' ngoe ea tsona e na le API ea eona. Nova e ikarabella bakeng sa lisebelisoa tsa khomphutha le ho theha maemo, Cinder e ikarabella bakeng sa ho laola palo le linepe tsa bona, Glance ke ts'ebeletso ea litšoantšo e tsamaisang litempele tsa OS le metainformation ho tsona.

Ts'ebeletso e 'ngoe le e' ngoe e sebetsa ka har'a sets'oants'o, 'me morekisi oa melaetsa ke "mmutla o mosoeu" - RabbitMQ.

Tsamaiso ena e re file mathata a neng a sa lebelloa.

'Me bothata ba pele ha boa ka ba nka nako e telele ho tla ha re leka ho hokahanya molumo o eketsehileng ho seva. Cinder API e ile ea hana ka botlalo ho etsa mosebetsi ona. Ha e le hantle, haeba u lumela OpenStack ka boeona, khokahano e thehiloe, empa ha ho na sesebelisoa sa disk ka har'a seva sa sebele.

Nalane ea ho theha tšebeletso ea leru, e monate ka cyberpunk

Re nkile qeto ea ho kheloha 'me ra kopa ts'ebetso e ts'oanang ho Nova API. Sephetho ke hore sesebelisoa se hokahana ka nepo mme se fumaneha ka har'a seva. Ho bonahala eka bothata bo etsahala ha block-storage e sa arabe Cinder.

Bothata bo bong bo ne bo re emetse ha re sebetsa ka li-disk. Bophahamo ba sistimi ha bo khone ho hakoa ho tsoa ho seva.

Hape, OpenStack ka boeona "e hlapanya" hore e sentse khokahano mme joale o ka sebetsa ka nepo ka molumo ka thoko. Empa API e ne e sa batle ho etsa ts'ebetso ho disk.

Nalane ea ho theha tšebeletso ea leru, e monate ka cyberpunk

Mona re ile ra etsa qeto ea hore re se ke ra loana ka ho khetheha, empa ho fetola pono ea rona ea logic ea tšebeletso. Haeba ho na le mohlala, ho tlameha hore ho be le molumo oa tsamaiso. Ka hona, mosebelisi ha a khone ho tlosa kapa ho tima "disk" ea sistimi ntle le ho hlakola "server".

OpenStack ke sete e rarahaneng ea litsamaiso tse nang le mohopolo oa eona oa ho sebelisana le API e majabajaba. Re thusoa ke litokomane tse qaqileng, ehlile, liteko le liphoso (re ka be re le kae ntle le tsona).

Ho matha teko

Re entse tlhahiso ea liteko ka Tšitoe selemong se fetileng. Mosebetsi o ka sehloohong e ne e le ho leka morero oa rona ka mokhoa oa ntoa ho tloha ka lehlakoreng la tekheniki le ho tloha lehlakoreng la UX. Bamameli ba ile ba mengoa ka boikhethelo ’me tlhahlobo ea koaloa. Leha ho le joalo, re boetse re tlohetse khetho ea ho kopa phihlello ea liteko webosaeteng ea rona.

Teko ka boeona, ehlile, e ne e se ntle le linako tsa eona tse qabolang, hobane ke hona moo liketsahalo tsa rona li qalang.

Taba ea pele, re ile ra lekola thahasello morerong ka tsela e fosahetseng, 'me ra tlameha ho kenya li-node tsa komporo kapele nakong ea tlhahlobo. Nyeoe e tloaelehileng bakeng sa sehlopha, empa ho ne ho boetse ho na le li-nuances mona. Litokomane tsa mofuta o itseng oa TF li bonts'a mofuta o ikhethileng oa kernel oo mosebetsi oa vRouter o ileng oa lekoa ho oona. Re nkile qeto ea ho qala li-node ka lithollo tsa morao-rao. Ka lebaka leo, TF ha ea ka ea fumana litsela tse tsoang ho li-node. Ke ile ka tlameha ho khutlisa lithollo kapele.

Nalane ea ho theha tšebeletso ea leru, e monate ka cyberpunk

Taba e 'ngoe e amanang le ts'ebetso ea konopo ea "change password" akhaonteng ea hau.

Re nkile qeto ea ho sebelisa JWT ho hlophisa phihlello ea ak'haonte ea rona e le hore re se ke ra sebetsa ka linako. Kaha litsamaiso li fapane ebile li hasane ka ho pharaletseng, re laola token ea rona, eo ho eona re "phuthelang" mananeo ho tsoa ho tefiso le letšoao le tsoang ho OpenStack. Ha phasewete e fetotsoe, letšoao, ha e le hantle, "e tsamaea hampe", kaha data ea mosebedisi ha e sa sebetsa 'me e hloka ho tsosolosoa.

Nalane ea ho theha tšebeletso ea leru, e monate ka cyberpunk

Re ile ra lahleheloa ke pono ea ntlha ena, 'me ho ne ho se na lisebelisoa tse lekaneng ho qeta sengoathoana sena kapele. Re ile ra tlameha ho fokotsa ts'ebetso pele re qala tlhahlobo.
Hajoale re tsoa ho mosebelisi haeba password e fetotsoe.

Leha ho na le li-nuances tsena, liteko li tsamaile hantle. Ka libeke tse 'maloa, batho ba ka bang 300 ba ile ba ema. Re khonne ho sheba sehlahisoa ka mahlo a basebelisi, ho se leka ka liketso le ho bokella maikutlo a boleng bo phahameng.

Hore e tsoele pele

Ho ba bangata ba rona, ona ke morero oa pele oa sekala sena. Re ithutile lithuto tse 'maloa tsa bohlokoa mabapi le ho sebetsa re le sehlopha le ho etsa liqeto tsa meralo le meralo. Mokhoa oa ho kopanya litsamaiso tse rarahaneng tse nang le lisebelisoa tse nyane le ho li kenya tlhahiso.

Ha e le hantle, ho na le ntho e lokelang ho sebetsa ka bobeli ho latela khoutu le ho li-interfaces tsa ho kopanya tsamaiso. Morero o monyane haholo, empa re tletse litabatabelo tsa ho o holisa hore e be ts'ebeletso e tšepahalang le e bonolo.

Re se re khonne ho susumetsa litsamaiso. Bill o sebetsa ka nepo ho bala, ho lefa, le likopo tsa basebelisi ka otoropong ea hae. "Boselamose" ba masimo a tungsten bo re fa puisano e tsitsitseng. 'Me ke OpenStack feela ka linako tse ling e bang bonolo, e hoeletsa ntho e kang "'WSREP ha e so lokise node bakeng sa tšebeliso ea kopo." Empa ke pale e fapaneng ka ho felletseng...

Re sa tsoa qala tšebeletso.
U ka fumana lintlha tsohle ho rona sebaka.

Nalane ea ho theha tšebeletso ea leru, e monate ka cyberpunk
Sehlopha sa ntlafatso sa CLO

likhokahano tse sebetsang

OpenStack

Lesela la Tungsten

Source: www.habr.com

Eketsa ka tlhaloso