Kubu fuq kubu, metaclusters, xehda, distribuzzjoni tar-riżorsi
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.
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
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.
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.
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.
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.
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.
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.
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.
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.
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