Post Mortem i runga i Quay.io te kore e waatea

Tuhipoka. whakamaori.: i te timatanga o Akuhata, i korero nui a Red Hat mo te whakaoti rapanga urunga i pa ki nga kaiwhakamahi o tana ratonga i nga marama o mua. Quay.io (kei runga i te rehita mo nga whakaahua ipu, i whakawhiwhia e te kamupene me te hoko o CoreOS). Ahakoa to hiahia ki tenei ratonga, he mea ako te huarahi i mahia e nga miihini SRE o te kamupene ki te tirotiro me te whakakore i nga take o te aituā.

Post Mortem i runga i Quay.io te kore e waatea

I te 19 o Mei, i te atatu (Eastern Daylight Time, EDT), ka hinga te ratonga quay.io. I pa te aitua ki nga kaihoko quay.io me nga kaupapa Open Source e whakamahi ana i te quay.io hei turanga mo te hanga me te tohatoha rorohiko. Ka whakanuia e Red Hat te whakawhirinaki o nga mea e rua.

I uru tonu tetahi roopu miihini SRE me te ngana ki te whakapumau i te ratonga Quay ka taea. Heoi, i a ratou e mahi ana i tenei, ka ngaro te kaha o nga kaihoko ki te pana i nga whakaahua hou, a, i etahi wa ka taea e ratou te kumea nga whakaahua o mua. Mo etahi take e kore e mohiotia, i aukatihia te putunga raraunga quay.io i muri i te whakarahi i te ratonga ki te kaha katoa.

«He aha kua huri?" - koinei te patai tuatahi i te nuinga o te waa ka paatai ​​​​i nga keehi penei. I kite matou i mua tata i te putanga, i timata te roopu OpenShift Dedicated (e rere ana quay.io) ki te whakahou ki te putanga 4.3.19. I te mea kei te rere a quay.io i runga i te Red Hat OpenShift Dedicated (OSD), he mahinga tonu nga whakahou, kaore i raru. I tua atu, i roto i nga marama e ono kua pahure ake nei, he maha nga wa i whakahou ake ai matou i nga kahui Quay kaore he aukati i te ratonga.

I a matou e ngana ana ki te whakaora i te ratonga, i timata etahi atu miihini ki te whakarite i tetahi kahui OSD hou me te putanga o mua o te rorohiko, na, ki te tupu tetahi mea, ka taea e ratou te tuku i nga mea katoa ki runga.

Tātari Take Putake

Ko te tohu nui o te rahunga ko te hekenga o nga mano tini o nga hononga papaaarangi, i kore ai e taea te whakahaere i te tauira MySQL. Na tenei i uaua ki te tirotiro i te raru. Kua whakatauhia e matou he rohe mo te maha rawa o nga hononga mai i nga kiritaki hei awhina i te roopu SRE ki te arotake i te take. Karekau matou i kite i nga waka rerekee ki te putunga korero: ko te mea, ko te nuinga o nga tono i panuitia, a he tokoiti noa i tuhi.

I ngana ano matou ki te tautuhi i tetahi tauira i roto i te hokohoko raraunga ka puta mai tenei horonga. Heoi, karekau he tauira i kitea i roto i nga raarangi. I a matou e tatari ana kia reri te roopu hou me te OSD 4.3.18, ka ngana tonu matou ki te whakarewa i nga pods quay.io. I nga wa katoa ka eke te kahui ki te kaha katoa, ka whakatio te papaa raraunga. Ko te tikanga me whakaara ano te tauira RDS hei taapiri atu ki nga putunga quay.io katoa.

I te ahiahi, i whakapumautia e matou te ratonga i roto i te aratau panui-anake me te whakakore i te maha o nga mahi tino kore e taea (hei tauira, te kohinga paru mokowāingoa) hei whakaiti i te utaina i runga i te papaunga raraunga. Kua mutu te whakatio engari kaore i kitea te take. Kua reri te kahui OSD hou, a, i heke matou i te ratonga, i nga waka hono me te aroturuki tonu.

I kaha te mahi a Quay.io i runga i te kahui OSD hou, no reira i hoki ano matou ki nga raarangi papaa raraunga, engari kaore i kitea he hononga hei whakamarama i nga aukati. I mahi tahi nga miihini OpenShift ki a matou ki te mohio mena ka raru pea nga huringa i te Red Hat OpenShift 4.3.19 ki a Quay. Heoi, kaore he mea i kitea, a Kaore i taea te whakaputa i te raru i roto i nga tikanga taiwhanga.

Rahunga tuarua

I te 28 o Haratua, i mua tata i te poupoutanga o te ra EDT, kua pakaru ano te quay.io me te rite tonu o te tohu: kua aukatihia te putunga raraunga. A, i tukuna ano e matou o matou kaha ki te tirotiro. Tuatahi, he mea tika ki te whakaora i te ratonga. Heoi ano I tenei wa ka whakaara ano i te RDS me te whakaara ano i nga quay.io pods kaore he mahi: ko tetahi atu tohenga o nga hononga kua pakaru te turanga. Engari he aha?

Kua tuhia te Quay ki te reo Python, a, ko ia pene ka mahi hei ipu monolithic kotahi. He maha nga mahi whakarara e whakahaerehia ana e te waa whakahaere i te wa kotahi. Ka whakamahi matou i te whare pukapuka gevent i raro i gunicorn ki te tukatuka tono tukutuku. Ina tae mai he tono ki Quay (ma ta maatau ake API, ma te API a Docker ranei), ka tohua he kaimahi mahi. Ko te tikanga me whakapā atu tenei kaimahi ki te papaunga raraunga. I muri i te rahunga tuatahi, i kitea e matou kei te hono nga kaimahi gevent ki te paataka raraunga ma te whakamahi i nga tautuhinga taunoa.

I runga i te nui o te maha o Quay pods me nga mano o nga tono taumai mo ia hekona, he maha nga hononga patengi raraunga ka taea te whakararu i te tauira MySQL. He mihi ki te aro turuki, i mohiohia ko Quay te mahi i te toharite o te 5 mano tono mo ia hekona. He rite tonu te maha o nga hononga ki te patengi raraunga. 5 mano nga hononga i roto i te kaha o ta maatau tauira RDS (kaore e taea te kii mo te tekau mano). Mo etahi take i puta ohorere te maha o nga hononga, heoi, kaore matou i kite i tetahi hononga ki nga tono taumai.

I tenei wa i whakatauhia e matou ki te kimi me te whakakore i te puna o te raruraru, kaua hoki e whakaiti i a matou ki te whakaara ano. Ki te Quay codebase i whakarereketia hei whakawhāiti i te maha o ngā hononga ki te pātengi raraunga mō ia kaimahi gevent. Ka noho tenei nama hei tawhā i roto i te whirihoranga: ka taea te whakarereke i runga i te rere me te kore e hanga he ahua ipu hou. Ki te mohio ki te maha o nga hononga ka taea te whakahaere tika, i whakahaerehia e matou etahi whakamatautau i roto i te taiao whakaari, me te whakarite i nga uara rereke kia mohio ai ka pa tenei ki nga ahuatanga whakamatautau. Ko te mutunga mai, i kitea tera Ka timata a Quay ki te maka i nga hapa 502 ina neke ake te maha o nga hononga ki te 10 mano.

I tukuna tonutia e matou tenei putanga hou ki te hanga me te tiimata ki te aro turuki i te raarangi hononga raraunga. I nga wa o mua, ka kati te turanga i muri i te 20 meneti. I muri i nga meneti 30 kore raruraru ka whai tumanako matou, a kotahi haora i muri mai ka maia matou. I whakahokia e matou nga waka ki te waahi ka timata matou ki te tirotiro i te matemate.

I te kaha ki te karo i te raru e arai ana ki te aukati, kare ano i kitea e matou ona tino take. I whakapumauhia kaore e pa ana ki tetahi huringa i OpenShift 4.3.19, mai i te mea ano i pa ki te putanga 4.3.18, i mahi tahi me Quay i mua kaore he raru.

He marama ano tetahi atu mea e piri ana i roto i te tautau.

Ako Taipitopito

I whakamahia e Quay.io nga tautuhinga taunoa ki te hono atu ki te papaarangi mo nga tau e ono kaore he raruraru. He aha te mea i huri? E marama ana ko enei wa katoa kei te tipu haere nga waka ki quay.io. I roto i a maatau, ko te ahua kua eke ki etahi uara paepae, i noho hei keu mo te tohenga o nga hononga. I ako tonu matou i nga raarangi papaa raraunga i muri i te rahunga tuarua, engari kaore i kitea he tauira, he hononga maamaa ranei.

I tenei wa, kei te mahi te roopu SRE ki te whakapai ake i te tono a Quay me te hauora ratonga katoa. Kua horahia nga inenga hou me nga papatohu, e whakaatu ana ko nga waahanga o te Quay e tino hiahiatia ana e nga kaihoko.

He pai te mahi a Quay.io tae noa ki te 9 o Hune. I te ata nei (EDT) i kite ano matou i te pikinga nui o te maha o nga hononga raraunga. I tenei wa kaore he wa whakaheke, i te mea i whakawhäitihia e te tawhā hou to raatau nama, a, kaore i whakaaetia kia nui ake te whakaurunga MySQL. Heoi, mo te hawhe haora, he maha nga kaiwhakamahi i kite he puhoi te mahi a quay.io. Ka kohia e matou nga raraunga ka taea ma te whakamahi i nga taputapu aroturuki taapiri. Inamata ka puta he tauira.

I mua tata o te pikinga o nga hononga, he maha nga tono i tukuna ki te API Rehita Taupānga. Ko te Rehita Taupānga he waahanga iti-mohiotia o quay.io. Ka taea e koe te penapena mea penei i nga tūtohi Helm me nga ipu me nga metadata whai kiko. Ko te nuinga o nga kaiwhakamahi quay.io kaore i te mahi me tenei waahanga, engari kei te kaha te whakamahi a Red Hat OpenShift. Ko te OperatorHub hei waahanga o OpenShift ka penapena nga kaiwhakahaere katoa i te Rehita Taupānga. Ko enei kaiwhakahaere te turanga mo te puunaha rauwiringa kaiao mahi OpenShift me te tauira mahi-a-hoa (nga mahi o te Ra 2).

Ka whakamahia e ia huinga OpenShift 4 nga kaiwhakahaere mai i te OperatorHub i hangaia ki te whakaputa i te raarangi o nga kaiwhakahaere e waatea ana mo te whakaurunga me te tuku whakahōutanga ki te hunga kua whakauruhia. I te piki haere o te rongonui o OpenShift 4, kua piki hoki te maha o nga tautau kei runga huri noa i te ao. Ko enei kohinga ka tango i nga ihirangi kaiwhakahaere hei whakahaere i te OperatorHub i hangaia, ma te whakamahi i te Rehita Taupānga kei roto quay.io hei tuara. I a maatau rapu mo te takenga o te raru, i ngaro i a maatau te mea i te mea ka piki haere te rongonui o OpenShift, ka piki ake ano te kawenga ki runga i tetahi o nga mahi quay.io e kore e whakamahia..

I mahia e matou etahi tātaritanga mo te tono tono mo te Rehita App me te titiro ki te waehere rehita. I te wa tonu, ka kitea nga hapa, na te mea kaore i tino pai te hanga o nga patai ki te papaaarangi. I te wa e iti ana te kawenga, kaore he raruraru, engari ka piki ake te kawenga, ka puta he raruraru. Ko te Rehita Taupānga e rua nga waahi raru kaore i pai te whakautu ki te piki haere o te kawenga: ko te tuatahi i homai he rarangi o nga kohinga katoa i roto i te putunga, ko te tuarua i whakahoki nga pupuhi katoa mo te kete.

Te whakakore i nga take

I te wiki i muri mai i whakapau kaha matou ki te arotau i te waehere o te Rehita Taupānga ake me tona taiao. Ko nga patai SQL kaore e whai hua i mahia ano ka whakakorehia nga waea whakahau koretake tar (i whakahaeretia i nga wa katoa ka tikina nga pupuhi), ka taapirihia te keteroki ki nga waahi ka taea. Na ka whakahaere matou i nga whakamatautau mahi nui me te whakataurite i te tere o te Rehita Taupānga i mua i muri mai i nga huringa.

Ko nga tono API i roa i mua ki te haurua meneti kua oti inaianei i roto i nga manomano. I te wiki i muri mai ka tukuna e matou nga huringa ki te whakaputanga, mai i tera wa kua pai te mahi a quay.io. I tenei wa, he maha nga paheketanga o nga waka i runga i te waahi o te Rehita Taupānga, engari na nga whakapainga i arai i te korenga o te putunga raraunga.

He aha ta tatou i ako?

E marama ana kei te ngana tetahi ratonga ki te karo i te wa heke. I roto i a maatau, e whakapono ana matou kua pai ake te pai ake o te quay.io i nga mate tata nei. Kua akohia e matou etahi akoranga matua e hiahia ana matou ki te whakapuaki:

  1. Ko nga raraunga e pa ana ki a wai e whakamahi ana i to ratonga me te pehea e kore e nui. Na te mea "kua mahi noa" a Quay, kaore matou i whakapau wa ki te arotau i nga waka me te whakahaere kawenga. Ko enei mea katoa i hanga he whakaaro teka mo te haumarutanga ka taea e te ratonga te tauine mo ake tonu atu.
  2. Ka heke te ratonga, Ko te whakahoki ake me te whakahaere he kaupapa matua.. Na te mea i mamae tonu a Quay i tetahi putunga korero kua maukati i te wa tuatahi o te paheketanga, karekau o maatau tikanga paerewa i te whai hua, kaore i taea e matou te whakahoki mai i te ratonga ma te whakamahi i aua mea. Na tenei ka puta he waahi kua pau te wa ki te tātari me te kohi raraunga i runga i te tumanako ka kitea te take - kaua e aro ki nga mahi katoa ki te whakaora i nga mahi.
  3. Aromātaihia te pānga o ia āhuatanga ratonga. He iti noa te whakamahi a nga kaihoko i te Rehita Taupānga, no reira ehara i te mea matua mo ta matou roopu. Ka iti noa te whakamahi i etahi ahuatanga o nga hua, he iti noa te puta mai o a raatau pepeha, ka mutu te tirotiro a nga kaihanga i te waehere. He ngawari ki te taka ki te pohehe ko te tikanga tenei—tae noa ki te ohorere ka kitea taua mahi ki te pokapū o tetahi aitua nui.

He aha te i muri?

Ko nga mahi ki te whakarite i te pumau o te ratonga kaore e mutu, kei te whakapai tonu matou. I te tipu haere tonu o nga pukapuka waka i runga i quay.io, e mohio ana matou kei a matou te kawenga ki te mahi i nga mea katoa ka taea e matou ki te whakatutuki i te whakawhirinaki a o taatau kaihoko. No reira, kei te mahi matou i nga mahi e whai ake nei:

  1. Hoatuhia nga tauira paatengi raraunga panui-anake hei awhina i te ratonga ki te hapai i nga waka e tika ana mena ka raru te tauira RDS tuatahi.
  2. Te whakahou i tetahi tauira RDS. Ko te putanga o naianei ake ehara i te raru. Engari, ka hiahia noa matou ki te tango i te huarahi teka (i peehia e matou i te wa o te korenga); Ko te pupuri i te raupaparorohiko i nga wa katoa ka whakakorea tetahi atu take mena ka paheke a meake nei.
  3. Keteroki taapiri puta noa i te roopu katoa. Kei te rapu tonu matou mo nga waahi ka taea e te keteroki te whakaiti i te uta i runga i te paataka raraunga.
  4. Te taapiri i te papangaahi tono paetukutuku (WAF) kia kite ko wai e hono ana ki quay.io me te aha.
  5. Ka timata mai i te tukunga o muri mai, ka whakarerea e nga tautau a Red Hat OpenShift te Rehita Taupānga hei tautoko i nga Putumōhio Kaiwhakahaere i runga i nga whakaahua ipu kei te quay.io.
  6. Ko te whakakapinga mo te wa roa mo te Rehita Taupānga ka taea te tautoko mo nga whakaritenga toi mo te Open Container Initiative (OCI). I tenei wa kei te whakatinanahia hei mahinga Quay taketake, ka watea ki nga kaiwhakamahi ina oti ana te whakaritenga.

Ko nga mea katoa i runga ake nei he wahanga o te haumi haere tonu a Red Hat ki quay.io i a tatou e neke atu ana i te roopu iti "ahua-whakaoho" ki te papaaa-a-SRE pakeke. E mohio ana matou he maha o taatau kaihoko e whakawhirinaki ana ki te quay.io i a raatau mahi o ia ra (tae atu ki te Red Hat!) a ka ngana matou ki te noho marama mo nga mate tata me nga mahi tonu ki te whakapai ake.

PS mai i te kaiwhakamaori

Pānuihia hoki i runga i ta maatau blog:

Source: will.com

Tāpiri i te kōrero