Kif Alibaba Cloud timmaniġġja għexieren ta' eluf ta' raggruppamenti ta' Kubernetes ma'... Kubernetes

Kubu fuq kubu, metaclusters, xehda, distribuzzjoni tar-riżorsi

Kif Alibaba Cloud timmaniġġja għexieren ta' eluf ta' raggruppamenti ta' Kubernetes ma'... Kubernetes
Ross. 1. Ekosistema Kubernetes fuq Alibaba Cloud

Mill-2015, Alibaba Cloud Container Service għal Kubernetes (ACK) kien wieħed mis-servizzi tal-cloud li qed jikbru malajr f'Alibaba Cloud. Huwa jservi bosta klijenti u jappoġġja wkoll l-infrastruttura interna ta 'Alibaba u s-servizzi l-oħra tal-cloud tal-kumpanija.

Bħal servizzi ta' kontejners simili minn fornituri ta' cloud ta' klassi dinjija, l-ogħla prijoritajiet tagħna huma l-affidabbiltà u d-disponibbiltà. Għalhekk, inħolqot pjattaforma skalabbli u aċċessibbli globalment għal għexieren ta 'eluf ta' clusters Kubernetes.

F'dan l-artikolu, se naqsmu l-esperjenza tagħna fil-ġestjoni ta 'numru kbir ta' clusters ta 'Kubernetes fuq l-infrastruttura tal-cloud, kif ukoll l-arkitettura tal-pjattaforma sottostanti.

Dħul

Kubernetes sar l-istandard de facto għal varjetà ta 'tagħbija tax-xogħol fil-cloud. Kif muri fil-Fig. 1 hawn fuq, aktar u aktar applikazzjonijiet Alibaba Cloud issa qed jaħdmu fuq raggruppamenti Kubernetes: applikazzjonijiet stateful u mingħajr stat, kif ukoll maniġers tal-applikazzjonijiet. Il-ġestjoni ta' Kubernetes dejjem kienet suġġett ta' diskussjoni interessanti u serju għall-inġiniera li jibnu u jżommu l-infrastruttura. Meta niġu għall-fornituri tal-cloud bħal Alibaba Cloud, il-kwistjoni tal-iskala tiġi fuq quddiem. Kif timmaniġġja l-clusters ta' Kubernetes fuq din l-iskala? Diġà koprejna l-aħjar prattiki għall-ġestjoni ta’ raggruppamenti kbar ta’ Kubernetes b’10 node. Naturalment, din hija problema ta' skala interessanti. Iżda hemm skala oħra: il-kwantità il-clusters infushom.

Iddiskutejna dan is-suġġett ma 'ħafna utenti ACK. Ħafna minnhom jagħżlu li jmexxu għexieren, jekk mhux mijiet, ta’ raggruppamenti ta’ Kubernetes żgħar jew ta’ daqs medju. Hemm raġunijiet tajbin għal dan: il-limitazzjoni tal-ħsara potenzjali, is-separazzjoni ta 'clusters għal timijiet differenti, il-ħolqien ta' clusters virtwali għall-ittestjar. Jekk ACK jimmira li jservi udjenza globali b'dan il-mudell ta' użu, għandu jimmaniġġja b'mod affidabbli u effiċjenti numru kbir ta' raggruppamenti f'aktar minn 20 reġjun.

Kif Alibaba Cloud timmaniġġja għexieren ta' eluf ta' raggruppamenti ta' Kubernetes ma'... Kubernetes
Ross. 2. Problemi ta 'ġestjoni ta' numru kbir ta 'clusters Kubernetes

X'inhuma l-isfidi ewlenin tal-ġestjoni tar-raggruppamenti fuq din l-iskala? Kif jidher fil-figura, hemm erba' kwistjonijiet li għandhom jiġu ttrattati:

  • Eteroġeneità

ACK għandu jappoġġa diversi tipi ta 'clusters, inklużi standard, serverless, Edge, Windows, u bosta oħrajn. Raggruppamenti differenti jeħtieġu għażliet, komponenti u mudelli ta 'hosting differenti. Xi klijenti jeħtieġu assistenza bil-personalizzazzjoni għall-każijiet speċifiċi tagħhom.

  • Diversi daqsijiet ta 'cluster

Clusters ivarjaw fid-daqs: minn ftit nodi b'diversi imżiewed għal għexieren ta 'eluf ta' nodi b'eluf ta 'miżwed. Ir-rekwiżiti tar-riżorsi wkoll ivarjaw ħafna. Allokazzjoni mhux xierqa tar-riżorsi tista' tħalli impatt fuq il-prestazzjoni jew saħansitra tikkawża falliment.

  • Verżjonijiet differenti

Kubernetes qed jevolvi malajr ħafna. Verżjonijiet ġodda huma rilaxxati kull ftit xhur. Il-klijenti huma dejjem lesti li jippruvaw karatteristiċi ġodda. Allura jridu jqiegħdu t-tagħbija tat-test fuq il-verżjonijiet il-ġodda ta 'Kubernetes u t-tagħbija tal-produzzjoni fuq dawk stabbli. Biex jissodisfa dan ir-rekwiżit, ACK għandu kontinwament iwassal verżjonijiet ġodda ta' Kubernetes lill-klijenti filwaqt li jżomm verżjonijiet stabbli.

  • Konformità tas-Sigurtà

Il-clusters huma mqassma f'reġjuni differenti. Bħala tali, għandhom jikkonformaw ma 'diversi rekwiżiti ta' sikurezza u regolamenti uffiċjali. Pereżempju, cluster fl-Ewropa jrid ikun konformi mal-GDPR, filwaqt li cloud finanzjarju fiċ-Ċina jrid ikollu saffi addizzjonali ta' protezzjoni. Dawn ir-rekwiżiti huma obbligatorji u mhux aċċettabbli li jiġu injorati, peress li dan joħloq riskji kbar għall-klijenti tal-pjattaforma tal-cloud.

Il-pjattaforma ACK hija mfassla biex issolvi ħafna mill-problemi ta 'hawn fuq. Bħalissa tmexxi b'mod affidabbli u stabbli aktar minn 10 elf raggruppament Kubernetes madwar id-dinja. Ejja nħarsu lejn kif dan inkiseb, inkluż permezz ta' diversi prinċipji ewlenin tad-disinn/arkitettura.

Disinn

Kubu fuq kubu u xehda

B'differenza minn ġerarkija ċentralizzata, l-arkitettura bbażata fuq iċ-ċelluli hija tipikament użata biex tiskala pjattaforma lil hinn minn ċentru tad-dejta wieħed jew biex tespandi l-ambitu tal-irkupru tad-diżastri.

Kull reġjun fil-Cloud Alibaba jikkonsisti f'diversi żoni (AZ) u normalment jikkorrispondi għal ċentru tad-dejta speċifiku. F'reġjun kbir (eż. Huangzhou), ħafna drabi jkun hemm eluf ta 'clusters ta' klijenti Kubernetes li jmexxu ACK.

ACK jimmaniġġja dawn il-clusters Kubernetes billi juża Kubernetes innifsu, jiġifieri għandna metacluster Kubernetes jaħdem biex jimmaniġġja l-clusters Kubernetes tal-klijenti. Din l-arkitettura tissejjaħ ukoll "kube-on-kube" (KoK). L-arkitettura KoK tissimplifika l-ġestjoni tal-clusters tal-klijenti minħabba li l-iskjerament tal-clusters huwa sempliċi u deterministiku. Aktar importanti minn hekk, nistgħu nużaw mill-ġdid il-karatteristiċi indiġeni ta’ Kubernetes. Pereżempju, il-ġestjoni tas-servers tal-API permezz tal-iskjerament, bl-użu tal-operatur etcd biex timmaniġġja diversi etcds. Rikorsjoni bħal din dejjem iġib pjaċir speċjali.

Diversi metaclusters ta' Kubernetes huma skjerati f'reġjun wieħed, skont in-numru ta' klijenti. Dawn il-metaclusters insejħu ċelluli. Biex tipproteġi kontra l-falliment ta 'żona sħiħa, ACK jappoġġja skjeramenti multi-attivi f'reġjun wieħed: il-metacluster jiddistribwixxi l-komponenti ewlenin tal-cluster tal-klijenti Kubernetes f'diversi żoni u jmexxihom simultanjament, jiġifieri, f'modalità multi-attiva. Biex tiżgura l-affidabbiltà u l-effiċjenza tal-kaptan, ACK jottimizza t-tqegħid tal-komponenti u jiżgura li s-server tal-API u l-etcd huma qrib xulxin.

Dan il-mudell jippermettilek timmaniġġja Kubernetes b'mod effiċjenti, flessibbli u affidabbli.

Ippjanar tar-riżorsi Metacluster

Kif diġà semmejna, in-numru ta 'metaclusters f'kull reġjun jiddependi min-numru ta' klijenti. Imma f'liema punt iżżid metacluster ġdid? Din hija problema tipika tal-ippjanar tar-riżorsi. Bħala regola, hija drawwa li tinħoloq waħda ġdida meta metaclusters eżistenti jkunu eżawrew ir-riżorsi kollha tagħhom.

Ejja nieħdu riżorsi tan-netwerk, pereżempju. Fl-arkitettura KoK, il-komponenti tal-Kubernetes minn clusters tal-klijenti huma skjerati bħala pods f'metacluster. Aħna nużaw Terway (Fig. 3) huwa plugin ta 'prestazzjoni għolja żviluppat minn Alibaba Cloud għall-ġestjoni tan-netwerk tal-kontejners. Jipprovdi sett għani ta 'politiki ta' sigurtà u jippermettilek tikkonnettja mal-sħab privati ​​virtwali (VPCs) tal-klijenti permezz tal-Interface tan-Netwerking Elastiku tal-Cloud Alibaba (ENI). Biex niddistribwixxu b'mod effettiv ir-riżorsi tan-netwerk fuq nodi, imżiewed u servizzi f'metacluster, irridu nissorveljaw bir-reqqa l-użu tagħhom fi ħdan il-metacluster ta 'sħab privati ​​virtwali. Meta r-riżorsi tan-netwerk jaslu fi tmiemhom, tinħoloq ċellula ġdida.

Biex niddeterminaw l-aħjar numru ta 'clusters ta' klijenti f'kull metacluster, aħna nqisu wkoll l-ispejjeż tagħna, ir-rekwiżiti tad-densità, il-kwota tar-riżorsi, ir-rekwiżiti tal-affidabbiltà u l-istatistika. Id-deċiżjoni li jinħoloq metacluster ġdid issir ibbażata fuq din l-informazzjoni kollha. Jekk jogħġbok innota li clusters żgħar jistgħu jespandu ħafna fil-futur, għalhekk il-konsum tar-riżorsi jiżdied anke jekk in-numru ta 'clusters jibqa' mhux mibdul. Normalment inħallu biżżejjed spazju ħieles biex kull cluster jikber.

Kif Alibaba Cloud timmaniġġja għexieren ta' eluf ta' raggruppamenti ta' Kubernetes ma'... Kubernetes
Ross. 3. Arkitettura tan-netwerk Terway

Skala tal-komponenti tal-wizard madwar clusters tal-klijenti

Il-komponenti tal-Wizard għandhom ħtiġijiet differenti ta' riżorsi. Jiddependu fuq in-numru ta 'nodi u mżiewed fil-cluster, in-numru ta' kontrolluri/operaturi mhux standard li jinteraġixxu ma 'APIServer.

F'ACK, kull cluster ta' klijenti Kubernetes huwa differenti fid-daqs u fir-rekwiżiti tar-runtime. M'hemm l-ebda konfigurazzjoni universali għat-tqegħid tal-komponenti tal-wizard. Jekk bi żball nissettjaw limitu ta 'riżorsi baxxi għal klijent kbir, allura l-cluster tiegħu ma jkunx jista' jlaħħaq mat-tagħbija. Jekk tiffissa limitu għoli b'mod konservattiv għar-raggruppamenti kollha, ir-riżorsi se jinħlew.

Biex issib kompromess sottili bejn l-affidabbiltà u l-ispiża, ACK juża sistema tat-tip. Jiġifieri, aħna niddefinixxu tliet tipi ta 'clusters: żgħar, medji u kbar. Kull tip għandu profil separat ta' allokazzjoni tar-riżorsi. It-tip huwa ddeterminat abbażi tat-tagħbija tal-komponenti tal-wizard, in-numru ta 'nodi, u fatturi oħra. It-tip ta' cluster jista' jinbidel maż-żmien. ACK jissorvelja kontinwament dawn il-fatturi u jista 'jittajpja 'l fuq/'l isfel kif xieraq. Ladarba t-tip ta' cluster jinbidel, l-allokazzjoni tar-riżorsi tiġi aġġornata awtomatikament b'intervent minimu tal-utent.

Qegħdin naħdmu biex intejbu din is-sistema bi skalar aktar fin u aġġornament tat-tip aktar preċiż sabiex dawn il-bidliet iseħħu aktar bla xkiel u jagħmlu aktar sens ekonomiku.

Kif Alibaba Cloud timmaniġġja għexieren ta' eluf ta' raggruppamenti ta' Kubernetes ma'... Kubernetes
Ross. 4. Qlib intelliġenti tat-tip f'diversi stadji

Evoluzzjoni ta' raggruppamenti ta' klijenti fuq skala

It-taqsimiet preċedenti koprew xi aspetti tal-ġestjoni ta’ għadd kbir ta’ raggruppamenti ta’ Kubernetes. Madankollu, hemm problema oħra li trid tiġi solvuta: l-evoluzzjoni tar-raggruppamenti.

Kubernetes huwa l-"Linux" tad-dinja tas-sħab. Huwa kontinwament aġġornat u jsir aktar modulari. Irridu kontinwament inwasslu verżjonijiet ġodda lill-klijenti tagħna, nirranġaw il-vulnerabbiltajiet u naġġornaw clusters eżistenti, kif ukoll niġġestixxu numru kbir ta 'komponenti relatati (CSI, CNI, Device Plugin, Scheduler Plugin u ħafna oħrajn).

Ejja nieħdu l-ġestjoni tal-komponenti Kubernetes bħala eżempju. Biex tibda, żviluppajna sistema ċentralizzata għar-reġistrazzjoni u l-ġestjoni ta’ dawn il-komponenti kollha konnessi.

Kif Alibaba Cloud timmaniġġja għexieren ta' eluf ta' raggruppamenti ta' Kubernetes ma'... Kubernetes
Ross. 5. Komponenti flessibbli u pluggable

Qabel ma timxi 'l quddiem, trid tiżgura li l-aġġornament kien ta' suċċess. Biex tagħmel dan, żviluppajna sistema għall-iċċekkjar tal-funzjonalità tal-komponenti. Il-kontroll isir qabel u wara l-aġġornament.

Kif Alibaba Cloud timmaniġġja għexieren ta' eluf ta' raggruppamenti ta' Kubernetes ma'... Kubernetes
Ross. 6. Kontroll preliminari tal-komponenti tal-cluster

Biex taġġorna malajr u b'mod affidabbli dawn il-komponenti, sistema ta 'skjerament kontinwu taħdem b'appoġġ għal avvanz parzjali (skala griża), pawżi u funzjonijiet oħra. Kontrolluri standard Kubernetes mhumiex adattati tajjeb għal dan il-każ ta 'użu. Għalhekk, biex timmaniġġja l-komponenti tal-cluster, żviluppajna sett ta 'kontrolluri speċjalizzati, inkluż plugin u modulu ta' kontroll awżiljarju (ġestjoni sidecar).

Pereżempju, il-kontrollur BroadcastJob huwa ddisinjat biex jaġġorna komponenti fuq kull magna tal-ħaddiem jew jiċċekkja n-nodi fuq kull magna. Ix-xogħol Broadcast imexxi pod fuq kull node fil-cluster, bħal DaemonSet. Madankollu, DaemonSet dejjem iżomm il-pod taħdem għal żmien twil, filwaqt li BroadcastJob iġġarraf. Il-kontrollur tax-Xandir iniedi wkoll imżiewed fuq nodi li għadhom kif ssieħbu u jinizjalizza n-nodi bil-komponenti meħtieġa. F'Ġunju 2019, ftaħna l-kodiċi sors tal-magna ta 'awtomazzjoni OpenKruise, li aħna stess nużaw fi ħdan il-kumpanija.

Kif Alibaba Cloud timmaniġġja għexieren ta' eluf ta' raggruppamenti ta' Kubernetes ma'... Kubernetes
Ross. 7. OpenKurise jorganizza l-eżekuzzjoni tal-kompitu Broadcast fuq in-nodi kollha

Biex ngħinu lill-klijenti jagħżlu l-konfigurazzjonijiet ta 'cluster it-tajba, aħna nipprovdu wkoll sett ta' profili predefiniti, inklużi profili Serverless, Edge, Windows u Bare Metal. Hekk kif il-pajsaġġ jespandi u l-ħtiġijiet tal-klijenti tagħna jikbru, aħna se nżidu aktar profili biex nissimplifikaw il-proċess ta 'setup tedious.

Kif Alibaba Cloud timmaniġġja għexieren ta' eluf ta' raggruppamenti ta' Kubernetes ma'... Kubernetes
Ross. 8. Profili ta 'cluster avvanzati u flessibbli għal diversi xenarji

Osservabbiltà globali madwar iċ-ċentri tad-dejta

Kif muri hawn taħt il-fig. 9, Alibaba Cloud Container sħaba servizz ġie skjerat f'għoxrin reġjun madwar id-dinja. Minħabba din l-iskala, wieħed mill-għanijiet ewlenin ta 'ACK huwa li jimmonitorja faċilment l-istat tal-clusters li qed jaħdmu sabiex jekk cluster tal-klijenti jiltaqa' ma 'problema, nistgħu nirrispondu malajr għas-sitwazzjoni. Fi kliem ieħor, jeħtieġ li toħroġ b'soluzzjoni li tippermettilek tiġbor statistika b'mod effiċjenti u sigur f'ħin reali minn raggruppamenti ta' klijenti fir-reġjuni kollha - u tippreżenta r-riżultati viżwalment.

Kif Alibaba Cloud timmaniġġja għexieren ta' eluf ta' raggruppamenti ta' Kubernetes ma'... Kubernetes
Ross. 9. Skjerament globali tas-servizz Alibaba Cloud Container f'għoxrin reġjun

Bħal ħafna sistemi ta 'monitoraġġ Kubernetes, nużaw Prometheus bħala l-għodda ewlenija tagħna. Għal kull metacluster, l-aġenti Prometheus jiġbru l-metriċi li ġejjin:

  • Metriċi tal-OS bħal riżorsi ospitanti (CPU, memorja, disk, eċċ.) U bandwidth tan-netwerk.
  • Metriċi għall-metacluster u s-sistema ta 'ġestjoni tal-clusters tal-klijenti, bħal kube-apiserver, kube-controller-manager u kube-scheduler.
  • Metriċi minn kubernetes-state-metrics u cadvisor.
  • metriċi etcd bħall-ħin tal-kitba tad-disk, id-daqs tad-database, it-trażmissjoni tal-links bejn in-nodi, eċċ.

L-istatistika globali tinġabar permezz ta' mudell tipiku ta' aggregazzjoni b'ħafna saffi. Id-dejta tal-monitoraġġ minn kull metacluster l-ewwel tiġi aggregata f'kull reġjun u mbagħad tintbagħat lil server ċentrali li juri l-istampa ġenerali. Kollox jaħdem permezz tal-mekkaniżmu tal-federazzjoni. Server Prometheus f'kull ċentru tad-dejta jiġbor metriċi minn dak iċ-ċentru tad-dejta, u s-server Prometheus ċentrali huwa responsabbli għall-aggregazzjoni tad-dejta tal-monitoraġġ. AlertManager jgħaqqad ma' Prometheus ċentrali u jibgħat twissijiet kif meħtieġ permezz ta' DingTalk, email, SMS, eċċ. Viżwalizzazzjoni - Bl-użu ta' Grafana.

Fil-Figura 10, is-sistema ta 'monitoraġġ tista' tinqasam fi tliet livelli:

  • Livell tal-konfini

Is-saff l-aktar 'il bogħod miċ-ċentru. Il-Prometheus Edge Server jaħdem f'kull metacluster, u jiġbor metriċi minn meta u clusters tal-klijenti fl-istess dominju tan-netwerk.

  • Livell tal-kaskata

Il-funzjoni tas-saff tal-kaskata Prometheus hija li tiġbor data ta 'monitoraġġ minn reġjuni multipli. Dawn is-servers joperaw fil-livell ta 'unitajiet ġeografiċi akbar bħaċ-Ċina, l-Asja, l-Ewropa u l-Amerika. Hekk kif il-clusters jikbru, ir-reġjun jista 'jinqasam, u mbagħad server Prometheus ta' livell ta 'kaskata se jidher f'kull reġjun kbir ġdid. B'din l-istrateġija, tista 'skala bla xkiel kif meħtieġ.

  • Livell ċentrali

Is-server ċentrali Prometheus jgħaqqad mas-servers tal-kaskata kollha u jwettaq l-aggregazzjoni finali tad-dejta. Għall-affidabbiltà, żewġ istanzi ċentrali Prometheus tqajmu f'żoni differenti, konnessi mal-istess servers tal-kaskata.

Kif Alibaba Cloud timmaniġġja għexieren ta' eluf ta' raggruppamenti ta' Kubernetes ma'... Kubernetes
Ross. 10. Arkitettura globali ta' monitoraġġ f'diversi livelli bbażata fuq il-mekkaniżmu tal-federazzjoni Prometheus

Sommarju

Is-soluzzjonijiet tal-cloud bbażati fuq Kubernetes ikomplu jittrasformaw l-industrija tagħna. Is-servizz tal-kontejners Alibaba Cloud jipprovdi hosting sikur, affidabbli u ta 'prestazzjoni għolja - huwa wieħed mill-aħjar cloud hosting ta' Kubernetes. It-tim ta 'Alibaba Cloud jemmen bis-sħiħ fil-prinċipji ta' Open Source u l-komunità tas-sors miftuħ. Żgur se nkomplu naqsmu l-għarfien tagħna fil-qasam tal-operat u l-ġestjoni tat-teknoloġiji tal-cloud.

Sors: www.habr.com

Żid kumment