Buga Mortem akan rashin samun Quay.io

Lura. fassara: a farkon watan Agusta, Red Hat ya yi magana a bainar jama'a game da warware matsalolin samun damar da masu amfani da sabis ɗin suka ci karo da su a cikin watannin da suka gabata. Ku.io (yana dogara ne akan rajista don hotunan kwantena, wanda kamfanin ya karɓa tare da siyan CoreOS). Ko da kuwa sha'awar ku ga wannan sabis ɗin kamar haka, hanyar da injiniyoyin SRE na kamfanin suka bi don ganowa da kawar da musabbabin hatsarin yana da koyarwa.

Buga Mortem akan rashin samun Quay.io

A ranar 19 ga Mayu, da sassafe (Lokacin Haske na Gabas, EDT), sabis ɗin quay.io ya fado. Hatsarin ya shafi duka masu amfani da quay.io da ayyukan Buɗewa ta hanyar amfani da quay.io a matsayin dandamali don ginawa da rarraba software. Red Hat yana daraja amanar duka biyun.

Tawagar injiniyoyin SRE sun shiga hannu nan da nan kuma sun yi ƙoƙarin daidaita sabis ɗin Quay da wuri-wuri. Koyaya, yayin da suke yin wannan, abokan ciniki sun rasa ikon tura sabbin hotuna, kuma lokaci-lokaci kawai suna iya cire waɗanda suke. Don wasu dalilai da ba a san su ba, an katange bayanan quay.io bayan ƙaddamar da sabis ɗin zuwa cikakken ƙarfi.

«Me ya canza?"- wannan ita ce tambaya ta farko da ake yi a irin waɗannan lokuta. Mun lura cewa jim kaɗan kafin fitowar, ƙungiyar Buɗe Shift Dedicated (wanda ke gudanar da quay.io) ya fara ɗaukakawa zuwa sigar 4.3.19. Tun da quay.io ke gudana akan Red Hat OpenShift Dedicated (OSD), sabuntawa na yau da kullun sun kasance na yau da kullun kuma basu taɓa haifar da matsala ba. Haka kuma, a cikin watanni shida da suka gabata, mun haɓaka gungu na Quay sau da yawa ba tare da wani tsangwama a cikin sabis ba.

Yayin da muke ƙoƙarin dawo da sabis ɗin, wasu injiniyoyi sun fara shirya sabon gungu na OSD tare da nau'in software na baya, ta yadda idan wani abu ya faru, za su iya tura komai a kai.

Tushen Bincike

Babban alamar gazawar shi ne bala'in dubun-dubatar hanyoyin sadarwar bayanai, wanda ya sa misalin MySQL ya kasa aiki yadda ya kamata. Hakan ya sa a yi wahalar gano matsalar. Mun saita iyaka akan iyakar adadin haɗin kai daga abokan ciniki don taimakawa ƙungiyar SRE ta kimanta batun. Ba mu lura da wani sabon zirga-zirgar ababen hawa zuwa bayanan ba: a zahiri, yawancin buƙatun an karanta, kuma kaɗan ne kawai aka rubuta.

Mun kuma yi ƙoƙarin gano wani tsari a cikin zirga-zirgar bayanai wanda zai iya haifar da wannan bala'in. Duk da haka, ba mu sami wani tsari a cikin rajistan ayyukan ba. Yayin jiran sabon gungu tare da OSD 4.3.18 don kasancewa a shirye, mun ci gaba da ƙoƙarin ƙaddamar da quay.io pods. A duk lokacin da tarin ya kai cikakken ƙarfi, ma'aunin bayanai zai daskare. Wannan yana nufin cewa ya zama dole a sake farawa misalin RDS ban da duk quay.io pods.

Da yamma, mun daidaita sabis ɗin a cikin yanayin karantawa kawai kuma mun kashe ayyuka marasa mahimmanci da yawa kamar yadda zai yiwu (misali, tarin shara na sararin suna) don rage kaya akan bayanan. Daskare ya tsaya amma ba a taba samun dalilin ba. Sabuwar gungu na OSD yana shirye, kuma mun ƙaura sabis, haɗa zirga-zirga da ci gaba da sa ido.

Quay.io yayi aiki da tsayin daka akan sabon gungu na OSD, don haka mun koma cikin rajistar bayanai, amma ba mu sami alaƙar da za ta bayyana toshewar ba. Injiniyoyin OpenShift sun yi aiki tare da mu don fahimtar ko canje-canje a cikin Red Hat OpenShift 4.3.19 na iya haifar da matsala tare da Quay. Duk da haka, babu abin da aka samu, kuma Ba zai yiwu a sake haifar da matsalar a cikin yanayin dakin gwaje-gwaje ba.

Na biyu rashin nasara

A ranar 28 ga Mayu, jim kaɗan kafin azahar EDT, quay.io ya sake faɗuwa tare da wannan alama: an toshe bayanan. Kuma mun sake jefa duk kokarinmu a cikin binciken. Da farko, ya zama dole don mayar da sabis ɗin. Duk da haka wannan lokacin sake kunna RDS da sake kunna quay.io pods bai yi komai ba: wani bala'in haɗi ya mamaye tushe. Amma me ya sa?

An rubuta Quay a cikin Python kuma kowane kwas ɗin yana aiki azaman akwati guda ɗaya. Lokacin aikin kwantena yana gudanar da ayyuka masu kama da juna a lokaci guda. Muna amfani da ɗakin karatu gevent karkashin gunicorn don aiwatar da buƙatun yanar gizo. Lokacin da buƙatu ta zo cikin Quay (ta hanyar API ɗinmu, ko ta API ɗin Docker), ana sanya ma'aikacin kyauta. Yawanci wannan ma'aikaci ya kamata ya tuntuɓi bayanan bayanai. Bayan gazawar farko, mun gano cewa ma'aikatan gevent suna haɗawa da ma'ajin bayanai ta amfani da saitunan tsoho.

Idan aka ba da adadi mai yawa na kwas ɗin Quay da dubunnan buƙatun masu shigowa a cikin daƙiƙa guda, babban adadin haɗin bayanan bayanai zai iya mamaye misalin MySQL. Godiya ga saka idanu, an san cewa Quay yana aiwatar da matsakaita buƙatun dubu 5 a sakan daya. Adadin haɗin kai zuwa ma'ajiyar bayanai kusan iri ɗaya ne. Haɗi dubu 5 sun kasance da kyau a cikin iyawar misalin mu na RDS (wanda ba za a iya faɗi game da dubun dubatar ba). Don wasu dalilai an sami tsinkewar da ba a zata ba a cikin adadin haɗin gwiwa, duk da haka, ba mu lura da wata alaƙa da buƙatun masu shigowa ba.

A wannan karon mun kuduri aniyar ganowa da kawar da tushen matsalar, kuma ba mu takaita kanmu ga sake yi ba. Zuwa Quay codebase an yi canje-canje don iyakance adadin haɗin kai zuwa bayanan bayanan kowane ma'aikaci faruwa. Wannan lambar ta zama ma'auni a cikin tsari: ya zama mai yiwuwa a canza shi a kan tashi ba tare da gina sabon hoton akwati ba. Don gano adadin haɗin kai da gaske za a iya sarrafa su, mun gudanar da gwaje-gwaje da yawa a cikin wurin tsarawa, muna saita dabi'u daban-daban don ganin yadda wannan zai shafi yanayin gwajin lodi. A sakamakon haka, an gano cewa Quay ya fara jefa kurakurai 502 lokacin da adadin haɗin ya wuce dubu 10.

Nan da nan muka tura wannan sabon sigar don samarwa kuma muka fara sa ido kan jadawalin haɗin bayanai. A baya, an kulle tushe bayan kusan mintuna 20. Bayan mintuna 30 marasa matsala muna da bege, kuma bayan awa daya mun sami kwarin gwiwa. Mun dawo da zirga-zirga zuwa rukunin yanar gizon kuma mun fara bincike na bayan mutuwa.

Bayan an sami nasarar tsallake matsalar da ke haifar da toshewa, ba mu gano ainihin dalilansa ba. An tabbatar da cewa ba shi da alaka da kowane canje-canje a cikin OpenShift 4.3.19, tun da irin wannan abu ya faru a kan sigar 4.3.18, wanda a baya yayi aiki tare da Quay ba tare da matsala ba.

A fili akwai wani abu kuma yana ɓoye a cikin tarin.

Cikakken Nazari

Quay.io ya yi amfani da saitunan tsoho don haɗawa zuwa bayanan bayanan tsawon shekaru shida ba tare da wata matsala ba. Me ya canza? A bayyane yake cewa duk wannan lokacin zirga-zirga akan quay.io yana ƙaruwa akai-akai. A cikin yanayinmu, da alama an kai wani ƙima, wanda ya zama sanadin ɓarkewar haɗin gwiwa. Mun ci gaba da nazarin rajistar bayanan bayanan bayan gazawar ta biyu, amma ba mu sami wani tsari ko alaƙa ba.

A halin da ake ciki, ƙungiyar SRE tana aiki kan ingantawa ga lura da buƙatar Quay da lafiyar sabis gabaɗaya. An tura sabbin ma'auni da dashboards, yana nuna waɗanne sassan Quay ne suka fi buƙata daga abokan ciniki.

Quay.io yayi aiki lafiya har zuwa 9 ga Yuni. A safiyar yau (EDT) mun sake ganin karuwa mai yawa a adadin haɗin bayanai. A wannan karon babu raguwar lokaci, tun da sabon siga ya iyakance adadin su kuma bai basu damar wuce kayan aikin MySQL ba. Koyaya, kusan rabin sa'a, yawancin masu amfani sun lura jinkirin aikin quay.io. Mun tattara duk bayanan da suka yiwu ta amfani da ƙarin kayan aikin sa ido. Nan da nan wani tsari ya fito.

Kafin haɓakar haɗin gwiwa, an yi buƙatu da yawa zuwa API Registry App. App Registry sanannen siffa ce ta quay.io. Yana ba ku damar adana abubuwa kamar taswirar Helm da kwantena tare da wadataccen metadata. Yawancin masu amfani da quay.io ba sa aiki tare da wannan fasalin, amma Red Hat OpenShift yana amfani da shi sosai. OperatorHub a matsayin ɓangare na OpenShift yana adana duk masu aiki a cikin App Registry. Waɗannan masu aiki sun samar da tushe don yanayin yanayin yanayin aikin OpenShift da tsarin aiki mai tsaka-tsaki na abokin tarayya (ayyukan ranar 2).

Kowane gungu na OpenShift 4 yana amfani da masu aiki daga ginanniyar OperatorHub don buga kasida na masu aiki da ke akwai don shigarwa da samar da sabuntawa ga waɗanda aka riga aka shigar. Tare da karuwar shaharar OpenShift 4, adadin gungu akan sa a duniya shima ya karu. Kowane ɗayan waɗannan gungu yana zazzage abun ciki na afareta don gudanar da ginannen OperatorHub, ta amfani da App Registry cikin quay.io azaman baya. A cikin bincikenmu na tushen matsalar, mun rasa gaskiyar cewa yayin da OpenShift ya girma a hankali a hankali, nauyin ɗayan ayyukan quay.io da ba a cika amfani da shi ba shima ya karu..

Mun yi wasu bincike game da zirga-zirgar neman rajistar App kuma mun kalli lambar rajista. Nan da nan, an bayyana gazawa, saboda ba a samar da tambayoyin da aka yi ba ga ma'ajin bayanai da kyau. Lokacin da kaya ya yi ƙasa, ba su haifar da matsala ba, amma lokacin da nauyin ya karu sai ya zama tushen matsala. App Registry ya juya yana da matsala guda biyu masu matsala waɗanda ba su amsa da kyau ga haɓaka kaya ba: na farko ya ba da jerin duk fakitin da ke cikin ma'ajiyar, na biyu ya dawo da duk ɓangarorin fakitin.

Kawar da dalilai

A mako mai zuwa mun shafe inganta lambar rajistar App da kanta da muhallinta. A bayyane yake an sake yin aikin tambayoyin SQL marasa inganci kuma an kawar da kiran umarni mara amfani tar (ana gudanar da shi a duk lokacin da aka dawo da tsummoki), ana ƙara caching a duk inda zai yiwu. Daga nan mun gudanar da gwajin aiki mai yawa kuma mun kwatanta saurin rajistar App kafin da bayan canje-canje.

Buƙatun API waɗanda a baya suka ɗauki kusan rabin minti yanzu an kammala su a cikin millise seconds. Mako na gaba mun tura canje-canjen zuwa samarwa, kuma tun daga nan quay.io ke aiki da ƙarfi. A wannan lokacin, akwai ɗimbin kaifi da yawa a cikin zirga-zirga akan ƙarshen Rajistar App, amma haɓakawa ya hana fitar da bayanai.

Menene muka koya?

A bayyane yake cewa duk wani sabis yana ƙoƙarin guje wa raguwa. A cikin yanayinmu, mun yi imanin cewa abubuwan da suka faru na kwanan nan sun taimaka wajen inganta quay.io. Mun koyi wasu mahimman darussa waɗanda za mu so mu raba:

  1. Bayanai game da wanda ke amfani da sabis ɗin ku da kuma yadda ba zai taɓa yin nasara ba. Saboda Quay "kawai yayi aiki," ba mu taɓa yin amfani da lokacin inganta zirga-zirga da sarrafa kaya ba. Duk wannan ya haifar da rashin tsaro na ƙarya wanda sabis ɗin zai iya ɗauka har abada.
  2. Lokacin da sabis ɗin ya ragu, dawo da shi da gudu shine babban fifiko.. Saboda Quay ya ci gaba da shan wahala daga bayanan da aka kulle a lokacin fita na farko, daidaitattun hanyoyin mu ba su da tasirin da aka yi niyya kuma ba mu sami ikon dawo da sabis ɗin ta amfani da su ba. Wannan ya haifar da halin da ake ciki inda dole ne a kashe lokaci don yin nazari da tattara bayanai a cikin bege na gano tushen dalilin - maimakon mayar da hankali ga duk wani ƙoƙari na maido da aiki.
  3. Ƙimar tasirin kowane fasalin sabis. Abokan ciniki ba safai suke amfani da App Registry ba, don haka ba fifiko ba ne ga ƙungiyarmu. Lokacin da wasu fasalulluka na samfur ba a cika amfani da su ba, kurakuransu ba safai suke bayyana ba, kuma masu haɓakawa suna daina sa ido kan lambar. Yana da sauƙi a faɗa cikin kuskuren cewa haka ya kamata ya kasance-har sai ba zato ba tsammani wannan aikin ya sami kansa a tsakiyar babban abin da ya faru.

Abin da ke gaba?

Ayyukan tabbatar da zaman lafiyar sabis ɗin ba ya tsayawa kuma muna ci gaba da inganta shi. Yayin da yawan zirga-zirgar ababen hawa ke ci gaba da girma akan quay.io, mun gane cewa muna da alhakin yin duk abin da za mu iya don rayuwa daidai da amanar abokan cinikinmu. Don haka, a halin yanzu muna aiki akan ayyuka masu zuwa:

  1. Ƙaddamar da kwafin bayanai-kawai don taimakawa sabis ɗin sarrafa zirga-zirgar da ya dace a yayin da aka sami matsala tare da misalin RDS na farko.
  2. Ana ɗaukaka misalin RDS. Shi kansa sigar yanzu ba shine matsalar ba. Maimakon haka, kawai muna so mu cire hanyar karya (wanda muka bi a lokacin gazawar); Ci gaba da sabunta software ɗin zai kawar da wani abu a cikin abin da zai faru nan gaba.
  3. Ƙarin caching a duk faɗin gungu. Muna ci gaba da neman wuraren da caching zai iya rage nauyi akan ma'ajin bayanai.
  4. Ƙara Firewall aikace-aikacen yanar gizo (WAF) don ganin wanda ke haɗawa zuwa quay.io kuma me yasa.
  5. An fara da fitowar ta gaba, gungu na Red Hat OpenShift za su yi watsi da Registry App don goyon bayan Catalogs na Operator dangane da hotunan kwantena da ke kan quay.io.
  6. Sauyawa na dogon lokaci don rijistar App na iya zama goyan baya ga ƙayyadaddun kayan aikin Buɗaɗɗen Kwantena (OCI). A halin yanzu ana aiwatar da shi azaman aikin Quay na asali kuma zai kasance ga masu amfani idan an gama ƙayyadaddun ƙayyadaddun bayanai.

Duk abubuwan da ke sama wani ɓangare ne na saka hannun jari na Red Hat a cikin quay.io yayin da muke motsawa daga ƙaramin ƙungiyar "salon farawa" zuwa babban dandamalin SRE da ke motsawa. Mun san cewa yawancin abokan cinikinmu sun dogara da quay.io a cikin ayyukansu na yau da kullun (ciki har da Red Hat!)

PS daga mai fassara

Karanta kuma a kan shafinmu:

source: www.habr.com

Add a comment