Bipute Mortem na enweghị Quay.io

Rịba ama. ntụgharị asụsụ.: na mbido August, Red Hat kwuru n'ihu ọha banyere idozi nsogbu nnweta nke ndị ọrụ nke ọrụ ya zutere na ọnwa ndị gara aga. Quay.io (ọ dabere na ndekọ maka ihe onyonyo akpa, nke ụlọ ọrụ ahụ nwetara yana ịzụrụ CoreOS). N'agbanyeghị mmasị gị na ọrụ a dị ka nke a, ụzọ ndị ụlọ ọrụ SRE engineer mere iji chọpụta ma kpochapụ ihe kpatara ihe mberede ahụ bụ ntụziaka.

Bipute Mortem na enweghị Quay.io

Na Mee 19, n'isi ụtụtụ (Oge Ìhè Ọwụwa Anyanwụ, EDT), ọrụ quay.io dara. Ihe mberede a metụtara ma ndị na-azụ ahịa quay.io na ọrụ Open Source site na iji quay.io dịka ikpo okwu maka iwulite na ikesa ngwanrọ. Uhie okpu ji ntụkwasị obi nke abụọ kpọrọ ihe.

Otu ndị injinia SRE tinyere aka ozugbo wee gbalịa ime ka ọrụ Quay kwụsie ike ozugbo enwere ike. Otú ọ dị, ka ha na-eme nke a, ndị ahịa enweghị ike ịkwanye ihe oyiyi ọhụrụ, ọ bụ naanị mgbe ụfọdụ ka ha nwere ike ịdọrọ ndị dị adị. Maka ihe ụfọdụ amaghi ama, egbochiri nchekwa data quay.io ka emechara ọrụ ahụ n'ikike zuru oke.

«Gịnị gbanwere?"- nke a bụ ajụjụ mbụ a na-ajụkarị n'ọnọdụ ndị dị otú ahụ. Anyị chọpụtara na obere oge tupu mbipụta a, ụyọkọ OpenShift Dedicated (nke na-agba quay.io) malitere imelite na ụdị 4.3.19. Ebe ọ bụ na quay.io na-agba na Red Hat OpenShift Dedicated (OSD), mmelite oge niile bụ ihe na-aga n'ihu, ọ dịghịkwa akpata nsogbu. Ọzọkwa, n'ime ọnwa isii gara aga, anyị ebulitela ụyọkọ Quay ọtụtụ oge na-enweghị nkwụsị ọ bụla na ọrụ.

Ka anyị na-agbalị iweghachi ọrụ ahụ, ndị injinia ndị ọzọ malitere ịkwadebe ụyọkọ OSD ọhụrụ nwere ụdị ngwanrọ gara aga, ka ọ bụrụ na ihe mere, ha nwere ike ibunye ihe niile na ya.

Mgbọrọgwụ Ihe Analysis

Ihe mgbaàmà bụ isi nke ọdịda ahụ bụ oke ọnụ ọgụgụ iri puku kwuru iri puku njikọ nchekwa data, nke mere ka ihe atụ MySQL ghara ịrụ ọrụ nke ọma. Nke a mere ka o sie ike ịchọpụta nsogbu ahụ. Anyị ewepụtala oke na ọnụọgụ kacha nke njikọ sitere n'aka ndị ahịa iji nyere ndị otu SRE aka inyocha okwu a. Anyị ahụghị okporo ụzọ pụrụ iche na nchekwa data: n'eziokwu, a na-agụ ọtụtụ arịrịọ, ma ọ bụ naanị ole na ole ka edere.

Anyị gbalịkwara ịchọpụta ụkpụrụ dị na okporo ụzọ nchekwa data nke nwere ike ịkpata oke oke mmiri a. Agbanyeghị, anyị enweghị ike ịhụ ụkpụrụ ọ bụla na ndekọ. Ka anyị na-eche ụyọkọ ọhụrụ nwere OSD 4.3.18 ka ọ dịrị njikere, anyị gara n'ihu na-agbalị ịmalite quay.io pods. Oge ọ bụla ụyọkọ ahụ ruru ike zuru oke, nchekwa data ga-ajụ oyi. Nke a pụtara na ọ dị mkpa ịmalitegharị ihe atụ RDS na mgbakwunye na niile quay.io pods.

Ka ọ na-erule mgbede, anyị na-eme ka ọrụ ahụ guzosie ike na ọnọdụ ọgụgụ naanị ma gbanyụọ ọtụtụ ọrụ na-adịghị mkpa dị ka o kwere mee (dịka ọmụmaatụ, nchịkọta mkpofu aha aha) iji belata ibu dị na nchekwa data. Ntu oyi akwụsịla ma a hụghị ihe kpatara ya. Ụyọkọ OSD ọhụrụ adịla njikere, anyị kwagakwara ọrụ ahụ, jikọtara okporo ụzọ na nleba anya n'ihu.

Quay.io rụrụ ọrụ nke ọma na ụyọkọ OSD ọhụrụ, yabụ anyị laghachiri na ndekọ nchekwa data, mana enweghị ike ịhụ njikọ ga-akọwa ihe mgbochi ndị ahụ. Ndị injinia OpenShift so anyị rụọ ọrụ iji ghọta ma mgbanwe na Red Hat OpenShift 4.3.19 nwere ike bute nsogbu na Quay. Otú ọ dị, ọ dịghị ihe a hụrụ, na Ọ gaghị ekwe omume ịmaliteghachi nsogbu ahụ na ọnọdụ ụlọ nyocha.

Ọdịda nke abụọ

Na Mee 28, obere oge tupu ehihie EDT, quay.io ji otu akara ahụ daa ọzọ: egbochiri nchekwa data. Ọzọ, anyị tụbara mbọ anyị niile na nyocha ahụ. Nke mbụ, ọ dị mkpa iji weghachi ọrụ ahụ. Agbanyeghị oge a ịmalitegharị RDS na ịmalitegharị quay.io pods emeghị ihe ọ bụla: nnukwu njikọ ọzọ akarịala ntọala ahụ. Mana gịnị mere?

Edere Quay na Python na pọd ọ bụla na-arụ ọrụ dị ka otu akpa monolithic. Oge ojiri gaa akpa na-arụ ọtụtụ ọrụ ndị yiri ya n'otu oge. Anyị na-eji ụlọ akwụkwọ gevent n'okpuru gunicorn iji hazie arịrịọ webụ. Mgbe arịrịọ batara na Quay (site na API nke anyị, ma ọ bụ site na API Docker), a na-ekenye ya onye ọrụ onyinye. Dịka onye ọrụ a kwesịrị ịkpọtụrụ ebe nchekwa data. Mgbe ọdịda mbụ gasịrị, anyị chọpụtara na ndị ọrụ gevent na-ejikọta na nchekwa data site na iji ntọala ndabara.

Nyere ọnụ ọgụgụ dị ukwuu nke Quay pods na puku kwuru puku arịrịọ na-abata kwa nkeji, ọnụ ọgụgụ buru ibu nke njikọ nchekwa data nwere ike imeri ihe atụ MySQL. N'ihi nlekota oru, a maara na Quay na-arụ ọrụ nkezi nke 5 puku arịrịọ kwa nkeji. Ọnụọgụ nke njikọ na nchekwa data dị ihe dịka otu. 5 puku njikọ dị mma n'ime ike nke ihe atụ RDS anyị (nke enweghị ike ikwu banyere iri puku kwuru iri puku). Maka ihe ụfọdụ enwere spikes na-atụghị anya ya na ọnụọgụ njikọ, Otú ọ dị, anyị ahụghị njikọ ọ bụla na arịrịọ mbata.

N'oge a, anyị kpebisiri ike ịchọta ma kpochapụ isi iyi nke nsogbu ahụ, ma ọ bụghị naanị onwe anyị na ịmalitegharịa. Gaa na koodu Quay Emere mgbanwe iji belata ọnụ ọgụgụ njikọ na nchekwa data maka onye ọrụ ọ bụla omume. Nọmba a ghọrọ paramita na nhazi: ọ bịara kwe omume ịgbanwe ya na ofufe n'ebughị ihe oyiyi akpa ọhụrụ. Iji chọpụta ole njikọ enwere ike ijikwa nke ọma, anyị gbara ọtụtụ ule na gburugburu ebe a na-eme ihe, na-esetịpụ ụkpụrụ dị iche iche iji hụ ka nke a ga-esi metụta ọnọdụ nnwale. N'ihi ya, a chọpụtara na Quay na-amalite ịtụba njehie 502 mgbe ọnụọgụ njikọ karịrị 10 puku.

Anyị wepụrụ ụdị ọhụrụ a ozugbo na mmepụta wee malite nyochaa usoro njikọ nchekwa data. N'oge gara aga, a na-ekpochi ntọala mgbe ihe dị ka nkeji iri abụọ gasịrị. Mgbe nkeji 20 na-enweghị nsogbu anyị nwere olileanya, ma otu awa ka e mesịrị, anyị nwere obi ike. Anyị weghachiri okporo ụzọ na saịtị ahụ wee malite nyocha postmortem.

N'ịbụ onye jisiri ike gafee nsogbu ahụ na-eduga n'igbochi, anyị achọpụtaghị ihe kpatara ya. Ekwenyere na ọ nweghị njikọ na mgbanwe ọ bụla na OpenShift 4.3.19, ebe otu ihe ahụ mere na ụdị 4.3.18, nke na-arụ ọrụ na Quay na mbụ n'enweghị nsogbu ọ bụla.

O doro anya na ọ dị ihe ọzọ zoro n'ime ụyọkọ ahụ.

Ọmụmụ ihe zuru ezu

Quay.io jiri ntọala ndabara jikọọ na nchekwa data maka afọ isii n'enweghị nsogbu ọ bụla. Gịnị gbanwere? O doro anya na oge a niile okporo ụzọ na quay.io na-etowanye nke ọma. N'ọnọdụ anyị, ọ dị ka a ga-erute uru ọnụ ụzọ, nke jere ozi dị ka ihe na-akpalite oke njikọ. Anyị gara n'ihu na-amụ ndekọ ndekọ data mgbe ọdịda nke abụọ gasịrị, mana ahụghị usoro ọ bụla ma ọ bụ mmekọrịta doro anya.

Ka ọ dị ugbu a, ndị otu SRE anọwo na-arụ ọrụ na mmelite maka nleba anya arịrịọ Quay na ahụike ọrụ niile. Etinyela metrik na dashboard ọhụrụ, Na-egosi akụkụ nke Quay kacha amasị ndị ahịa.

Quay.io rụrụ ọrụ nke ọma ruo June 9. N'ụtụtụ a (EDT) anyị hụkwara mmụba dị ukwuu na ọnụọgụ njikọ nchekwa data. Oge a enweghị oge nkwụsịtụ, ebe ọ bụ na paramita ọhụrụ ahụ kpachiri ọnụ ọgụgụ ha ma ghara ikwe ka ha gafere ntinye MySQL. Otú ọ dị, ihe dị ka ọkara otu awa, ọtụtụ ndị ọrụ chọpụtara na quay.io na-arụ ọrụ ngwa ngwa. Anyị nakọtara ngwa ngwa niile data nwere ike iji ngwaọrụ nlekota agbakwunyere. Na mberede, ụkpụrụ pụtara.

N'oge na-adịghị anya tupu mmụba na njikọ, a rịọrọ ọtụtụ arịrịọ na API Registry App. Ndebanye aha ngwa bụ njirimara amachaghị nke quay.io. Ọ na-enye gị ohere ịchekwa ihe dị ka chaatị Helm na arịa nwere metadata bara ụba. Ọtụtụ ndị ọrụ quay.io anaghị arụ ọrụ na njirimara a, mana Red Hat OpenShift na-eji ya arụ ọrụ. OperatorHub dị ka akụkụ nke OpenShift na-echekwa ndị ọrụ niile na Ndekọ Ngwa. Ndị na-arụ ọrụ a na-etolite ntọala maka gburugburu ebe obibi ọrụ OpenShift yana ụdị arụ ọrụ na-emekọ ihe ọnụ (ọrụ ụbọchị 2).

Ụyọkọ OpenShift 4 ọ bụla na-eji ndị na-arụ ọrụ sitere na OperatorHub arụnyere arụnyere iji bipụta katalọgụ nke ndị ọrụ dị maka nrụnye ma nye mmelite nye ndị arụnyerelarị. Site na mgbasa ozi OpenShift 4 na-eto eto, ọnụ ọgụgụ ụyọkọ dị na ya gburugburu ụwa abawanyela. Nke ọ bụla n'ime ụyọkọ ndị a na-ebudata ọdịnaya onye ọrụ ka ọ rụọ ọrụ OperatorHub arụnyere, na-eji App Registry n'ime quay.io dị ka azụ azụ. N'ịchọ isi iyi nke nsogbu ahụ, anyị tụfuru eziokwu ahụ bụ na ka OpenShift ji nwayọọ nwayọọ na-ewu ewu, ibu dị n'otu n'ime ọrụ quay.io a na-ejikarị eme ihe mụbara..

Anyị mere ụfọdụ nyocha okporo ụzọ Registry Registry wee lelee koodu ndekọ ahụ. Ngwa ngwa, ekpughere adịghị ike, n'ihi nke a na-emepụtaghị ajụjụ na nchekwa data nke ọma. Mgbe ibu ahụ dị obere, ha emeghị ka nsogbu ọ bụla pụta, ma mgbe ibu ahụ bawanye, ha ghọrọ isi iyi nke nsogbu. App Registry tụgharịrị nwee njedebe abụọ nwere nsogbu nke na-anabataghị nke ọma maka ịba ụba ibu: nke mbụ nyere ndepụta ngwugwu niile dị na ebe nchekwa, nke abụọ weghachiri blobs niile maka ngwugwu ahụ.

Mkpochapụ ihe kpatara ya

N'ime izu na-abịa, anyị nọrọ na-ebuli koodu nke App Registry n'onwe ya na gburugburu ya. O doro anya na ajụjụ SQL na-adịghị arụ ọrụ ka emegharịrị ma kpochapụ oku iwu na-adịghị mkpa tar (a na-agba ọsọ oge ọ bụla ewepụtara blobs), agbakwunyere caching ebe ọ bụla enwere ike. Anyị meziri ule arụmọrụ dị ukwuu wee tulee ọsọ nke Ndebanye aha ngwa tupu na mgbe mgbanwe gachara.

Arịrịọ API nke eweburu ihe dị ka ọkara nkeji ugbu a na milliseconds. N'izu na-abịa, anyị wepụrụ mgbanwe na mmepụta, na kemgbe ahụ quay.io na-arụ ọrụ nke ọma. N'ime oge a, enwere ọtụtụ spikes dị nkọ na okporo ụzọ na njedebe App Registry, mana nkwalite ndị emere gbochiri mwepu nchekwa data.

Gịnị ka anyị mụtara?

O doro anya na ọrụ ọ bụla na-agbalị izere oge nkwụsị. N'ọnọdụ anyị, anyị kwenyere na nkwụsị na nso nso a enyerela aka mee ka quay.io dịkwuo mma. Anyị amụtala isi nkuzi ole na ole anyị ga-achọ ikesa:

  1. Data gbasara onye na-eji ọrụ gị na otu esi abụchaghị oke. N'ihi na Quay "ka na-arụ ọrụ," ọ dịghị mgbe anyị na-etinye oge na-ebuli okporo ụzọ na ijikwa ibu. Ihe a niile mepụtara echiche nke nchekwa ụgha nke ọrụ ahụ nwere ike ịba ụba ruo mgbe ebighị ebi.
  2. Mgbe ọrụ ahụ kwụsịrị, ị nwetaghachi ya na ịgba ọsọ bụ ihe kacha mkpa.. N'ihi na Quay gara n'ihu na-ata ahụhụ site na nchekwa data akpọchiri n'oge ọpụpụ mbụ, usoro ọkọlọtọ anyị enweghị mmetụta e bu n'obi ma anyị enweghị ike iji ha weghachi ọrụ ahụ. Nke a butere ọnọdụ ebe a ga-etinye oge nyocha na ịnakọta data n'olileanya nke ịchọta ihe kpatara ya - kama itinye uche na mbọ niile na iweghachi ọrụ.
  3. Nyochaa mmetụta nke njirimara ọrụ ọ bụla. Ndị ahịa anaghị eji ngwa Registry, yabụ na ọ bụghị ihe kacha mkpa maka otu anyị. Mgbe ejighị ụfọdụ njirimara ngwaahịa, ahụhụ ha anaghị adịkarị, ndị mmepe kwụsịrị ileba anya koodu ahụ. Ọ dị mfe ịdaba n'echiche na-ezighị ezi na nke a bụ otú o kwesịrị ịdị-ruo mgbe ọrụ ahụ ga-enweta onwe ya n'etiti nnukwu ihe merenụ.

Kedu ihe ọzọ?

Ọrụ iji hụ na nkwụsi ike nke ọrụ anaghị akwụsị ma anyị na-emeziwanye ya mgbe niile. Ka ọnụ ọgụgụ okporo ụzọ na-aga n'ihu na-eto na quay.io, anyị ghọtara na anyị nwere ibu ọrụ ime ihe niile anyị nwere ike ime iji bie ndụ kwekọrọ ntụkwasị obi nke ndị ahịa anyị. Ya mere, anyị na-arụ ọrụ ndị a:

  1. Nyefee oyiri nchekwa data naanị ọgụgụ iji nyere ndị ọrụ aka ijikwa okporo ụzọ dabara adaba ma ọ bụrụ na enwere nsogbu na isi RDS.
  2. Na-emelite ihe atụ RDS. Ụdị dị ugbu a n'onwe ya abụghị nsogbu. Kama, naanị anyị chọrọ iwepụ ụzọ ụgha (nke anyị gbasoro n'oge ọdịda); Idokwa sọftụwia ọhụrụ ga-ewepụ ihe ọzọ ma ọ bụrụ na ọ ga-apụ n'ọdịnihu.
  3. Caching agbakwunyere n'ofe ụyọkọ ahụ dum. Anyị na-aga n'ihu na-achọ ebe caching nwere ike ibelata ibu na nchekwa data.
  4. Na-agbakwụnye firewall ngwa weebụ (WAF) ka ịhụ onye na-ejikọta quay.io na ihe kpatara ya.
  5. Malite na ntọhapụ na-esote, ụyọkọ Red Hat OpenShift ga-ahapụ Ndebanye aha Ngwa maka nkwado nke Katalọgụ Ndị Ọrụ dabere na foto akpa dị na quay.io.
  6. Ndochi ogologo oge maka Ndebanye aha ngwa nwere ike ịbụ nkwado maka nkọwapụta ngwa ngwa Open Container Initiative (OCI). A na-emejuputa ya ugbu a dị ka ọrụ Quay nke ala ma ọ ga-adị maka ndị ọrụ mgbe emechara nkọwapụta ahụ n'onwe ya.

Ihe niile a dị n'elu bụ akụkụ nke ntinye ego na-aga n'ihu na Red Hat na quay.io ka anyị na-esi na otu obere "ụdị mmalite" gaa na ikpo okwu SRE tozuru okè. Anyị maara na ọtụtụ n'ime ndị ahịa anyị na-adabere na quay.io na-arụ ọrụ ha kwa ụbọchị (gụnyere Red Hat!) Anyị na-agbalị ime ka ọ pụta ìhè dị ka o kwere mee banyere nkwụsị na nso nso a na mgbalị na-aga n'ihu iji meziwanye.

PS sitere na onye ntụgharị

Gụọkwa na blọọgụ anyị:

isi: www.habr.com

Tinye a comment