Patrúin stórála sonraí i Kubernetes

Patrúin stórála sonraí i Kubernetes
Hey Habr!

Cuirimid i gcuimhne duit go bhfuil ceann eile thar a bheith suimiúil agus úsáideach eisithe againn leabhar faoi ​​patrúin Kubernetes. Thosaigh sé ar fad le "Patrúin" Brendan Burns, agus, dála an scéil, tá obair againn sa réimse seo boils. Sa lá atá inniu tugaimid cuireadh duit alt a léamh ó bhlag MinIO a leagann amach go hachomair treochtaí agus sonraí patrúin stórála sonraí Kubernetes.

D'athraigh Kubernetes patrúin traidisiúnta forbartha agus imlonnaithe feidhmchlár go bunúsach. Anois is féidir le foireann feidhmchlár a fhorbairt, a thástáil agus a imscaradh i gceann cúpla lá - ar fud timpeallachtaí iolracha, go léir laistigh de bhraislí Kubernetes. Is gnách go dtógfadh obair den sórt sin le glúine teicneolaíochta roimhe seo seachtainí, más rud é nach míonna.

Tá an luasghéarú seo indéanta ag an astarraingt a sholáthraíonn Kubernetes - is é sin, toisc go n-idirghníomhaíonn Kubernetes féin le sonraí ísealleibhéil meaisíní fisiceacha nó fíorúla, rud a ligeann d'úsáideoirí an próiseálaí atá ag teastáil, an méid cuimhne atá ag teastáil, agus líon na gcoimeádán a dhearbhú. cásanna, i measc paraiméadair eile. Agus pobal ollmhór ag tacú le Kubernetes agus a ghlacadh ag méadú go leanúnach, is é Kubernetes an ceannaire i measc na n-ardán ceolfhoirne coimeádán go léir le corrlach leathan.

De réir mar a thagann méadú ar úsáid Kubernetes, tagann mearbhall ar a phatrúin stórála freisin..

Le gach duine san iomaíocht le haghaidh píosa pie Kubernetes (i.e., stóráil sonraí), nuair a thagann sé chun labhairt faoi stóráil sonraí, báthaítear an comhartha i go leor torainn.
Cuimsíonn Kubernetes samhail nua-aimseartha le haghaidh forbairt, imscaradh agus bainistíocht feidhmchlár. Déanann an tsamhail nua-aimseartha seo stóráil sonraí a dhíchúpláil ón ríomhaireacht. Chun an díorma a thuiscint go hiomlán i gcomhthéacs Kubernetes, ní mór duit a thuiscint freisin cad iad feidhmchláir stáit agus gan stát, agus conas a luíonn stóráil sonraí leis sin. Seo an áit a bhfuil buntáistí soiléire ag cur chuige REST API a úsáideann S3 thar chur chuige POSIX/CSI réitigh eile.

San Airteagal seo, beidh muid ag caint faoi phatrúin stórála sonraí i Kubernetes agus go sonrach dteagmháil leis an díospóireacht idir stát agus gan stát feidhmchláir a thuiscint níos fearr cad é an difríocht idir iad agus cén fáth go bhfuil sé tábhachtach. Breathnóidh an chuid eile den téacs ar fheidhmchláir agus ar a bpatrúin stórála sonraí i bhfianaise na gcleachtas is fearr chun oibriú le coimeádáin agus Kubernetes.

Coimeádáin gan Stát

Is éadrom agus gearrshaolach iad na coimeádáin. Is féidir iad a stopadh go héasca, a bhaint, nó a imscaradh chuig nód eile - go léir i soicindí. I gcóras orchestration coimeádán mór, tarlaíonn oibríochtaí den sórt sin an t-am ar fad, agus ní thugann úsáideoirí faoi deara fiú athruithe den sórt sin. Mar sin féin, ní féidir bogadh ach amháin mura bhfuil aon spleáchas ag an gcoimeádán ar an nód ar a bhfuil sé suite. Deirtear go n-oibríonn coimeádáin den sórt sin gan stát.

Coimeádáin Stáit

Má stórálann coimeádán sonraí ar fheistí atá ceangailte go háitiúil (nó ar bhlocghléas), ansin caithfear an stór sonraí ar a bhfuil cónaí air a aistriú chuig nód nua, in éineacht leis an gcoimeádán féin, i gcás teipe. Tá sé seo tábhachtach mar ar shlí eile ní bheidh an feidhmchlár atá ag rith sa choimeádán in ann feidhmiú i gceart toisc go gcaithfidh sé rochtain a fháil ar shonraí atá stóráilte ar na meáin áitiúla. Deirtear go n-oibríonn coimeádáin den sórt sin stáit.

Ó thaobh teicniúil amháin de, is féidir coimeádáin stáit a aistriú chuig nóid eile freisin. Baintear é seo amach go hiondúil trí úsáid a bhaint as córais chomhaid dháilte nó trí bhlocstóráil líonra a ghabhann le gach nóid a ritheann coimeádáin. Ar an mbealach seo, faigheann coimeádáin rochtain ar mhéideanna chun sonraí a stóráil go leanúnach, agus stóráiltear faisnéis ar dhioscaí atá suite ar fud an líonra. Glaofaidh mé ar an modh seo “cur chuige coimeádán státmhar", agus sa chuid eile den alt a bheidh mé ag glaoch air sin ar mhaithe le aonfhoirmeacht.

Patrúin stórála sonraí i Kubernetes

I ngnáthchur chuige coimeádán státmhar, tá gach pod feidhmchlár ceangailte le córas comhaid dáilte amháin - cineál stórála roinnte ina bhfuil sonraí feidhmchláir go léir. Cé gur féidir roinnt éagsúlachtaí a dhéanamh, is cur chuige ardleibhéil é seo.

Breathnaímid anois ar an bhfáth gur frithphatrún é an cur chuige státmhar coimeádán i ndomhan scamall-lárnach.

Dearadh feidhmchlár scamall-dúchais

Go traidisiúnta, bhain feidhmchláir úsáid as bunachair shonraí le haghaidh stóráil struchtúrtha faisnéise agus dioscaí áitiúla nó córais comhad dáilte ina ndearnadh na sonraí neamhstruchtúrtha go léir nó fiú leathstruchtúrtha a dhumpáil. De réir mar a d'fhás líon na sonraí neamhstruchtúrtha, thuig na forbróirí go raibh POSIX ró-chatty, go raibh forchostais shuntasach aige, agus ar deireadh chuir sé bac ar fheidhmíocht iarratais agus iad ag bogadh go scálaí fíor-mhór.

Chuir sé seo go príomha le teacht chun cinn caighdeán nua maidir le stóráil sonraí, is é sin, stóráil scamall-bhunaithe, ag obair go príomha bunaithe ar an API REST agus an t-iarratas a shaoradh ó chothabháil ualach stórála sonraí áitiúil. Sa chás seo, téann an t-iarratas isteach i mód gan stát go héifeachtach (ós rud é go bhfuil an stát i gcianstóráil). Tógtar feidhmchláir nua-aimseartha ón tús leis an bhfachtóir seo san áireamh. De ghnáth, tógtar aon iarratas nua-aimseartha a phróiseálann sonraí de chineál amháin nó eile (logs, meiteashonraí, blobaí, etc.) de réir paraidím atá dírithe ar scamall, áit a aistrítear an stát chuig córas bogearraí atá tiomnaithe go speisialta dá stóráil.

Cuireann an cur chuige státmhar coimeádán brú ar an bparaidím iomlán seo siar go díreach san áit ar thosaigh sé!

Trí úsáid a bhaint as comhéadain POSIX chun sonraí a stóráil, feidhmíonn feidhmchláir amhail is dá mba státmhar iad, agus mar gheall air seo, imíonn siad ó na tenets is tábhachtaí de dhearadh scamall-lárnach, is é sin, an cumas chun méid snáitheanna oibrithe iarratais a athrú ag brath ar an teacht isteach. ualach, bog go dtí nód nua chomh luath agus a theipeann ar an nód reatha, agus mar sin de.

Agus muid ag breathnú níos géire ar an gcás seo, feicimid nuair a bhíonn stór sonraí á roghnú againn, go bhfuil muid ag tabhairt aghaidhe arís agus arís eile ar an aincheist POSIX vs. REST API, ACH le géarú breise ar fhadhbanna POSIX mar gheall ar nádúr dáilte timpeallachtaí Kubernetes. Go háirithe,

  • Is sáróstach é POSIX: Éilíonn séimeantaic POSIX go mbeidh baint ag gach oibríocht le meiteashonraí agus tuairisceoirí comhaid a chuidíonn le staid na hoibríochta a choinneáil. Mar thoradh air seo tá costais shuntasacha nach bhfuil aon luach fíor. Faigheann APInna stórála réad, go háirithe an API S3, réidh leis na ceanglais seo, rud a ligeann don fheidhmchlár an glao a chur trí thine agus ansin “dearmad” a dhéanamh faoin nglao. Léiríonn freagairt an chórais stórála cé acu an raibh an gníomh rathúil nó nach raibh. Má theipeann air, is féidir leis an bhfeidhmchlár triail eile a bhaint as.
  • Srianta líonra: I gcóras dáilte, tá sé intuigthe go bhféadfadh go leor feidhmchlár a bheith ag iarraidh sonraí a scríobh chuig na meáin cheangailte céanna. Mar sin, ní hamháin go mbeidh feidhmchláir in iomaíocht lena chéile le haghaidh bandaleithead aistrithe sonraí (chun sonraí a sheoladh chuig na meáin), ach beidh an córas stórála féin in iomaíocht le haghaidh an bandaleithead seo trí shonraí a sheoladh trasna dioscaí fisiceacha. Mar gheall ar loquaciousness POSIX, méadaíonn líon na nglaonna líonra arís agus arís eile. Ar an láimh eile, soláthraíonn an S3 API idirdhealú soiléir idir glaonna líonra idir iad siúd a eascraíonn ón gcliant go dtí an freastalaí agus iad siúd a tharlaíonn laistigh den fhreastalaí.
  • slándála: Tá an tsamhail slándála POSIX deartha le haghaidh rannpháirtíocht ghníomhach an duine: cumraíonn riarthóirí leibhéil rochtana ar leith do gach úsáideoir nó grúpa. Is deacair an paraidím seo a oiriúnú do dhomhan scamall-lárnach. Braitheann feidhmchláir nua-aimseartha ar shamhlacha slándála bunaithe ar API, áit a sainmhínítear cearta rochtana mar shraith beartas, cuntais seirbhíse, dintiúir shealadacha, etc.
  • Inmharthanacht: Tá roinnt forchostais bainistíochta ag coimeádáin stáit. Táimid ag caint faoi rochtain chomhthreomhar ar shonraí a shioncronú, comhsheasmhacht sonraí a chinntiú, éilíonn sé seo go léir breithniú cúramach a dhéanamh ar na patrúin rochtana sonraí a úsáidfear. Ní mór bogearraí breise a shuiteáil, a mhonatóiriú, agus a chumrú, gan trácht ar iarracht bhreise forbartha.

Comhéadan Stórála Sonraí Coimeádán

Cé gur chabhraigh an Comhéadan Stórála Coimeádán (CSI) go mór le iomadú ciseal toirte Kubernetes, agus é á foinsiú allamuigh go páirteach chuig díoltóirí stórála tríú páirtí, chuir sé freisin go neamhaireach leis an gcreideamh gurb é an cur chuige coimeádán státmhar an modh molta do sonraí a stóráil i Kubernetes.

Forbraíodh CSI mar chaighdeán chun córais stórála bloc agus comhad treallach a sholáthar d'fheidhmchláir oidhreachta agus iad ag rith ar Kubernetes. Agus, mar a léirigh an t-alt seo, is é an t-aon staid ina bhfuil ciall le cur chuige coimeádán státmhar (agus CSI ina fhoirm reatha) nuair is córas oidhreachta é an feidhmchlár féin nach féidir tacaíocht a chur leis don API stórála réad. .

Tá sé tábhachtach a thuiscint, trí úsáid a bhaint as CSI mar atá sé faoi láthair, is é sin, méideanna gléasta agus muid ag obair le feidhmchláir nua-aimseartha, go mbeidh thart ar na fadhbanna céanna againn a d'eascair i gcórais ina n-eagraítear stóráil sonraí i stíl POSIX.

Cur Chuige Níos Fearr

Sa chás seo, tá sé tábhachtach a thuiscint nach bhfuil an chuid is mó d’fheidhmchláir deartha go sainiúil d’obair státseirbhíseach nó gan stát. Braitheann an t-iompar seo ar ailtireacht iomlán an chórais agus ar na roghanna dearaidh sonracha a dhéantar. Déanaimis labhairt beagán faoi iarratais státchabhrach.

I bprionsabal, is féidir na sonraí iarratais go léir a roinnt i roinnt cineálacha leathana:

  • Sonraí logáil
  • Sonraí stampa ama
  • Sonraí idirbhirt
  • Meiteashonraí
  • Íomhánna coimeádán
  • Sonraí Blob (réad mór dénártha).

Tacaítear go han-mhaith leis na cineálacha sonraí seo go léir ar ardáin stórála nua-aimseartha, agus tá roinnt ardán néaldhúchasach ann atá oiriúnaithe chun sonraí a sheachadadh i ngach ceann de na formáidí sonracha seo. Mar shampla, is féidir sonraí idirbhirt agus meiteashonraí a bheith ina gcónaí i mbunachar sonraí nua-aimseartha scamall-dúchais mar CockroachDB, YugaByte, etc. Is féidir íomhánna coimeádán nó sonraí blob a stóráil i gclár docker bunaithe ar MinIO. Is féidir sonraí stampa ama a stóráil i mbunachar sonraí sraith ama ar nós InfluxDB, etc. Ní thabharfaimid mionsonraí faoi gach cineál sonraí agus a fheidhmchláir anseo, ach is é an smaoineamh ginearálta ná stóráil sonraí leanúnach a bhíonn ag brath ar ghléasadh diosca áitiúil a sheachaint.

Patrúin stórála sonraí i Kubernetes

Ina theannta sin, is minic a bhíonn sé éifeachtach ciseal caching sealadach a sholáthar a fheidhmíonn mar stór comhad sealadach d'iarratais, ach níor cheart go mbeadh iarratais ag brath ar an gciseal seo mar fhoinse na fírinne.

Stóráil iarratais státmhar

Cé go bhfuil sé úsáideach i bhformhór na gcásanna feidhmchláir a choinneáil gan stát, ní mór na feidhmchláir sin atá deartha chun sonraí a stóráil - mar bhunachair shonraí, stórais réad, stórais eochairluacha - a bheith státmhar. Breathnaímid ar an bhfáth go n-imscartar na hiarratais seo ar Kubernetes. Glacaimis MinIO mar shampla, ach baineann prionsabail chomhchosúla le haon chóras stórála scamall-dúchais mór eile.

Tá feidhmchláir dhúchasacha scamall deartha chun leas iomlán a bhaint as an tsolúbthacht is gné dhílis de na coimeádáin. Ciallaíonn sé seo nach ndéanann siad aon toimhde faoin timpeallacht ina n-imscarfar iad. Mar shampla, úsáideann MinIO meicníocht códaithe scriosta inmheánach chun go leor athléimneacht a sholáthar don chóras chun fanacht ag feidhmiú fiú má theipeann ar leath na dioscaí. Bainistíonn MinIO sláine agus slándáil sonraí freisin ag baint úsáide as hashing agus criptiú dílseánaigh ar thaobh an fhreastalaí.

I gcás feidhmchlár scamall-lárnach den sórt sin, tá méideanna marthanacha áitiúla (PVanna) is áisiúla mar stóráil chúltaca. Soláthraíonn PV áitiúil an cumas sonraí amh a stóráil, agus bailíonn feidhmchláir a ritheann ar na PVanna seo faisnéis go neamhspleách chun sonraí a scála agus chun riachtanais sonraí atá ag fás a bhainistiú.

Tá an cur chuige seo i bhfad níos simplí agus i bhfad níos inscálaithe ná PVanna CSI-bhunaithe, a thugann a sraitheanna féin de bhainistiú sonraí agus iomarcaíochta isteach sa chóras; is é an pointe go mbíonn na sraitheanna seo ag teacht salach ar a chéile de ghnáth le feidhmchláir atá deartha le bheith státmhar.

Gluaiseacht láidir i dtreo sonraí a dhíchúpláil ó ríomhanna

San Airteagal seo, labhair muid faoi conas a athdhírítear feidhmchláir chun oibriú gan stát a shábháil, nó, i bhfocail eile, déantar stóráil sonraí a dhíchúpláil ón ríomhaireacht air. Mar fhocal scoir, déanaimis féachaint ar roinnt fíor-shamplaí den treocht seo.

Spark, ardán anailíse sonraí feiceálach, a bheith státmhar go traidisiúnta agus imscartha ar HDFS. Mar sin féin, de réir mar a bhogann Spark isteach i ndomhan scamall-lárnach, tá an t-ardán á úsáid níos mó gan stát ag baint úsáide as `s3a`. Úsáideann Spark s3a chun staid a aistriú go córais eile, agus oibríonn coimeádáin Spark iad féin gan stát. Príomhghníomhaithe fiontair eile i réimse na mór-anailísíochta sonraí, go háirithe, Vertica, Teradata, Glasphlum Tá siad ag bogadh freisin go dtí an obair leis an scaradh stórála sonraí agus ríomhaireachtaí orthu.

Is féidir patrúin comhchosúla a fheiceáil freisin ar ardáin anailíse móra eile, lena n-áirítear Presto, Tensorflow to R, Jupyter. Trí stát a dhíluchtú go córais stórála néil iargúlta, bíonn sé i bhfad níos éasca d’iarratas a bhainistiú agus a scála. Ina theannta sin, éascaíonn sé iniomparthacht an iarratais chuig timpeallachtaí éagsúla.

Foinse: will.com

Add a comment