ʻAʻole loaʻa ka Post Mortem ma Quay.io

Nānā. unuhi.: i ka hoʻomaka ʻana o ʻAukake, ua ʻōlelo ākea ʻo Red Hat e pili ana i ka hoʻoponopono ʻana i nā pilikia hiki ke loaʻa i nā mea hoʻohana o kāna lawelawe i hālāwai ai i nā mahina i hala. Quay.io (hoʻokumu ʻia ia ma kahi papa inoa no nā kiʻi pahu, i loaʻa i ka hui me ke kūʻai ʻana o CoreOS). Ma waho o kou makemake i kēia lawelawe e like me ia, ʻo ke ala i hele ai nā ʻenekini SRE o ka hui e ʻike a hoʻopau i nā kumu o ka ulia pōpilikia.

ʻAʻole loaʻa ka Post Mortem ma Quay.io

Ma ka lā 19 o Mei, i ke kakahiaka nui (Eastern Daylight Time, EDT), hāʻule ka lawelawe quay.io. Ua pili ka ulia i nā mea kūʻai quay.io a me nā papahana Open Source e hoʻohana ana i quay.io ma ke ʻano he kahua no ke kūkulu ʻana a me ka hāʻawi ʻana i nā polokalamu. Manaʻo ʻo Red Hat i ka hilinaʻi o nā mea ʻelua.

Ua komo koke kekahi hui o nā ʻenekinia SRE a hoʻāʻo e hoʻopaʻa i ka lawelawe Quay i ka hiki. Eia nō naʻe, ʻoiai lākou e hana ana i kēia, ua nalowale nā ​​​​mea kūʻai aku i ka hiki ke kiʻi i nā kiʻi hou, a i kekahi manawa hiki iā lākou ke huki i nā kiʻi i loaʻa. No kekahi kumu ʻike ʻole, ua ālai ʻia ka waihona quay.io ma hope o ka hoʻonui ʻana i ka lawelawe i ka piha piha.

«He aha ka mea i hoʻololi?"- ʻo kēia ka nīnau mua i nīnau pinepine ʻia ma ia mau hihia. Ua ʻike mākou ma mua koke o ka hoʻopuka ʻana, ua hoʻomaka ka OpenShift Dedicated cluster (e holo ana i quay.io) e hoʻonui i ka mana 4.3.19. No ka holo ʻana o quay.io ma Red Hat OpenShift Dedicated (OSD), maʻamau ka hoʻonui ʻana a ʻaʻole i hoʻopilikia. Eia kekahi, i nā mahina ʻeono i hala iho nei, ua hoʻonui mākou i nā hui Quay i nā manawa he nui me ka ʻole o ke keakea ʻana i ka lawelawe.

ʻOiai mākou e ho'āʻo nei e hoʻihoʻi hou i ka lawelawe, ua hoʻomaka nā mea ʻenekinia ʻē aʻe e hoʻomākaukau i kahi pūʻulu OSD hou me ka mana o mua o ka polokalamu, no laila inā loaʻa kekahi mea, hiki iā lākou ke kau i nā mea āpau ma luna.

Hoʻolāʻau kumu kumu

ʻO ka hōʻailona koʻikoʻi o ka hāʻule ʻana he ʻumi kaukani o nā pilina waihona, kahi i hiki ʻole ai ke hoʻohana pono i ka MySQL. Ua paʻakikī kēia i ka ʻike ʻana i ka pilikia. Ua kau mākou i ka palena o ka helu kiʻekiʻe o nā pilina mai nā mea kūʻai aku e kōkua i ka hui SRE e loiloi i ka pilikia. ʻAʻole mākou i ʻike i ka hele ʻana i ka waihona: ʻoiaʻiʻo, ua heluhelu ʻia ka hapa nui o nā noi, a he kakaikahi wale nō i kākau.

Ua hoʻāʻo nō hoʻi mākou e ʻike i kahi ʻano i loko o ke kaʻa ʻikepili i hiki ke hoʻoulu i kēia avalanche. Akā naʻe, ʻaʻole hiki iā mākou ke ʻike i nā mamana ma nā lāʻau. ʻOiai e kali ana no ka hoʻomākaukau ʻana o ka pūʻulu hou me OSD 4.3.18, hoʻomau mākou i ka hoʻāʻo ʻana e hoʻomaka i nā pods quay.io. I kēlā me kēia manawa a hiki i ka pūʻulu piha piha, e maloʻo ka waihona. ʻO ia ka mea pono e hoʻomaka hou i ka laʻana RDS me ka hoʻohui ʻana i nā pods quay.io āpau.

Ma ke ahiahi, hoʻokūpaʻa mākou i ka lawelawe ma ke ʻano heluhelu-wale nō a hoʻopau i nā hana pono ʻole (e like me ka hōʻiliʻili ʻōpala inoa inoa) e hōʻemi i ka ukana ma ka waihona. Ua oki ka pahu hau aka, aole i loaa ke kumu. Ua mākaukau ka pūʻulu OSD hou, a ua neʻe mākou i ka lawelawe, pili i nā kaʻa a hoʻomau i ka nānā ʻana.

Ua hana paʻa ʻo Quay.io ma ka pūʻulu OSD hou, no laila ua hoʻi mākou i nā moʻolelo waihona, akā ʻaʻole hiki ke loaʻa kahi pilina e wehewehe i nā poloka. Ua hana pū nā mea ʻenekinia OpenShift me mākou e hoʻomaopopo inā hiki i nā loli i ka Red Hat OpenShift 4.3.19 ke hoʻopilikia i ka Quay. Eia naʻe, ʻaʻohe mea i loaʻa, a ʻAʻole hiki ke hana hou i ka pilikia ma nā kūlana hoʻokolohua.

ʻO ka hāʻule ʻelua

Ma ka lā 28 o Mei, ma mua koke o ke awakea EDT, ua hāʻule hou ʻo quay.io me ka hōʻailona like: ua ālai ʻia ka waihona. A ua hoʻolei hou mākou i kā mākou mau hana āpau i ka hoʻokolokolo. ʻO ka mea mua, pono e hoʻihoʻi i ka lawelawe. Eia naʻe ʻO kēia manawa ke hoʻomaka hou nei i ka RDS a hoʻomaka hou i nā pods quay.io ʻaʻohe mea i hana: ua hoʻonui ʻia kahi ʻano ʻē aʻe o nā pilina. Akā, no ke aha?

Ua kākau ʻia ʻo Quay ma Python a ke hana nei kēlā me kēia pod ma kahi pahu monolithic hoʻokahi. He nui nā hana like i ka manawa hoʻokahi. Hoʻohana mākou i ka waihona gevent malalo gunicorn e hana i nā noi pūnaewele. Ke hele mai kahi noi i Quay (ma o kā mākou API ponoʻī, a i ʻole ma o Docker's API), hāʻawi ʻia ia i kahi limahana gevent. ʻO ka maʻamau, pono e hoʻokaʻaʻike kēia limahana i ka waihona. Ma hope o ka hāʻule mua, ʻike mākou e pili ana nā limahana gevent i ka waihona me ka hoʻohana ʻana i nā hoʻonohonoho paʻamau.

Hāʻawi ʻia i ka helu nui o nā Quay pods a me nā tausani o nā noi e hiki mai ana i kēlā me kēia kekona, hiki i kahi helu nui o nā pilina ʻikepili ke hoʻopau i ke kumu MySQL. Mahalo i ka nānā ʻana, ua ʻike ʻia ka hana ʻo Quay i ka awelika o 5 tausani mau noi i kēlā me kēia kekona. Ua like like ka helu o nā pili i ka waihona. 5 tausani mau pilina i loko o ka hiki o kā mākou hiʻohiʻona RDS (ʻaʻole hiki ke ʻōlelo ʻia e pili ana i nā ʻumi tausani). No kekahi kumu i manaʻo ʻole ʻia nā spike i ka helu o nā pilina, akā naʻe, ʻaʻole mākou i ʻike i ka pilina me nā noi e hiki mai ana.

I kēia manawa ua hoʻoholo mākou e ʻimi a hoʻopau i ke kumu o ka pilikia, a ʻaʻole e kaupalena iā mākou iho i kahi reboot. I ka Quay codebase ua hana ʻia nā hoʻololi e kaupalena i ka helu o nā pili i ka waihona no kēlā me kēia limahana hāʻawi. Ua lilo kēia helu i mea hoʻohālikelike i ka hoʻonohonoho: hiki ke hoʻololi iā ia ma ka lele me ke kūkulu ʻole ʻana i kahi kiʻi pahu hou. No ka ʻike ʻana i ka nui o nā pilina i hiki ke mālama maoli ʻia, ua holo mākou i kekahi mau hoʻāʻo i kahi ʻano hoʻokūkū, hoʻonohonoho i nā waiwai like ʻole e ʻike ai pehea e pili ai kēia i nā hiʻohiʻona hoʻāʻo hoʻouka. ʻO ka hopena, ua ʻike ʻia kēlā Hoʻomaka ʻo Quay e hoʻolei i nā hewa 502 ke ʻoi aku ka nui o nā pilina ma mua o 10 tausani.

Hoʻopuka koke mākou i kēia mana hou i ka hana a hoʻomaka mākou e nānā i ka papa kuhikuhi pili waihona. I ka wā ma mua, ua paʻa ke kumu ma hope o 20 mau minuke. Ma hope o 30 mau minuke pilikia ʻole ua loaʻa iā mākou ka manaʻolana, a hoʻokahi hola ma hope ua loaʻa iā mākou ka hilinaʻi. Hoʻihoʻi hou mākou i ke kaʻa i ka pūnaewele a hoʻomaka mākou i ka nānā ʻana i ka postmortem.

I ka hoʻokō ʻana i ka pale ʻana i ka pilikia e alakaʻi ana i ka pale ʻana, ʻaʻole mākou i ʻike i ke kumu maoli. Ua hōʻoia ʻia ʻaʻole pili ia i nā loli i OpenShift 4.3.19, ʻoiai ua hana ʻia ka mea like ma ka version 4.3.18, i hana mua me Quay me ka pilikia ʻole.

Ua maopopo he mea ʻē aʻe e hūnā ana i loko o ka pūʻulu.

Haʻawina kikoʻī

Ua hoʻohana ʻo Quay.io i nā hoʻonohonoho paʻamau e hoʻopili i ka waihona no nā makahiki ʻeono me ka pilikia ʻole. He aha ka mea i hoʻololi? Ua maopopo ka ulu mau ʻana o nā kaʻa ma quay.io i kēia manawa. I kā mākou hihia, ua ʻike ʻia me he mea lā ua loaʻa ka waiwai o ka paepae, i lilo i mea hoʻomaka no ka loaʻa ʻana o nā pilina. Ua hoʻomau mākou i ke aʻo ʻana i nā moʻolelo waihona ma hope o ka lua o ka hāʻule ʻana, akā ʻaʻole i loaʻa nā ʻano a i ʻole nā ​​pilina pili.

I kēia manawa, ke hana nei ka hui SRE i ka hoʻomaikaʻi ʻana i ka nānā ʻana o ka noi a Quay a me ke olakino lawelawe holoʻokoʻa. Ua kau ʻia nā metric hou a me nā dashboards, e hōʻike ana i nā ʻāpana o ka Quay i makemake nui ʻia e nā mea kūʻai aku.

Ua hana maikaʻi ʻo Quay.io a hiki i Iune 9th. I kēia kakahiaka (EDT) ua ʻike hou mākou i ka piʻi nui ʻana o ka helu o nā pili waihona. I kēia manawa ʻaʻohe manawa hoʻomaha, no ka mea, ua kaupalena ka palena hou i kā lākou helu a ʻaʻole i ʻae iā lākou e ʻoi aku ma mua o MySQL throughput. Eia naʻe, no ka hapalua hola, nui nā mea hoʻohana i ʻike i ka hana lohi o quay.io. Ua hōʻiliʻili koke mākou i nā ʻikepili āpau me ka hoʻohana ʻana i nā mea hana nānā i hoʻohui ʻia. Ua kū koke mai kekahi kumu.

Ma mua o ka piʻi ʻana o nā pilina, ua nui nā noi i hana ʻia i ka App Registry API. ʻO App Registry kahi hiʻohiʻona ʻike liʻiliʻi o quay.io. Hiki iā ʻoe ke mālama i nā mea e like me nā pakuhi Helm a me nā pahu me nā metadata waiwai. ʻAʻole hana ka hapa nui o nā mea hoʻohana quay.io me kēia hiʻohiʻona, akā hoʻohana ikaika ʻo Red Hat OpenShift iā ia. ʻO OperatorHub ma ke ʻano he ʻāpana o OpenShift e mālama i nā mea hana āpau ma ka Registry App. Hoʻokumu kēia mau mea hoʻohana i ke kumu no ka OpenShift workload ecosystem a me ke kumu hoʻohālike hoʻohana hoa-centric (nā lā 2 hana).

Ke hoʻohana nei kēlā me kēia pūʻulu OpenShift 4 i nā mea hoʻohana mai ka OperatorHub i kūkulu ʻia e hoʻolaha i kahi papa inoa o nā mea hana i loaʻa no ka hoʻokomo ʻana a hāʻawi i nā mea hou i nā mea i hoʻokomo ʻia. Me ka ulu nui ʻana o OpenShift 4, ua hoʻonui ʻia ka nui o nā puʻupuʻu ma luna o ka honua. Hoʻoiho kēlā me kēia mau puʻupuʻu i ka ʻikepili o ka mea hoʻohana e holo i ka OperatorHub i kūkulu ʻia, me ka hoʻohana ʻana i ka Registry App ma loko quay.io ma ke kua. I ko mākou ʻimi ʻana i ke kumu o ka pilikia, ua poina mākou i ka ulu ʻana o OpenShift i ka kaulana, ua hoʻonui pū ʻia ka ukana ma kekahi o nā hana quay.io i hoʻohana ʻole ʻia..

Ua hana mākou i kahi loiloi o App Registry noi huakaʻi a nānā i ke code registry. I ka manawa koke, ua hōʻike ʻia nā hemahema, no ka mea ʻaʻole i hoʻokumu maikaʻi ʻia nā nīnau i ka waihona. Me ka liʻiliʻi o ka haʻawe, ʻaʻole lākou i pilikia, akā, i ka piʻi ʻana o ka ukana, ua lilo lākou i kumu pilikia. Ua ʻike ʻia ka App Registry i ʻelua mau hopena pilikia ʻaʻole i pane maikaʻi i ka hoʻonui ʻana i ka ukana: hāʻawi ka mea mua i kahi papa inoa o nā pūʻolo āpau i loko o ka waihona, ua hoʻihoʻi ka lua i nā blobs āpau no ka pōʻai.

Hoʻopau i nā kumu

I ka pule aʻe, ua hoʻohana mākou i ka loiloi i ke code o ka Registry App pono'ī a me kona kaiapuni. Ua hana hou ʻia nā nīnau SQL pono ʻole a ua hoʻopau ʻia nā kelepona kauoha pono ʻole tar (Hoʻohana ʻia ia i kēlā me kēia manawa i kiʻi ʻia nā blobs), ua hoʻohui ʻia ka cache ma nā wahi āpau e hiki ai. A laila ua hana mākou i nā hoʻokolohua hoʻokō nui a hoʻohālikelike i ka wikiwiki o ka Registry App ma mua a ma hope o nā loli.

Ua hoʻopau ʻia nā noi API ma mua i ka hapalua minuke i nā milliseconds. I ka pule aʻe ua kau mākou i nā loli i ka hana ʻana, a mai ia manawa ua hana paʻa ʻo quay.io. I loko o kēia manawa, ua nui nā ʻoi aku o ke kaʻa ma ka hope o ka Registry App, akā ua pale ka hoʻomaikaʻi ʻana i ka pau ʻana o ka waihona.

He aha kā mākou i aʻo ai?

Ua maopopo e ho'āʻo kekahi lawelawe e pale i ka manawa hoʻomaha. I kā mākou hihia, ke manaʻoʻiʻo nei mākou ua kōkua ka hoʻopau ʻana i ka quay.io. Ua aʻo mākou i kekahi mau haʻawina koʻikoʻi a mākou e makemake ai e kaʻana like:

  1. ʻO ka ʻikepili e pili ana i ka mea hoʻohana i kāu lawelawe a pehea ʻaʻole he mea nui. No ka mea, "ua hana wale ʻo Quay," ʻaʻole mākou i hoʻolilo i ka manawa e hoʻomaikaʻi i nā kaʻa a me ka mālama ʻana i ka ukana. Hoʻokumu kēia mau mea i kahi manaʻo hoʻopunipuni o ka palekana i hiki i ka lawelawe ke hoʻonui mau loa.
  2. Ke iho nei ka lawelawe, ʻO ka hoʻihoʻi ʻana a me ka holo ʻana he mea nui ia.. Ma muli o ka hoʻomau ʻana o Quay i kahi waihona paʻa i ka wā o ka hoʻopau mua ʻana, ʻaʻole i loaʻa i kā mākou kaʻina hana maʻamau ka hopena i manaʻo ʻia a ʻaʻole hiki iā mākou ke hoʻihoʻi i ka lawelawe me ka hoʻohana ʻana iā lākou. Ua alakaʻi kēia i kahi kūlana e hoʻopau ʻia ai ka manawa no ka nānā ʻana a me ka hōʻiliʻili ʻana i ka ʻikepili me ka manaʻolana e ʻike i ke kumu kumu - ma kahi o ka nānā ʻana i nā hana āpau i ka hoʻihoʻi ʻana i ka hana.
  3. E loiloi i ka hopena o kēlā me kēia hiʻohiʻona lawelawe. ʻAʻole hoʻohana nā mea kūʻai aku i ka Registry App, no laila ʻaʻole ia he mea nui no kā mākou hui. Ke hoʻohana ʻole ʻia kekahi mau hiʻohiʻona huahana, ʻike pinepine ʻia kā lākou mau pōpoki, a kāpae nā mea hoʻomohala i ka nānā ʻana i ke code. He mea maʻalahi ke hāʻule i ka manaʻo kuhihewa ʻo ia ke ala e pono ai - a hiki i ka manawa e ʻike ai kēlā hana i ke kikowaena o kahi hanana nui.

He aha ka mea e hiki mai ana?

ʻAʻole pau ka hana e hōʻoia i ka paʻa o ka lawelawe a ke hoʻomaikaʻi mau nei mākou. Ke hoʻomau nei ka ulu ʻana o nā kaʻa ma quay.io, ʻike mākou he kuleana ko mākou e hana i nā mea āpau e hiki ai ke ola e like me ka hilinaʻi o kā mākou mea kūʻai. No laila, ke hana nei mākou i kēia mau hana:

  1. E hoʻolālā i nā kope waihona heluhelu-wale nō e kōkua i ka lawelawe e mālama i nā kaʻa kūpono inā loaʻa nā pilikia me ka laʻana RDS mua.
  2. Hoʻohou i kahi hiʻohiʻona RDS. ʻO ka mana o kēia manawa ʻaʻole ia ka pilikia. Akā, makemake wale mākou e wehe i ke ala hoʻopunipuni (a mākou i hahai ai i ka wā o ka hāʻule); ʻO ka mālama ʻana i ka polokalamu i kēia lā e hoʻopau i kahi kumu ʻē aʻe inā pilikia ka wā e hiki mai ana.
  3. Hoʻokohu hou aʻe ma ka pūʻulu holoʻokoʻa. Ke hoʻomau nei mākou e ʻimi i nā wahi kahi e hiki ai i ka caching ke hoʻemi i ka ukana ma ka waihona.
  4. Hoʻohui i kahi pānaehana noi pūnaewele (WAF) e ʻike i ka mea e pili ana iā quay.io a no ke aha.
  5. E hoʻomaka ana me ka hoʻokuʻu aʻe, e haʻalele nā ​​hui ʻo Red Hat OpenShift i ka Registry App no ​​ka makemake o Operator Catalogs e pili ana i nā kiʻi pahu i loaʻa ma quay.io.
  6. Hiki ke kākoʻo ʻia kahi pani lōʻihi no App Registry no nā kikoʻī artifact Open Container Initiative (OCI). Hoʻokō ʻia i kēia manawa ma ke ʻano he hana Quay maoli a loaʻa i nā mea hoʻohana ke hoʻopau ʻia ka kikoʻī ponoʻī.

ʻO nā mea a pau i luna nei he ʻāpana o ka hoʻopukapuka hoʻomau ʻana o Red Hat ma quay.io i ko mākou neʻe ʻana mai kahi hui "hoʻomaka-style" liʻiliʻi i kahi kahua hoʻokele SRE makua. Ua ʻike mākou he nui nā mea kūʻai aku e hilinaʻi nei i quay.io i kā lākou hana i kēlā me kēia lā (me ka Red Hat!)

PS mai ka unuhi

E heluhelu pū ma kā mākou blog:

Source: www.habr.com

Pākuʻi i ka manaʻo hoʻopuka