Thairis air na bliadhnaichean, tha 300 millean neach-cleachdaidh Pinterest air còrr air 200 billean prĂŹneachan a chruthachadh air còrr air 4 billean bĂšird. Gus seirbheis a thoirt don arm seo de luchd-cleachdaidh agus bunait susbaint mòr, tha am portal air mĂŹltean de sheirbheisean a leasachadh, bho meanbh-sheirbheisean a dhâ fhaodar a lĂ imhseachadh le beagan CPUs, gu monoliths mòra a bhios a âruith air cabhlach iomlan de dhâ innealan brĂŹgheil. Agus an uairsin thĂ inig an t-Ă m nuair a thuit sĂšil na companaidh air k8s. Carson a bha an âciĂšbâ aâ coimhead math air Pinterest? Ionnsaichidh tu mu dheidhinn seo bhon eadar-theangachadh againn de artaigil o chionn ghoirid bho .

Mar sin, ceudan de mhilleanan de luchd-cleachdaidh agus ceudan de bhilleanan de phrĂŹneachan. Gus seirbheis a thoirt don arm seo de luchd-cleachdaidh agus bunait susbaint mòr, tha sinn air mĂŹltean de sheirbheisean a leasachadh, bho meanbh-sheirbheisean a dhâ fhaodar a lĂ imhseachadh le beagan CPUs, gu monoliths mòra a bhios a âruith air cabhlaichean slĂ n de dhâ innealan brĂŹgheil. A bharrachd air an sin, tha grunn fhrèamaichean againn a dhâ fhaodadh a bhith feumach air ruigsinneachd CPU, cuimhne, no I/O.
Ann a bhith aâ cumail suas an sĂš innealan seo, tha grunn dhĂšbhlain mu choinneamh an sgioba leasachaidh:
- Chan eil dòigh èideadh ann airson innleadairean Ă rainneachd cinneasachaidh a ruith. Tha seirbheisean gun stĂ it, seirbheisean stĂ iteil agus pròiseactan fo leasachadh gnĂŹomhach stèidhichte air stacan teicneòlais gu tur eadar-dhealaichte. Mar thoradh air an sin chaidh cĂšrsa trèanaidh iomlan a chruthachadh dha innleadairean, agus tha e cuideachd aâ dèanamh obair ar sgioba bun-structair gu mòr.
- Bidh luchd-leasachaidh leis aâ chabhlach aca fhèin de dhâ innealan brĂŹgheil aâ cruthachadh eallach mòr air luchd-rianachd a-staigh. Mar thoradh air an sin, bheir gnĂŹomhan sĂŹmplidh leithid Ăšrachadh an OS no AMI seachdainean agus mĂŹosan. Bidh seo aâ leantainn gu barrachd eallach obrach ann an suidheachaidhean a tha coltach gu tur lĂ itheil.
- Duilgheadasan ann a bhith aâ cruthachadh innealan riaghlaidh bun-structair cruinneil a bharrachd air na fuasglaidhean a thâ ann mar-thĂ . Tha an suidheachadh nas iom-fhillte leis nach eil e furasta luchd-seilbh innealan brĂŹgheil a lorg. Is e sin, chan eil fios againn an gabh an comas seo a thoirt a-mach gu sĂ bhailte gus obrachadh ann am pĂ irtean eile den bhun-structar againn.
Tha siostaman orchestration container mar dhòigh air riaghladh eallach obrach aonachadh. Bidh iad aâ fosgladh an dorais gu astar leasachaidh nas Ă irde agus aâ sĂŹmpleachadh riaghladh bun-structair, leis gu bheil na goireasan uile a tha an lĂšib aâ phròiseict air an riaghladh le aon shiostam meadhanaichte.

Figear 1: PrÏomhachasan bun-structair (earbsachd, cinneasachd leasaiche, agus èifeachdas).
Chaidh sgioba Ărd-Ăšrlar Riaghlaidh Cloud aig Pinterest a thoirt a-steach do K8s ann an 2017. Ron chiad leth de 2017, bha sinn air aâ mhòr-chuid de na comasan riochdachaidh againn a chlĂ radh, aâ gabhail a-steach APIan agus ar n-uile gin. frithealaichean lĂŹnAn uairsin rinn sinn measadh cĂšramach air diofar shiostaman co-òrdanachaidh container, togail chruinneachaidhean, agus obrachadh. Ro dheireadh 2017, cho-dhĂšin sinn Kubernetes a chleachdadh. Bha e sĂšbailte gu leòr agus fhuair e taic fharsaing bhon choimhearsnachd luchd-leasachaidh.
Gu ruige seo, tha sinn air na h-innealan bròg cnuasachaidh againn fhèin a thogail stèidhichte air Kops agus air imrich a dhèanamh air na pĂ irtean bun-structair a th âann mar lĂŹonrachadh, tèarainteachd, meatrach, logadh, riaghladh dearbh-aithne, agus trafaic gu Kubernetes. Chuir sinn cuideachd siostam modaladh eallach obrach an gnĂŹomh airson ar goireas, agus tha an iom-fhillteachd sin falaichte bho luchd-leasachaidh. A-nis tha sinn aâ cuimseachadh air dèanamh cinnteach Ă seasmhachd aâ bhuidheann, ga sgèileadh agus aâ ceangal teachdaichean Ăšra.
Kubernetes: An t-slighe Pinterest
ThĂ inig mòran dhĂšbhlain le bhith aâ tòiseachadh le Kubernetes aig sgèile Pinterest mar Ă rd-Ăšrlar air am bu toil leis na h-innleadairean againn.
Mar chompanaidh mòr, tha sinn air tasgadh mòr a dhèanamh ann an innealan bun-structair. Tha eisimpleirean aâ toirt a-steach innealan tèarainteachd a bhios aâ lĂ imhseachadh theisteanasan agus prĂŹomh sgaoileadh, co-phĂ irtean smachd trafaic, siostaman lorg seirbheis, co-phĂ irtean faicsinneachd, agus co-phĂ irtean lĂŹbhrigidh log is meatrach. Chaidh seo uile a chruinneachadh airson adhbhar: chaidh sinn tron âââât-slighe Ă bhaisteach de dheuchainn agus mearachd, agus mar sin bha sinn airson an uidheamachd seo gu lèir fhilleadh a-steach don bhun-structar Ăšr air Kubernetes an Ă ite a bhith ag ath-nuadhachadh an t-seann chuibhle air Ă rd-Ăšrlar Ăšr. Gu h-iomlan, rinn an dòigh-obrach seo sĂŹmplidh air an imrich, leis gu bheil a h-uile taic tagraidh ann mu thrĂ th agus chan fheumar a chruthachadh bhon fhĂŹor thoiseach.
Air an lĂ imh eile, chan eil na modalan ro-innse luchdan ann an Kubernetes fhèin (leithid cleachdadh, obraichean, agus seataichean Daemon) gu leòr airson ar pròiseact. Tha na cĂšisean cleachdaidh seo nan cnapan-starra mòra air gluasad gu Kubernetes. Mar eisimpleir, tha sinn air luchd-leasachaidh seirbheis a chluinntinn aâ gearain mu shuidheachaidhean logadh a-steach a tha a dhĂŹth no ceĂ rr. Thachair sinn cuideachd ri cleachdadh ceĂ rr de einnseanan teamplaid, nuair a chaidh na ceudan de leth-bhreacan a chruthachadh leis an aon shònrachadh agus gnĂŹomh, a lean gu duilgheadasan deasbaid trom-laighe.
Bha e cuideachd gu math duilich diofar dhreachan a chumail anns an aon bhuidheann. Smaoinich air iom-fhillteachd taic teachdaiche ma dhâ fheumas tu a bhith ag obair aig an aon Ă m ann an grunn dhreachan den aon Ă rainneachd ruith-Ăšine, leis na duilgheadasan, na mialan agus na h-Ăšrachaidhean aca uile.
Feartan luchd-cleachdaidh Pinterest agus luchd-riaghlaidh
Gus a dhèanamh nas fhasa dha na h-innleadairean againn Kubernetes a chuir an gnÏomh, agus gus ar bun-structar a dhèanamh nas sÏmplidhe agus a luathachadh, tha sinn air na mÏneachaidhean ghoireasan à bhaisteach againn fhèin (CRDn) a leasachadh.
Tha CRD aâ toirt seachad na feartan a leanas:
- Aâ cothlamadh diofar ghoireasan dĂšthchasach Kubernetes gus am bi iad ag obair mar aon eallach obrach. Mar eisimpleir, tha goireas PinterestService aâ toirt a-steach cleachdadh, seirbheis logadh a-steach, agus mapa rèiteachaidh. Leigidh seo le luchd-leasachaidh gun a bhith draghail mu bhith aâ stèidheachadh DNS.
- Cuir an gnĂŹomh taic tagraidh riatanach. Feumaidh an neach-cleachdaidh fòcas a-mhĂ in air sònrachadh an t-soithich a rèir an loidsig gnĂŹomhachais aca, fhad âs a bhios an rianadair CRD aâ cur an gnĂŹomh a h-uile inneal init riatanach, caochladairean Ă rainneachd agus mion-chomharrachadh pod. Tha seo aâ toirt ĂŹre gu tur eadar-dhealaichte de chomhfhurtachd dha luchd-leasachaidh.
- Bidh luchd-riaghlaidh CRD cuideachd aâ riaghladh cuairt-beatha ghoireasan dĂšthchasach agus aâ leasachadh ruigsinneachd deasbaid. Tha seo aâ toirt a-steach a bhith aâ rèiteachadh mion-chomharrachadh miannaichte agus fĂŹor, ag Ăšrachadh inbhe CRD agus aâ cumail suas logaichean tachartais, agus barrachd. Ăs aonais CRD, dh'fheumadh luchd-leasachaidh iomadh goireas a riaghladh, rud a dh'Ă rdaicheadh ââââdĂŹreach an coltas gum biodh mearachd ann.
Seo eisimpleir de PinterestService agus goireas a-staigh a tha air a riaghladh leis an rianadair againn:

Mar a chĂŹ thu gu h-Ă rd, gus taic a thoirt do shoitheach Ă bhaisteach feumaidh sinn inneal init agus grunn tuilleadan a thoirt a-steach gus tèarainteachd, faicsinneachd agus trafaic lĂŹonraidh a thoirt seachad. A bharrachd air an sin, chruthaich sinn teamplaidean mapa rèiteachaidh agus chuir sinn an gnĂŹomh taic airson teamplaidean PVC airson obraichean baidse, a bharrachd air a bhith aâ cumail sĂšil air grunn chaochladairean Ă rainneachd gus sĂšil a chumail air dearbh-aithne, caitheamh ghoireasan, agus cruinneachadh sgudail.
Tha e duilich a shamhlachadh gum biodh luchd-leasachaidh airson na faidhlichean rèiteachaidh sin a sgrÏobhadh le là imh às aonais taic CRD, gun luaidh air na rèiteachaidhean a chumail suas agus a dheasbad.
Sruth-obrach cleachdadh cleachdadh

Tha an ĂŹomhaigh gu h-Ă rd aâ sealltainn mar a chuireas tu goireas gnĂ thaichte Pinterest gu buidheann Kubernetes:
- Bidh luchd-leasachaidh ag eadar-obrachadh leis aâ bhuidheann Kubernetes againn tron ââââCLI agus eadar-aghaidh cleachdaiche.
- Bidh na h-innealan CLI / UI aâ faighinn air ais na faidhlichean rèiteachaidh sruth-obrach YAML agus togalaichean togail eile (an aon ID dreach) bho Artifactory agus an uairsin gan cur a-steach don t-Seirbheis Tagraidh Obrach. Bidh an ceum seo aâ dèanamh cinnteach nach tèid ach dreachan toraidh a lĂŹbhrigeadh don bhuidheann.
- Tha JSS na gheata airson diofar à rd-Úrlaran, nam measg Kubernetes. An seo tha an neach-cleachdaidh air a dhearbhadh, thèid cuotathan a thoirt seachad agus tha rèiteachadh ar CRD air a sgrÚdadh gu Ïre.
- Ăs deidh sgrĂšdadh a dhèanamh air an CRD air taobh JSS, thèid am fiosrachadh a chuir chun Ă rd-Ăšrlar k8s API.
- Bidh an rianadair CRD againn aâ cumail sĂšil air tachartasan air goireasan luchd-cleachdaidh gu lèir. Bidh e ag atharrachadh CRn gu goireasan dĂšthchasach k8s, aâ cur ris na modalan riatanach, aâ suidheachadh nan caochladairean Ă rainneachd iomchaidh, agus aâ dèanamh obair taic eile gus dèanamh cinnteach gu bheil taic bun-structair gu leòr aig tagraidhean luchd-cleachdaidh.
- Bidh an rianadair CRD an uairsin a âtoirt seachad an dĂ ta a fhuaireadh gu Kubernetes API gus an urrainn don chlĂ r-ama a phròiseasadh agus a chuir gu cinneasachadh.
thuirt: Chaidh an sruth-obrach ro-sgaoilidh seo den chleachdadh a chruthachadh airson aâ chiad luchd-cleachdaidh air an Ă rd-Ăšrlar k8s Ăšr. Tha sinn an-drĂ sta ag Ăšrachadh aâ phròiseis seo gus lĂ n amalachadh leis an CI/CD Ăšr againn. Tha seo aâ ciallachadh nach urrainn dhuinn a h-uile dad co-cheangailte ri Kubernetes innse dhut. Tha sinn aâ coimhead air adhart ri bhith aâ roinn ar n-eòlas agus adhartas na sgioba a thaobh seo anns an ath phost bhlog againn, âAâ togail Ă rd-Ăšrlar CI/CD airson Pinterest.â
Seòrsaichean de ghoireasan sònraichte
Stèidhichte air feumalachdan sònraichte Pinterest, tha sinn air na CRDn a leanas a leasachadh gus freagairt air diofar shruth-obrach:
- Tha PinterestService nan seirbheisean gun stĂ it a tha air a bhith aâ ruith airson Ăšine mhòr. Tha mòran de na prĂŹomh shiostaman againn stèidhichte air seata de sheirbheisean mar sin.
- Bidh PinterestJobSet aâ modaladh obraichean batch lĂ n chearcall. Is e suidheachadh cumanta air Pinterest gu bheil grunn obraichean aâ ruith na h-aon shoithichean aig an aon Ă m, ge bith dè na pròiseasan eile a tha coltach riutha.
- Tha PinterestCronJob air a chleachdadh gu farsaing ann an co-bhonn ri luchdan beaga bho à m gu à m. Is e pasgan a tha seo airson obair cron dÚthchasach le uidheamachdan taic Pinterest air a bheil uallach airson tèarainteachd, trafaic, logaichean agus meatrach.
- Tha PinterestDaemon aâ toirt a-steach daemons bun-structair. Tha an teaghlach seo aâ sĂŹor fhĂ s agus sinn aâ cur barrachd taic ris na cruinneachaidhean againn.
- Tha PinterestTrainingJob aâ leudachadh gu pròiseasan Tensorflow agus Pytorch, aâ toirt seachad an aon ĂŹre de thaic runtime ris a h-uile CRD eile. Leis gu bheil Pinterest gu gnĂŹomhach aâ cleachdadh Tensorflow agus siostaman ionnsachaidh innealan eile, bha adhbhar againn CRD air leth a thogail timcheall orra.
Tha sinn cuideachd ag obair air PinterestStatefulSet, a thèid atharrachadh a dhâ aithghearr airson taighean-bathair dĂ ta agus siostaman stĂ iteil eile.
Taic runtime
Nuair a ruitheas pod tagraidh air Kubernetes, gheibh e teisteanas gu fèin-ghluasadach gus e fhèin aithneachadh. Tha an teisteanas seo air a chleachdadh gus faighinn gu stòradh dĂŹomhair no gus conaltradh le seirbheisean eile tro mTLS. Aig an aon Ă m, luchdaichidh an Container Init Configurator agus Daemon a h-uile eisimeileachd riatanach sĂŹos mus ruith iad an tagradh container. Nuair a bhios a h-uile cĂ il deiseil, clĂ raichidh an cĂ r-taobh trafaic agus an Daemon seòladh IP aâ mhodal leis an Zookeeper againn gus am faigh teachdaichean a-mach e. Obraichidh seo uile leis gun deach am modal lĂŹonra a rèiteachadh mus deach an tagradh a chuir air bhog.
Tha na tha gu h-Ă rd nan eisimpleirean Ă bhaisteach de thaic runtime airson eallach obrach. Dhâ fhaodadh gum bi feum aig seòrsachan eallach obrach eile air taic beagan eadar-dhealaichte, ach tha iad uile aâ tighinn ann an cruth sidecars ĂŹre pod, ĂŹre nĂłd no daemons ĂŹre inneal mas-fhĂŹor. Bidh sinn aâ dèanamh cinnteach gu bheil seo uile air a chleachdadh taobh a-staigh aâ bhun-structair riaghlaidh agus gu bheil e cunbhalach thar thagraidhean, a lughdaicheas gu mòr an eallach a thaobh obair theicnigeach agus taic teachdaiche.
Deuchainn agus QA
Thog sinn loidhne-phĂŹoban deuchainn deireadh-gu-deireadh a bharrachd air aâ bhun-structar deuchainn Kubernetes a thâ ann mar-thĂ . Tha na deuchainnean sin aâ buntainn ris a h-uile buidheann againn. Chaidh an loidhne-phĂŹoban againn tro iomadh ath-sgrĂšdadh mus tĂ inig e gu bhith na phĂ irt den bhuidheann toraidh.
A bharrachd air siostaman deuchainn, tha siostaman sgrĂšdaidh is rabhaidh againn a bhios gu cunbhalach aâ cumail sĂšil air inbhe co-phĂ irtean siostam, caitheamh ghoireasan agus comharran cudromach eile, aâ toirt fios dhuinn dĂŹreach nuair a tha feum air eadar-theachd daonna.
Roghainnean eile
Choimhead sinn air cuid de roghainnean eile seach goireasan à bhaisteach, leithid riaghladairean ruigsinneachd mutation agus siostaman teamplaid. Ach, tha dÚbhlain obrachaidh mòra orra uile, agus mar sin thagh sinn an t-slighe CRD.
Chaidh rianadair inntrigidh mutational a chleachdadh gus sidecars, caochladairean à rainneachd, agus taic Úine ruith eile a thoirt a-steach. Ach, bha grunn dhuilgheadasan ann, leithid ceangal ghoireasan agus riaghladh cuairt-beatha, far nach èirich duilgheadasan mar sin ann an CRD.
Note: Tha siostaman teamplaid leithid clĂ ran Helm cuideachd air an cleachdadh gu farsaing gus tagraidhean a ruith le rèiteachaidhean coltach ris. Ach, tha na tagraidhean obrach againn ro eadar-mheasgte airson a bhith air an riaghladh le teamplaidean. Cuideachd rè cleachdadh leantainneach bidh cus mhearachdan ann nuair a bhios tu aâ cleachdadh theamplaidean.
Obair ri thighinn
Tha sinn an-drĂ sta aâ dèiligeadh ri eallach measgaichte thar ar buidhnean gu lèir. Gus taic a thoirt do leithid de phròiseasan de dhiofar sheòrsaichean is mheudan, bidh sinn ag obair anns na raointean a leanas:
- Bidh cruinneachadh de chruinneachaidhean aâ sgaoileadh thagraidhean mòra thairis air diofar chlĂ ran airson scalability agus seasmhachd.
- Aâ dèanamh cinnteach Ă seasmhachd chnuas, scalability agus faicsinneachd gus ceanglaichean tagraidh agus SLAn a chruthachadh.
- Aâ riaghladh ghoireasan agus chuotathan gus nach bi tagraidhean aâ dol an aghaidh a chèile, agus tha smachd aig ĂŹre aâ chnuas air ar pĂ irt.
- Ărd-Ăšrlar CI / CD Ăšr airson taic agus cleachdadh thagraidhean air Kubernetes.
Source: www.habr.com
