Post Mortem amin'ny Quay.io tsy misy

Fanamarihana. transl.: tamin'ny voalohandohan'ny volana aogositra, niresaka ampahibemaso momba ny famahana ny olan'ny fidirana amin'ny fidirana izay hitan'ireo mpampiasa ny serivisiny tamin'ny volana lasa i Red Hat Quay.io (mifototra amin'ny rejisitra ho an'ny sary fitoeran-javatra, izay noraisin'ny orinasa niaraka tamin'ny fividianana CoreOS). Na inona na inona fahaliananao amin'ity serivisy ity, ny lalana nodiavin'ny injeniera SRE an'ny orinasa mba hamantarana sy hanafoanana ny anton'ny loza dia mampianatra.

Post Mortem amin'ny Quay.io tsy misy

Ny 19 May, vao maraina (Eastern Daylight Time, EDT), dia nianjera ny serivisy quay.io. Ny loza dia nisy fiantraikany tamin'ny mpanjifa quay.io sy ny tetikasa Open Source mampiasa quay.io ho sehatra fananganana sy fizarana rindrambaiko. Ny Red Hat dia manome lanja ny fahatokisan'izy roa.

Nisy ekipan'ny injeniera SRE nandray anjara avy hatrany ary niezaka nanamafy orina haingana ny serivisy Quay. Na izany aza, teo am-panaovana izany izy ireo dia very ny fahafahan'ny mpanjifa nanosika sary vaovao, ary indraindray ihany izy ireo no afaka nisintona ny efa misy. Noho ny antony tsy fantatra dia voasakana ny angon-drakitra quay.io taorian'ny nampitomboana ny serivisy ho feno.

Β«Inona no niova?" - io no fanontaniana voalohany apetraka matetika amin'ny tranga toy izany. Tsikaritray fa fotoana fohy talohan'ilay olana dia nanomboka nanavao ho version 4.3.19 ny cluster OpenShift Dedicated (izay mandeha quay.io). Satria mandeha amin'ny Red Hat OpenShift Dedicated (OSD) ny quay.io, dia fanao mahazatra ny fanavaozana tsy tapaka ary tsy niteraka olana mihitsy. Ankoatr'izay, tao anatin'ny enim-bolana teo aloha, dia nanavao imbetsaka ny cluster Quay tsy misy fahatapahana amin'ny serivisy.

Raha nanandrana namerina ny serivisy izahay, dia nanomboka nanomana cluster OSD vaovao miaraka amin'ny dikan-tsarimihetsika teo aloha ny injeniera hafa, mba hahafahan'izy ireo mametraka ny zava-drehetra ao aminy raha misy zavatra mitranga.

Famakafakana ny antony

Ny soritr'aretina lehibe indrindra amin'ny tsy fahombiazana dia ny fisian'ny fifandraisana an'aliny an'aliny, izay nahatonga ny ohatra MySQL ho tsy azo ampiasaina. Nanasarotra ny hamantarana ny olana izany. Nametraka fetra ny isan'ny fifandraisana ambony indrindra avy amin'ny mpanjifa izahay mba hanampiana ny ekipan'ny SRE hanombana ny olana. Tsy nahatsikaritra fifamoivoizana tsy mahazatra tao amin'ny angon-drakitra izahay: raha ny marina, ny ankamaroan'ny fangatahana dia novakiana, ary vitsy monja no nanoratra.

Niezaka ihany koa izahay hamantatra lamina iray amin'ny fifamoivoizana amin'ny angon-drakitra izay mety hahatonga ity avalanche ity. Na izany aza, tsy nahita lamina tao amin'ny diary izahay. Teo am-piandrasana ny cluster vaovao miaraka amin'ny OSD 4.3.18 ho vonona, dia nanohy nanandrana nandefa quay.io pods izahay. Isaky ny mahatratra ny fahafaha-manao feno ny cluster dia mivaingana ny angon-drakitra. Midika izany fa ilaina ny mamerina ny ohatra RDS ho fanampin'ny pods quay.io rehetra.

Tamin'ny hariva, dia nampitony ny serivisy amin'ny fomba vakiana fotsiny izahay ary nanakana ny asa tsy ilaina betsaka araka izay azo atao (ohatra, ny fanangonam-pako anarana) mba hampihenana ny entana ao amin'ny angon-drakitra. Nitsahatra ny fiatoana fa tsy hita ny antony. Efa vonona ny kluster OSD vaovao, ary nafindranay ny serivisy, mampifandray ny fifamoivoizana ary manohy ny fanaraha-maso.

Quay.io dia niasa mafy tamin'ny cluster OSD vaovao, ka niverina tany amin'ny diarin'ny angon-drakitra izahay, saingy tsy nahita fifandraisana izay hanazava ny fanakanana. Niara-niasa taminay ny injeniera OpenShift mba hahalalana raha mety hiteraka olana amin'ny Quay ny fanovana ao amin'ny Red Hat OpenShift 4.3.19. Tsy nisy hita anefa, ary Tsy azo atao ny mamerina ny olana amin'ny toetry ny laboratoara.

Tsy fahombiazana faharoa

Tamin'ny 28 May, taloha kelin'ny mitataovovonana EDT, nianjera indray ny quay.io niaraka tamin'ny soritr'aretina mitovy amin'izany: voasakana ny angon-drakitra. Ary naverintsika indray ny ezaka rehetra nataontsika tamin'ny fanadihadiana. Voalohany indrindra, ilaina ny mamerina ny serivisy. na izany aza Tamin'ity indray mitoraka ity dia namerina ny RDS sy ny famerenana indray ny quay.io pods: firohondrohon'ny fifandraisana hafa no nanenika ny fototra. Fa nahoana?

Ny Quay dia nosoratana tamin'ny Python ary ny pod tsirairay dia miasa ho fitoeran-javatra tokana tokana. Ny fotoana fampandehanana kaontenera dia manao asa mifanandrify maro miaraka. Mampiasa ny tranomboky izahay gevent eo ambany gunicorn handamina ny fangatahana tranonkala. Rehefa misy fangatahana tonga ao amin'ny Quay (amin'ny alΓ lan'ny API manokana, na amin'ny alΓ lan'ny Docker's API), dia omena mpiasa gevent izany. Matetika io mpiasa io dia tokony hifandray amin'ny angon-drakitra. Taorian'ny tsy fahombiazana voalohany dia hitanay fa ny mpiasa gevent dia nifandray tamin'ny angon-drakitra tamin'ny alΓ lan'ny fanovana default.

Raha jerena ny isan'ny Quay pods sy ny fangatahana miditra an'arivony isan-tsegondra, maro amin'ireo fifandraisana amin'ny angon-drakitra no mety handresena ny ohatra MySQL. Noho ny fanaraha-maso dia fantatra fa ny Quay dia mamatsy fangatahana 5 arivo isan-tsegondra eo ho eo. Mitovy ihany ny isan'ny fifandraisana amin'ny angon-drakitra. Ny fifandraisana 5 arivo dia tao anatin'ny fahafahan'ny ohatra RDS anay (izay tsy azo lazaina hoe an'aliny). Noho ny antony sasany dia nisy fiakarana tsy nampoizina tamin'ny isan'ny fifandraisana, na izany aza, tsy nahatsikaritra nifandray tamin'ny fangatahana ho avy izahay.

Tamin'ity indray mitoraka ity dia tapa-kevitra izahay ny hitady sy hanafoana ny loharanon'ny olana, ary tsy hametra ny tenanay amin'ny reboot. Hiverina any amin'ny Quay fanovana natao mba hamerana ny isan'ny fifandraisana amin'ny angon-drakitra ho an'ny mpiasa tsirairay gevent. Io isa io dia lasa masontsivana amin'ny fanamafisana: azo atao ny manova azy amin'ny lalitra tsy misy fananganana sary fitoeran-javatra vaovao. Mba hamantarana hoe firy ny fifandraisana azo tanterahina amin'ny fomba tena izy, dia nanao fitsapana maromaro izahay tamin'ny tontolon'ny sehatra, nametraka soatoavina samihafa hahitana ny fiantraikan'izany eo amin'ny sehatry ny fitsapana entana. Vokany, fantatra fa Quay dia manomboka manipy fahadisoana 502 rehefa mihoatra ny 10 arivo ny isan'ny fifandraisana.

Nalefanay avy hatrany tamin'ny famokarana ity kinova vaovao ity ary nanomboka nanara-maso ny fandaharam-potoanan'ny fampifandraisana angon-drakitra. Teo aloha dia nihidy ny toby rehefa afaka 20 minitra teo ho eo. Taorian'ny 30 minitra tsy nisy olana dia nanana fanantenana izahay, ary adiny iray taty aoriana dia nanana fahatokisana izahay. Naverinay tamin'ny laoniny ny fifamoivoizana teo amin'ilay tranokala ary nanomboka ny famakafakana postmortem.

Rehefa vita ny fandalovana ny olana nitarika ny fanakanana, tsy hitanay ny tena antony. Nohamafisina fa tsy misy ifandraisany amin'ny fanovana ao amin'ny OpenShift 4.3.19 izany, satria toy izany koa no nitranga tamin'ny version 4.3.18, izay niara-niasa tamin'i Quay teo aloha tsy nisy olana.

Mazava ho azy fa nisy zavatra hafa niafina tao amin'ilay cluster.

Fianarana amin'ny antsipiriany

Quay.io dia nampiasa ny fanovana default mba hifandraisana amin'ny angon-drakitra mandritra ny enin-taona tsy misy olana. Inona no niova? Mazava ho azy fa tsy mitsaha-mitombo ny fifamoivoizana amin'ny quay.io. Raha ny zava-misy eto aminay dia toa efa tratra ny sandan'ny tokonam-baravarana, izay nahatonga ny firongatry ny fifandraisana. Nanohy nandinika ny diarin'ny angon-drakitra izahay taorian'ny tsy fahombiazana faharoa, saingy tsy nahita lamina na fifandraisana miharihary.

Nandritra izany fotoana izany, ny ekipa SRE dia niasa tamin'ny fanatsarana ny fangatahan'ny Quay sy ny fahasalaman'ny serivisy amin'ny ankapobeny. Napetraka ny metrika sy dashboard vaovao, mampiseho izay ampahany amin'ny Quay tena ilain'ny mpanjifa.

Quay.io dia niasa tsara hatramin'ny 9 jona. Tamin'ity maraina ity (EDT) dia nahita fitomboana lehibe indray ny isan'ny fifandraisana amin'ny angona. Tamin'ity indray mitoraka ity dia tsy nisy fiatoana, satria ny paramètre vaovao dia nametra ny isany ary tsy namela azy ireo hihoatra ny MySQL throughput. Na izany aza, nandritra ny antsasak'adiny teo, maro ireo mpampiasa no nanamarika fa miadana ny fahombiazan'ny quay.io. Nanangona haingana ny angona rehetra azo atao izahay tamin'ny fampiasana ny fitaovana fanaraha-maso fanampiny. Nisy lamina nipoitra tampoka.

Taloha kelin'ny firongatry ny fifandraisana, be dia be ny fangatahana natao tamin'ny App Registry API. App Registry dia endri-javatra tsy dia fantatra loatra amin'ny quay.io. Izany dia ahafahanao mitahiry zavatra toy ny tabilao Helm sy fitoeran-javatra misy metadata manankarena. Ny ankamaroan'ny mpampiasa quay.io dia tsy miasa amin'ity endri-javatra ity, fa ny Red Hat OpenShift dia mampiasa azy io. OperatorHub ao anatin'ny OpenShift dia mitahiry ny mpandraharaha rehetra ao amin'ny App Registry. Ireo mpandraharaha ireo no fototry ny tontolo iainana entin'ny OpenShift sy ny maodely miasa mifototra amin'ny mpiara-miasa (asa 2 andro).

Ny kluster OpenShift 4 tsirairay dia mampiasa mpandraharaha avy amin'ny OperatorHub naorina mba hamoahana katalaogin'ny mpandraharaha azo apetraka ary hanome fanavaozana ho an'ireo efa napetraka. Miaraka amin'ny fitomboan'ny lazan'ny OpenShift 4, dia nitombo ihany koa ny isan'ny kluster eo aminy manerana izao tontolo izao. Ny tsirairay amin'ireo cluster ireo dia misintona votoaty mpandraharaha mba hampandehanana ny OperatorHub naorina, amin'ny fampiasana ny App Registry ao anaty quay.io ho backend. Tamin'ny fikarohanay ny loharanon'ny olana dia tsy hitanay ny zava-misy fa rehefa nitombo tsikelikely ny lazan'ny OpenShift, dia nitombo ihany koa ny enta-mavesatra amin'ny iray amin'ireo fiasa quay.io tsy dia ampiasaina..

Nanao fanadihadiana momba ny fifamoivoizana fangatahana App Registry izahay ary nijery ny kaody fisoratana anarana. Avy hatrany dia hita ny lesoka, noho ny tsy fiforonan'ny antontan-taratasim-panontaniana amin'ny fomba tsara indrindra. Rehefa kelikely ny entana dia tsy niteraka olana izy ireo, fa rehefa nitombo ny entana dia niteraka olana. Ny App Registry dia nahitana teboka roa misy olana izay tsy namaly tsara ny fitomboan'ny entana: ny voalohany dia nanome lisitry ny fonosana rehetra ao amin'ny tahiry, ny faharoa dia namerina ny blobs rehetra ho an'ny fonosana.

Fanafoanana ny antony

Nandritra ny herinandro manaraka dia nandany ny fanatsarana ny kaody an'ny App Registry sy ny tontolo iainany izahay. Naverina novolavolaina ny fangatahana SQL tsy mahomby ary nesorina ny antso an-tariby tsy ilaina tar (nalefa isaky ny maka blobs izy io), nampiana caching raha azo atao. Nanao fitiliana fampisehoana be dia be izahay avy eo ary nampitaha ny hafainganam-pandehan'ny App Registry mialoha sy aorian'ny fanovana.

Ny fangatahana API izay naharitra antsasak'adiny teo aloha dia vita amin'ny milisegondra. Ny herinandro manaraka dia nametraka ny fanovana amin'ny famokarana izahay, ary nanomboka teo dia niasa tsy nisy hataka andro ny quay.io. Nandritra io fotoana io dia nisy fisondrotana maranitra maro tamin'ny fifamoivoizana teo amin'ny faran'ny App Registry, saingy nanakana ny fahatapahan'ny angon-drakitra ny fanatsarana.

Inona no nianarantsika?

Mazava fa ny serivisy rehetra dia manandrana misoroka ny fotoana fialan-tsasatra. Aminay, mino izahay fa nanampy tamin'ny fanatsarana ny quay.io ny fahatapahan-jiro farany teo. Nianatra lesona fototra vitsivitsy tiana hozaraina izahay:

  1. Ny angon-drakitra momba ny olona mampiasa ny serivisinao ary ny fomba dia tsy ilaina mihitsy. Satria "niasa" fotsiny i Quay, tsy nila nandany fotoana hanatsara ny fifamoivoizana sy ny fitantanana entana izahay. Izany rehetra izany dia niteraka fahatsapana fiarovana diso izay azon'ny serivisy atao amin'ny fotoana tsy voafetra.
  2. Rehefa midina ny serivisy, laharam-pahamehana ny famerenana azy io.. Satria mbola nijaly tamin'ny angon-drakitra voahidy i Quay nandritra ny fahatapahana voalohany, dia tsy nisy vokany nokasaina ny fomba fiasa mahazatra anay ary tsy afaka namerina ny serivisy tamin'ny fampiasana azy ireo izahay. Niteraka toe-javatra tsy maintsy lany tamin'ny famakafakana sy fanangonana angon-drakitra izany amin'ny fanantenana hahita ny fotony - fa tsy mifantoka amin'ny ezaka rehetra amin'ny famerenana ny fampiasa.
  3. Tombanana ny fiantraikan'ny endri-panompoana tsirairay. Zara raha nampiasa App Registry ny mpanjifa, ka tsy laharam-pahamehana ho an'ny ekipanay izany. Rehefa zara raha ampiasaina ny endri-javatra sasany amin'ny vokatra, zara raha miseho ny bibikely, ary mijanona tsy manara-maso ny kaody ny mpamorona. Mora ny ho rembin'ny hevi-diso hoe izao no tokony ho izyβ€”mandra-pahatongan'izany asa izany ho ivon'ny tranga lehibe iray.

Inona ny manaraka?

Tsy mitsahatra ny asa miantoka ny fahamarinan'ny serivisy ary manatsara izany hatrany izahay. Satria tsy mitsaha-mitombo ny habetsahan'ny fifamoivoizana ao amin'ny quay.io, dia manaiky izahay fa manana andraikitra hanao izay rehetra azonay atao mba hiainana ny fitokisan'ny mpanjifanay. Noho izany dia miasa amin'ireto asa manaraka ireto izahay amin'izao fotoana izao:

  1. Mametraka dika mitovy amin'ny angon-drakitra vakiana fotsiny mba hanampiana ny serivisy amin'ny fitantanana ny fifamoivoizana mety raha misy olana amin'ny ohatra RDS voalohany.
  2. Fanavaozana ny ohatra RDS. Ny dikan-teny ankehitriny mihitsy no tsy olana. Fa kosa, te-hanaisotra fotsiny ny lalana diso (izay narahinay nandritra ny tsy fahombiazana); Ny fitazonana ny lozisialy ho havaozina dia hanafoana ny antony hafa raha sendra misy fahatapahana amin'ny ho avy.
  3. Caching fanampiny manerana ny cluster manontolo. Manohy mitady faritra ahafahan'ny caching mampihena ny entana ao amin'ny angon-drakitra izahay.
  4. Manampy firewall fampiharana tranonkala (WAF) hahitana hoe iza no mifandray amin'ny quay.io ary nahoana.
  5. Manomboka amin'ny famoahana manaraka, ny kluster Red Hat OpenShift dia handao ny App Registry ho an'ny Operator Catalogs mifototra amin'ny sarin'ny container hita ao amin'ny quay.io.
  6. Ny fanoloana maharitra ny App Registry dia mety ho fanohanana ny fanondroana artifact Open Container Initiative (OCI). Izy io dia ampiharina amin'izao fotoana izao ho fampiasa Quay teratany ary ho azon'ny mpampiasa rehefa vita ny famaritana.

Ireo rehetra voalaza etsy ambony ireo dia ampahany amin'ny fampiasam-bola mitohy ataon'ny Red Hat ao amin'ny quay.io rehefa miala amin'ny ekipa kely "fomba fanombohana" mankany amin'ny sehatra SRE matotra isika. Fantatray fa maro amin'ireo mpanjifanay no miantehitra amin'ny quay.io amin'ny asany isan'andro (anisan'izany ny Red Hat!) ary miezaka ny mangarahara araka izay azo atao momba ny fahatapahan-jiro vao haingana sy ny ezaka mitohy amin'ny fanatsarana.

PS avy amin'ny mpandika teny

Vakio ihany koa ao amin'ny bilaoginay:

Source: www.habr.com

Add a comment