Post Mortem ho Quay.io ha e fumanehe

Hlokomela. fetolela.: mathoasong a Phato, Red Hat e buile phatlalatsa ka ho rarolla mathata a phihlello ao basebelisi ba ts'ebeletso ea ona ba kopaneng le ona likhoeling tse fetileng. Quay.io (e ipapisitse le ngoliso ea litšoantšo tsa setshelo, tseo k'hamphani e li fumaneng hammoho le theko ea CoreOS). Ho sa tsotelehe thahasello ea hau tšebeletsong ena, tsela eo baenjiniere ba SRE ba k'hamphani ba e nkileng ho hlahloba le ho felisa lisosa tsa kotsi e ruta.

Post Mortem ho Quay.io ha e fumanehe

Ka la 19 Motšeanong, hoseng haholo (Eastern Daylight Time, EDT), tšebeletso ea quay.io e ile ea oa. Kotsi e ile ea ama bareki ba quay.io ka bobeli le merero ea Open Source e sebelisang quay.io joalo ka sethala sa ho aha le ho aba software. Red Hat e ananela tšepo ea bobeli.

Sehlopha sa baenjiniere ba SRE hang-hang se ile sa kenella 'me sa leka ho tsitsisa tšebeletso ea Quay kapele kamoo ho ka khonehang. Leha ho le joalo, ha ba ntse ba etsa sena, bareki ba ile ba lahleheloa ke bokhoni ba ho sutumetsa litšoantšo tse ncha, 'me ka linako tse ling ba ne ba khona ho hula tse seng li ntse li le teng. Ka mabaka a mang a sa tsejoeng, database ea quay.io e ne e koetsoe ka mor'a ho phahamisa tšebeletso ka botlalo.

«Ke eng e fetotsoeng?"- ena ke potso ea pele eo hangata e botsoang maemong a joalo. Re hlokometse hore nakoana pele ho taba, sehlopha sa OpenShift Dedicated (se tsamaisang quay.io) se qalile ho nchafatsoa ho mofuta oa 4.3.19. Kaha quay.io e sebetsa ho Red Hat OpenShift Dedicated (OSD), lintlafatso tsa khafetsa e ne e le tloaelo mme ha ho mohla li kileng tsa baka mathata. Ho feta moo, likhoeling tse tšeletseng tse fetileng, re ntlafalitse lihlopha tsa Quay ka makhetlo a 'maloa ntle le tšitiso ea letho tšebeletsong.

Ha re ntse re leka ho tsosolosa tšebeletso, baenjiniere ba bang ba ile ba qala ho lokisetsa sehlopha se secha sa OSD ka phetolelo e fetileng ea software, e le hore haeba ho etsahala ntho e itseng, ba ka sebelisa ntho e 'ngoe le e' ngoe ho eona.

Motso oa Sesosa Analysis

Letšoao le ka sehloohong la ho hloleha e ne e le sekhahla sa likhokahano tsa database tse mashome a likete, tse entseng hore mohlala oa MySQL o se ke oa sebetsa. Sena se ile sa etsa hore ho be thata ho fumana bothata. Re behile moeli ho palo e kholo ea likhokahano ho tsoa ho bareki ho thusa sehlopha sa SRE ho lekola bothata. Ha rea ​​ka ra hlokomela sephethephethe se sa tloaelehang ho database: ha e le hantle, likopo tse ngata li ile tsa baloa, 'me ke tse seng kae feela tse neng li ngotsoe.

Re boetse re lekile ho tseba mokhoa oa sephethephethe sa database se ka bakang avalanche ena. Leha ho le joalo, ha rea ​​ka ra fumana mekhoa leha e le efe ka har'a li-log. Ha re ntse re emetse hore sehlopha se secha se nang le OSD 4.3.18 se be se lokile, re ile ra tsoela pele ho leka ho qala li-pods tsa quay.io. Nako le nako ha sehlopha se fihla ho palo e felletseng, database e ne e hoama. Sena se ne se bolela hore ho ne ho hlokahala ho qala mohlala oa RDS hape ho li-pods tsohle tsa quay.io.

Mantsiboeeng, re ile ra tsitsisa tšebeletso ka mokhoa oa ho bala feela 'me ra thibela mesebetsi e mengata eo e seng ea bohlokoa ka hohle kamoo ho ka khonehang (mohlala, pokello ea litšila ea sebaka sa mabitso) ho fokotsa mojaro ho database. Leqhoa le emisitse empa lebaka ha lea ka la fumanoa. Sehlopha se secha sa OSD se ne se lokile, 'me re ile ra falla tšebeletso, ra hokahanya sephethephethe le ho tsoela pele ho beha leihlo.

Quay.io e sebelitse ka mokhoa o tsitsitseng sehlopheng se secha sa OSD, kahoo re ile ra khutlela litsing tsa database, empa ha rea ​​​​ka ra fumana khokahano e neng e ka hlalosa li-blockages. Baenjiniere ba OpenShift ba sebelitse le rona ho utloisisa hore na liphetoho ho Red Hat OpenShift 4.3.19 li ka baka mathata ka Quay. Leha ho le joalo, ha ho letho le ileng la fumanoa, 'me Ho ne ho sa khonehe ho hlahisa bothata boo maemong a laboratori.

Ho hloleha ha bobeli

Ka la 28 Motšeanong, nakoana pele ho motšehare oa mantsiboea EDT, quay.io e ile ea boela ea oela ka letšoao le tšoanang: database e ne e koetsoe. Mme hape re ile ra lahlela matsapa ohle a rona dipatlisisong. Pele ho tsohle, ho ne ho hlokahala ho tsosolosa tšebeletso. Leha ho le joalo Lekhetlong lena ho qala RDS hape le ho qala quay.io pods ha hoa ka ha etsa letho: pherekano e 'ngoe ea likhokahano e sithabetse motheo. Empa hobaneng?

Quay e ngotsoe ka Python 'me pod e' ngoe le e 'ngoe e sebetsa e le sejana se le seng sa monolithic. Nako ea ho sebetsa ea setshelo e etsa mesebetsi e mengata e tšoanang ka nako e le 'ngoe. Re sebelisa laebrari gevent tlasa gunicorn ho sebetsa likopo tsa webo. Ha kopo e kena Quay (ka API ea rona, kapa ka Docker's API), e abeloa mosebeletsi oa gevent. Ka tloaelo mosebeletsi enoa o lokela ho ikopanya le database. Kamora ho hloleha ha pele, re ile ra fumana hore basebetsi ba gevent ba ntse ba hokela database ba sebelisa li-setting tsa kamehla.

Ka lebaka la palo e kholo ea li-pods tsa Quay le likete tsa likopo tse kenang motsotsoana, palo e kholo ea likhokahano tsa database e ka sithabetsa mohlala oa MySQL. Ka lebaka la ho beha leihlo, ho ne ho tsebahala hore Quay e sebetsana le likopo tse likete tse 5 motsotsoana. Palo ea likhokahano ho database e ne e batla e lekana. Likhokahano tse likete tse 5 li ne li le ka har'a bokhoni ba mohlala oa rona oa RDS (o ke keng oa boleloa ka mashome a likete). Ka lebaka le itseng ho ne ho e-na le li-spikes tse sa lebelloang palong ea likhokahano, leha ho le joalo, ha rea ​​ka ra hlokomela kamano leha e le efe le likopo tse kenang.

Lekhetlong lena re ne re ikemiselitse ho fumana le ho felisa mohloli oa bothata, mme re se ke ra ipehela moeli oa ho qala bocha. Ho ea ho Quay codebase liphetoho li entsoe ho fokotsa palo ea likhokahano ho database bakeng sa mosebeletsi e mong le e mong gevent. Nomoro ena e ile ea fetoha parameter ho tlhophiso: ho ile ha khoneha ho e fetola ka fofa ntle le ho haha ​​​​setšoantšo se secha sa setshelo. Ho tseba hore na ke likhokahano tse kae tse ka sebetsoang ka nepo, re ile ra etsa liteko tse 'maloa sebakeng sa sethala, ra beha litekanyetso tse fapaneng ho bona hore na sena se ka ama maemo a tlhahlobo ea mojaro joang. Ka lebaka leo, ho ile ha fumaneha hore Quay e qala ho lahlela liphoso tsa 502 ha palo ea likhokahano e feta 10 sekete.

Hang-hang re ile ra kenya mofuta ona o mocha tlhahisong mme ra qala ho beha leihlo kemiso ea khokahano ea database. Nakong e fetileng, setsi se ne se notletsoe ka mor'a metsotso e ka bang 20. Ka mor'a metsotso e 30 e se nang mathata re ne re e-na le tšepo, 'me hora hamorao re ne re e-na le tšepo. Re khutlisitse sephethephethe sebakeng sa marang-rang mme ra qala tlhahlobo ea postmortem.

Kaha o khonne ho qoba bothata bo lebisang ho thibelang, ha re so fumane mabaka a yona a nnete. E netefalitsoe hore ha e amane le liphetoho leha e le life ho OpenShift 4.3.19, kaha ntho e tšoanang e etsahetse ho version 4.3.18, eo pele e neng e sebetsa le Quay ntle le mathata.

Ho ne ho hlakile hore ho na le ntho e 'ngoe e laletseng sehlopheng.

Thuto e Felletseng

Quay.io e sebelisitse litlhophiso tsa kamehla ho hokela database ka lilemo tse tšeletseng ntle le mathata. Ho fetohile eng? Ho hlakile hore nako ena eohle sephethephethe ho quay.io se ntse se eketseha butle-butle. Tabeng ea rōna, ho ne ho bonahala eka ho fihletsoe boleng bo itseng, bo ileng ba sebetsa e le sesosa sa ho phatloha ho hoholo ha likhokahano. Re ile ra tsoela pele ho ithuta li-database tsa marang-rang ka mor'a ho hlōleha ha bobeli, empa ha rea ​​ka ra fumana mekhoa leha e le efe kapa likamano tse hlakileng.

Ho sa le joalo, sehlopha sa SRE se ntse se sebetsa ho ntlafatsa pono ea kopo ea Quay le bophelo bo botle ba litšebeletso. Metrics e mecha le dashboards li kentsoe tšebetsong, e bontšang hore na ke likarolo life tsa Quay tse batloang haholo ho tsoa ho bareki.

Quay.io e sebelitse hantle ho fihlela June 9th. Hoseng hona (EDT) re boetse re bone keketseho e kholo ea palo ea likhokahano tsa database. Lekhetlong lena ho ne ho se na nako ea phomolo, kaha parameter e ncha e ne e fokotsa palo ea bona 'me ha ea ka ea ba lumella ho feta MySQL throughput. Leha ho le joalo, hoo e ka bang halofo ea hora, basebelisi ba bangata ba hlokometse hore quay.io e sebetsa butle. Ka potlako re ile ra bokella lintlha tsohle tse ka khonehang re sebelisa lisebelisoa tse ling tsa ho beha leihlo. Hang-hang ho ile ha hlaha mohlala.

Nakoana pele ho tšubuhlellano ea likhokahano, ho ile ha etsoa likopo tse ngata ho App Registry API. Registry ea App ke karolo e sa tsejoeng haholo ea quay.io. E u lumella ho boloka lintho tse kang lichate tsa Helm le lijana tse nang le metadata e ruileng. Boholo ba basebelisi ba quay.io ha ba sebetse ka tšobotsi ena, empa Red Hat OpenShift e e sebelisa ka mafolofolo. OperatorHub joalo ka karolo ea OpenShift e boloka lits'ebetso tsohle ho Registry ea App. Lits'ebetso tsena li theha motheo oa OpenShift workload ecosystem le mohlala oa ts'ebetso ea balekane (ts'ebetso ea Letsatsi la 2).

Sehlopha se seng le se seng sa OpenShift 4 se sebelisa li-operator ho tsoa ho OperatorHub e hahelletsoeng ho phatlalatsa lethathamo la li-operator tse fumanehang bakeng sa ho kenya le ho fana ka lintlafatso ho tse seng li kentsoe. Ka botumo bo ntseng bo eketseha ba OpenShift 4, palo ea lihlopha ho eona ho pota lefatše le eona e eketsehile. E 'ngoe le e 'ngoe ea lihlopha tsena e khoasolla litaba tsa opereishene ho sebelisa OperatorHub e hahiloeng kahare, e sebelisa Registry ea Liapp ka hare ho quay.io joalo ka mokokotlo. Ha re ntse re batla mohloli oa bothata, re ile ra hloloheloa taba ea hore ha OpenShift e ntse e eketseha butle-butle ka botumo, mojaro ho e 'ngoe ea mesebetsi e neng e sa sebelisoe hangata ea quay.io le eona e ile ea eketseha..

Re entse tlhahlobo ea sephethephethe sa kopo ea Registry ea App mme ra sheba khoutu ea ngoliso. Hang-hang, mefokolo e ile ea senoloa, ka lebaka la hore lipotso ho database li ne li sa thehoa hantle. Ha moroalo o le tlaase, ha baa ka ba baka mathata, empa ha mojaro o ntse o eketseha, ba ne ba fetoha mohloli oa mathata. Registry ea App e bile le liphetho tse peli tse thata tse sa kang tsa arabela hantle ha li ntse li eketseha: ea pele e fane ka lethathamo la liphutheloana tsohle tse polokelong, ea bobeli e khutlisitse li-blobs tsohle tsa sephutheloana.

Ho felisoa ha lisosa

Bekeng e tlang re qetile ho ntlafatsa khoutu ea Registry ea App ka boeona le tikoloho ea eona. Ho hlakile hore lipotso tsa SQL tse sa sebetseng li ile tsa hlophisoa bocha mme mehala e sa hlokahaleng ea litaelo e ile ea felisoa tar (e ne e tsamaisoa nako le nako ha li-blobs li khutlisoa), caching e ne e eketsoa hohle moo ho khonehang. Ka mor'a moo re ile ra etsa tlhahlobo e batsi ea ts'ebetso mme ra bapisa lebelo la Registry ea App pele le ka mor'a liphetoho.

Likopo tsa API tseo pele li neng li nka halofo ea motsotso li se li phethetsoe ka milliseconds. Bekeng e hlahlamang re ile ra kenya liphetoho tlhahisong, 'me ho tloha ka nako eo quay.io esale e sebetsa ka mokhoa o tsitsitseng. Ka nako ena, ho ne ho e-na le li-spikes tse 'maloa tse bohale sephethephetheng qetellong ea Registry ea App, empa lintlafatso li ile tsa thibela ho senyeha ha database.

Re ithutile’ng?

Ho hlakile hore tšebeletso leha e le efe e leka ho qoba nako ea ho theoha. Tabeng ea rona, re lumela hore ho tima ha morao tjena ho thusitse ho ntlafatsa quay.io. Re ithutile lithuto tse 'maloa tsa bohlokoa tseo re ka ratang ho li arolelana:

  1. Lintlha tse mabapi le hore na ke mang ea sebelisang tšebeletso ea hau le hore na ha ho mohla li sa hlokahaleng. Hobane Quay "e sa tsoa sebetsa," ha ho mohla re kileng ra tlameha ho qeta nako re ntlafatsa sephethephethe le ho laola mojaro. Sena sohle se ile sa etsa hore ho be le maikutlo a fosahetseng a tšireletseho ao tšebeletso e neng e ka e eketseha ka ho sa feleng.
  2. Ha tšebeletso e theoha, ho e khutlisa le ho sebetsa ke ntho e tlang pele.. Hobane Quay e ile ea tsoela pele ho hlokofatsoa ke database e notletsoeng nakong ea pele ea ho tima, mekhoa ea rona e tloaelehileng e ne e se na phello e reriloeng 'me ha rea ​​​​ka ra khona ho khutlisetsa ts'ebeletso ka eona. Sena se ile sa lebisa boemong boo ho neng ho tlameha ho sebelisoa nako ho sekaseka le ho bokella lintlha ka tšepo ea ho fumana sesosa sa sesosa - ho e-na le ho tsepamisa boiteko bohle ba ho khutlisetsa ts'ebetso.
  3. Lekola tšusumetso ea karolo ka 'ngoe ea litšebeletso. Bareki ba ne ba sebelisa Registry ea App ka seoelo, kahoo e ne e se ntho e tlang pele ho sehlopha sa rona. Ha likarolo tse ling tsa sehlahisoa li sa sebelisoe hakaalo, likokoana-hloko tsa bona ha li hlahe hangata, 'me bahlahisi ba emisa ho beha khoutu leihlo. Ho bonolo ho oela lerabeng la maikutlo a fosahetseng a hore ena ke tsela eo e lokelang ho ba ka eona—ho fihlela ka tšohanyetso mosebetsi oo o iphumana o le bohareng ba ketsahalo e khōlō.

Ke'ng e latelang?

Mosebetsi oa ho netefatsa botsitso ba ts'ebeletso ha o eme 'me re lula re o ntlafatsa. Ha palo ea sephethephethe e ntse e hola ho quay.io, rea hlokomela hore re na le boikarabello ba ho etsa sohle seo re ka se khonang ho phela tumellanong le ts'epo ea bareki ba rona. Ka hona, re ntse re sebetsa mesebetsing e latelang:

  1. Kenya likopi tsa database tse baloang feela ho thusa lits'ebeletso ho sebetsana le sephethephethe se nepahetseng ha ho ka ba le mathata ka mohlala oa mantlha oa RDS.
  2. Ho nchafatsa mohlala oa RDS. Phetolelo ea hona joale ka boeona ha se bothata. Ho e-na le hoo, re mpa re batla ho tlosa tsela e fosahetseng (eo re ileng ra e latela nakong ea ho hlōleha); Ho boloka software e ntse e le teng ho tla felisa ntlha e 'ngoe haeba ho ka ba le ho tima nakong e tlang.
  3. Caching e eketsehileng ho pholletsa le sehlopha sohle. Re tsoela pele ho batla libaka tseo caching e ka fokotsang mojaro ho database.
  4. Ho kenya firewall ea web application (WAF) ho bona hore na ke mang ea hokelang ho quay.io le hore na hobaneng.
  5. Ho qala ka tokollo e latelang, lihlopha tsa Red Hat OpenShift li tla lahla Registry ea App molemong oa Operator Catalogs tse ipapisitseng le litšoantšo tsa setshelo tse fumanehang ho quay.io.
  6. Phetolelo ea nako e telele bakeng sa Registry ea App e ka ba ts'ehetso bakeng sa litlhaloso tsa maiketsetso tsa Open Container Initiative (OCI). Hajoale e kentsoe tšebetsong joalo ka ts'ebetso ea tlhaho ea Quay mme e tla fumaneha ho basebelisi ha litlhaloso ka botsona li phethetsoe.

Tsena tsohle tse ka holimo ke karolo ea matsete a tsoelang pele a Red Hat ho quay.io ha re tloha sehlopheng se senyenyane sa "mokhoa oa ho qala" ho ea sethaleng se hōlileng tsebong se tsamaisoang ke SRE. Rea tseba hore bareki ba rona ba bangata ba itšetlehile ka quay.io mosebetsing oa bona oa letsatsi le letsatsi (ho kenyeletsoa Red Hat!) 'me re leka ho ba pepeneneng ka hohle kamoo ho ka khonehang mabapi le ho tima ha morao tjena le boiteko bo tsoelang pele ba ho ntlafatsa.

PS ho tsoa ho mofetoleli

Bala hape ho blog ea rona:

Source: www.habr.com

Eketsa ka tlhaloso