Nga tauira rokiroki raraunga i Kubernetes

Nga tauira rokiroki raraunga i Kubernetes
Hei Habr!

Ka whakamahara matou ki a koe kua tukuna e matou tetahi atu tino pai me te whai hua he pukapuka mo nga tauira Kubernetes. I timata katoa me "Tauira" Brendan Burns, a, na te mea, he mahi taatau i tenei waahanga whewhe. I tenei ra ka tono matou ki a koe ki te panui i tetahi tuhinga mai i te MiniIO blog e whakaatu poto ana i nga ahuatanga me nga ahuatanga o nga tauira rokiroki raraunga i Kubernetes.

Kua tino whakarereketia e Kubernetes te whanaketanga tono tuku iho me nga tauira tuku. Inaianei ka taea e te roopu te whakawhanake, te whakamatautau, me te tuku tono i roto i nga ra torutoru — puta noa i nga taiao maha, kei roto katoa i nga tautau Kubernetes. Ko enei mahi me nga reanga hangarau o mua i te nuinga o nga wiki, ki te kore he marama.

Ko tenei whakaterenga ka taea e te tangohanga i whakaratohia e Kubernetes - ara, na te mea ko Kubernetes ake te taunekeneke me nga korero taumata iti o nga miihini tinana, mariko ranei, ka taea e nga kaiwhakamahi te whakaatu i te tukatuka e hiahiatia ana, te nui o te mahara, me te maha o nga ipu. tauira, i roto i era atu tawhā. Na te nui o te hapori e tautoko ana i a Kubernetes me tana whakatamarikitanga e piki haere tonu ana, ko Kubernetes te kaihautu i roto i nga papa whakatakotoranga ipu katoa ma te whanui whanui.

I te wa e tipu haere ana te whakamahinga o Kubernetes, ka tupu te rangirua mo ana tauira rokiroki..

Ki te whakataetae katoa mo tetahi wahi o te porowhita Kubernetes (arā, te rokiroki raraunga), ka tae mai ki te korero mo te rokiroki raraunga, ka toremi te tohu i roto i te ngangau nui.
Ko nga Kubernetes he tauira hou mo te whakawhanaketanga tono, te tuku me te whakahaere. Ko tenei tauira hou ka wehe i te rokiroki raraunga mai i te tatauranga. Kia tino mohio koe ki te wehenga i roto i te horopaki o Kubernetes, me mohio ano koe he aha nga tono mana me te kore whenua, me pehea te urunga o te rokiroki raraunga ki tera. Koinei te waahi o te huarahi REST API e whakamahia ana e S3 he tino painga ki runga i te huarahi POSIX/CSI o etahi atu otinga.

I roto i tenei tuhinga, ka korero tatou mo nga tauira rokiroki raraunga i Kubernetes me te korero mo te tautohetohe i waenga i nga tono whenua me nga tono kore whenua kia pai ake ai te maarama he aha te rereketanga i waenga i a raatau me te take he mea nui. Ko te toenga o te tuhinga ka titiro ki nga tono me o raatau tauira rokiroki raraunga i runga i nga tikanga pai mo te mahi me nga ipu me nga Kubernetes.

Ipu Stateless

Ko te ahua o nga ipu he mama, he ephemeral. Ka taea te aukati, te tango, te toha atu ranei ki tetahi atu pona - i roto i nga hēkona. I roto i te punaha whakahiato ipu nui, ka mahia enei mahi i nga wa katoa, kaore nga kaiwhakamahi e kite i enei huringa. Heoi, ka taea noa nga nekehanga mena karekau he whakawhirinakitanga o te ipu ki runga i te node kei reira nei. E ai ki te korero he pai te mahi o aua ipu kore whenua.

Ipu Stateful

Mēnā ka penapena raraunga tētahi ipu ki ngā taputapu ā-rohe (i runga i te taputapu paraka ranei), katahi ka nekehia te toa raraunga e noho ana ki tetahi pona hou, me te ipu ano, mena ka rahua. He mea nui tenei na te mea ka kore te tono e rere ana i roto i te ipu ka kore e taea te mahi tika na te mea me uru ki nga raraunga kua rongoa ki nga papaahoa rohe. E ai ki te korero he pai te mahi o aua ipu whaimana.

Mai i te tirohanga hangarau, ka taea hoki te nuku i nga ipu ki etahi atu pona. Ka tutuki tenei ma te whakamahi i nga punaha konae kua tohatohahia, i te rokiroki whatunga poraka ranei e piri ana ki nga pona katoa e rere ana i nga ipu. Ma tenei ara, ka uru nga ipu ki nga pukapuka mo te rokiroki raraunga tohe, ka penapena nga korero ki nga kopae kei roto i te whatunga. Ka karanga ahau i tenei tikanga "huarahi ipu whenua", i roto i te toenga o te tuhinga ka kiia e ahau mo te ahua o te rite.

Nga tauira rokiroki raraunga i Kubernetes

I roto i te ahua o te ahua o te ipu, ka piri nga putunga tono katoa ki te punaha konae toha kotahi—he momo rokiroki tiritahi kei reira nga raraunga tono katoa e noho ana. Ahakoa ka taea etahi rereke, he huarahi taumata teitei tenei.

Inaianei ka titiro tatou he aha te ahua o te ipu whenua he tauira anti-tauira i roto i te ao-kapua.

Hoahoa tono kapua-maori

I nga wa o mua, i whakamahia e nga tono nga papaaarangi mo te rokiroki i nga korero me nga kopae a-rohe, nga punaha konae tohatoha ranei i maka katoa ai nga raraunga kaore i hangai, tae noa ki nga waahanga-hanganga. I te tipu haere o nga raraunga kaore i hangai, ka mohio nga kaiwhakawhanake he tino korerorero a POSIX, he nui te nui o te upoko, a, i te mutunga ka aukati i te mahinga tono ina neke ana ki nga unahi tino nui.

I whai waahi tenei ki te puta mai o te paerewa hou mo te rokiroki raraunga, ara, te rokiroki kapua, e mahi ana i runga i te REST API me te whakaatea i te tono mai i te taumaha o te tiaki i te rokiroki raraunga o te rohe. I tenei keehi, ka uru te tono ki te aratau koretake (na te mea kei te rokiroki mamao te kawanatanga). Ko nga tono o naianei kua hangaia mai i te pakarutanga me te whakaaro ki tenei take. Hei tikanga, ko nga tono hou e tukatuka ana i nga raraunga o tetahi momo, tetahi atu ranei (rakau, metadata, blobs, me etahi atu) ka hangaia i runga i te ahua o te kapua, ka whakawhitia te kawanatanga ki tetahi punaha rorohiko i whakatapua mo tana rokiroki.

Ko te huarahi o te ipu tuuturu ka hoki ano tenei tauira ki te waahi i timata ai!

Ma te whakamahi i nga atanga POSIX ki te penapena raraunga, ka mahi nga tono me te mea he ahua ahua, na tenei, ka mawehe atu i nga tino kaupapa o te hoahoa-a-kapua, ara, te kaha ki te whakarereke i te rahi o nga miro kaimahi tono i runga i te taumai. whakauru, utaina, neke ki te pona hou ina rahua te pona o naianei, me era atu.

Ma te ata titiro atu ki tenei ahuatanga, ka kite tatou i te wa e whiriwhiri ana i te toa raraunga, ka anga ano tatou ki te POSIX me te REST API matawaenga, ENGARI me te kaha ake o nga raru POSIX na te tohatoha o nga taiao Kubernetes. Ina koa,

  • He korero korero a POSIX: POSIX semantics e hiahia ana kia hono atu ia mahinga ki nga metadata me nga tuhinga whakaahua hei awhina i te ahua o te mahi. Ka puta mai he utu nui kaore he tino uara. Ko nga API rokiroki ahanoa, ina koa ko te S3 API, whakakorehia enei whakaritenga, ka tuku i te tono ki te ahi ka "wareware" mo te piiraa. Ko te whakautu a te punaha rokiroki e tohu ana i angitu te mahi, kaore ranei. Ki te rahua, ka taea e te tono te ngana ano.
  • Nga here whatunga: I roto i te punaha toha, e kii ana he maha nga tono e ngana ana ki te tuhi raraunga ki nga papaaho taapiri. No reira, ehara i te mea ka whakataetae nga tono tetahi ki tetahi mo te whakawhiti raraunga (hei tuku raraunga ki te hunga panui), engari ko te punaha rokiroki ka whakataetae mo tenei bandwidth ma te tuku raraunga puta noa i nga kopae tinana. Na te kaha o te POSIX, he maha nga wa ka piki te maha o nga waea whatunga. I tetahi atu taha, ko te S3 API e whakarato ana i te wehewehenga marama i waenga i nga waea whatunga i waenga i nga mea i ahu mai i te kiritaki ki te tūmau me nga mea ka puta i roto i te tūmau.
  • Haumarutanga: Ko te tauira haumarutanga POSIX i hangaia mo te whai waahi kaha a te tangata: ka whirihora nga kaiwhakahaere i nga taumata uru motuhake mo ia kaiwhakamahi, roopu ranei. He uaua tenei tauira ki te urutau ki te ao-a-kapua. Ko nga tono hou e whakawhirinaki ana ki nga tauira haumaru-a-API, i reira ka tautuhia nga mana uru hei huinga kaupapa here, nga kaute ratonga, nga tohu tohu wa poto, me etahi atu.
  • Te whakahaere i te kaha: Ko nga ipu whaimana kei runga ake te whakahaere. E korero ana matou mo te tukutahi i te uru whakarara ki nga raraunga, me te whakarite kia rite tonu nga raraunga, me ata whakaaro enei katoa mo nga tauira uru raraunga hei whakamahi. Me whakauru etahi atu raupaparorohiko, te aro turuki me te whirihora, kaua e whakahua i etahi atu mahi whanaketanga.

Atanga Rokiroki Raraunga Ipu

Ahakoa ko te Atanga Rokiroki Ipu (CSI) he awhina nui ki te pikinga o te paparanga rōrahi Kubernetes, kua tukuna ki waho atu ki nga kaihoko rokiroki tuatoru, kua uru pohehe hoki ki te whakapono ko te huarahi ipu whenua te tikanga e taunakitia ana mo te rokiroki raraunga ki Kubernetes.

I whakawhanakehia a CSI hei paerewa mo te whakarato poraka me nga punaha rokiroki konae ki nga tono tuku iho ina rere ana ki runga Kubernetes. Na, kua whakaatuhia e tenei tuhinga, ko te ahuatanga anake e whai tikanga ai te huarahi ipu whenua (me te CSI i te ahua o naianei) ko te tono he punaha tuku iho kaore e taea te taapiri tautoko mo te API rokiroki ahanoa. .

He mea nui ki te mohio ko te whakamahi i te CSI i roto i tona ahua o naianei, ara, ko te pikinga o nga pukapuka ka mahi me nga tono hou, ka pa ki nga raru ano i puta mai i roto i nga punaha kei te whakahaerehia te rokiroki raraunga ki te momo POSIX.

He huarahi pai ake

I roto i tenei take, he mea nui kia mohio ko te nuinga o nga tono kaore i hangaia mo nga mahi whenua, kore whenua ranei. Ko tenei whanonga ka whakawhirinaki ki te hanganga o te punaha me nga whiringa hoahoa motuhake i mahia. Me korero iti mo nga tono whaimana.

Ko te tikanga, ko nga raraunga tono katoa ka wehewehea ki etahi momo whanui:

  • Raraunga rangitaki
  • Raraunga tohuwā
  • Raraunga tauwhitinga
  • Metadata
  • Whakaahua ipu
  • Raraunga blob (ahanoa nui-rua).

Ko enei momo raraunga katoa e tino tautokona ana i runga i nga papaaho rokiroki hou, a he maha nga papaa-kapua kua whakaritea hei tuku raraunga i ia o enei whakatakotoranga motuhake. Hei tauira, ka taea e nga raraunga tauwhitinga me nga metadata te noho i roto i te putunga korero-kapua hou penei i a CockroachDB, YugaByte, etc. Ka taea te penapena i nga whakaahua ipu me nga raraunga pupuhi ki roto i te rehita docker i runga i te MinIO. Ka taea te penapena i nga raraunga tohu wa i roto i te papaa raraunga raupapa waahi penei i te InfluxDB, etc. E kore matou e korero taipitopito mo ia momo raraunga me ona tono i konei, engari ko te whakaaro nui kia karo i te rokiroki raraunga tohe e whakawhirinaki ana ki te whakapuru kōpae o te rohe.

Nga tauira rokiroki raraunga i Kubernetes

I tua atu, he maha tonu te whai hua ki te whakarato i tetahi paparanga keteroki rangitahi e mahi ana hei toa kōnae rangitahi mo nga tono, engari kaua nga tono e whakawhirinaki ki tenei paparanga hei puna pono.

Te rokiroki tono ahua

Ahakoa i te nuinga o nga wa he pai ki te pupuri i nga tono kore whenua, ko nga tono kua hoahoatia hei penapena raraunga - penei i nga papaa raraunga, toa taonga, toa uara-matua - me whai mana. Me titiro tatou he aha enei tono i tukuna ki runga i nga Kubernetes. Me tango a MiniIO hei tauira, engari he rite nga maataapono ki etahi atu punaha rokiroki kapua-maori nui.

Ko nga tono kapua-maori kua hangaia hei whakamahi i te ngawari o roto i nga ipu. Ko te tikanga karekau ratou e whakaaro mo te taiao e horahia ai. Hei tauira, ka whakamahi a MiniIO i tetahi tikanga whakawaehere ūkui o roto ki te whakarato i te punaha ki te kaha kia mau tonu te mahi ahakoa ka rahua te haurua o nga kōpae. Ka whakahaere ano a MiniIO i te pono me te haumarutanga o te raraunga ma te whakamahi i te hashing me te whakamunatanga taha-tumau.

Mo enei tono-a-kapua, ko nga pukapuka tohe tonu o te rohe (PV) he tino watea hei rokiroki taapiri. Ko te PV a-rohe e whakarato ana i te kaha ki te penapena raraunga mata, ko nga tono e whakahaere ana i runga ake o enei PV ka kohia takitahi nga korero ki te tauine i nga raraunga me te whakahaere i nga hiahia raraunga tipu.

Ko tenei huarahi he tino ngawari ake, he nui ake te tauine i nga PV-a-CSI, e whakauru ana i o raatau ake paparanga o te whakahaere raraunga me te taapiri ki roto i te punaha; Ko te tikanga ko enei paparanga ka taupatupatu ki nga tono i hangaia kia ahua ahua.

He nekehanga kaha ki te wetewete raraunga mai i nga tatauranga

I roto i tenei tuhinga, i korero matou me pehea te whakarereketanga o nga tono ki te mahi me te kore e tiakina te ahua, i etahi atu kupu, ka wehea te penapena raraunga mai i te rorohiko ki runga. Hei whakamutunga, ka titiro tatou ki etahi tauira pono o tenei ahuatanga.

korakora, he tüäpapa tätari raraunga rongonui, kua whai mana me te tuku ki runga HDFS. Heoi, i te neke a Spark ki roto i te ao-a-kapua, kei te kaha haere te whakamahi koretake o te papaaho ma te whakamahi i te `s3a`. Ka whakamahi a Spark i te s3a ki te whakawhiti i te ahua ki etahi atu punaha, ko nga ipu Spark kei te mahi kore whenua. Ko etahi atu kaitakaro hinonga nui i roto i te mara o te tātari raraunga nui, ina koa, Pouaka, Teradata, Greenplum Kei te neke ano ratou ki te mahi me te wehewehenga o te rokiroki raraunga me nga tatauranga ki runga i a raatau.

Ka kitea ano nga tauira penei i runga i etahi atu papahanga tātari nui, tae atu ki a Presto, Tensorflow to R, Jupyter. Ma te whakaheke i te ahua ki nga punaha rokiroki kapua mamao, ka ngawari ake te whakahaere me te whakarahi i to tono. I tua atu, ka awhina i te kawe o te tono ki nga momo taiao.

Source: will.com

Tāpiri i te kōrero