Umsebenzisi kwi-Kubernetes yokulawula amaqela edathabheyisi. Vladislav Klimenko (Altinity, 2019)

Umsebenzisi kwi-Kubernetes yokulawula amaqela edathabheyisi. Vladislav Klimenko (Altinity, 2019)

Ingxelo inikezelwe kwimiba esebenzayo yokuphuhlisa umqhubi e-Kubernetes, ukuyila i-architecture yayo kunye nemigaqo esisiseko yokusebenza.

Kwinxalenye yokuqala yengxelo siza kuqwalasela:

  • yintoni umqhubi eKubernetes kwaye kutheni ifuneka;
  • ukuba umqhubi wenza lula njani ulawulo lweenkqubo ezintsonkothileyo;
  • into anokuyenza nangenako ukuyenza umsebenzisi.

Okulandelayo, masiqhubele phambili ekuxoxeni ngesakhiwo sangaphakathi somsebenzisi. Makhe sijonge ulwakhiwo kunye nokusebenza komsebenzisi inyathelo ngenyathelo. Masiyijonge ngokweenkcukacha:

  • intsebenziswano phakathi komsebenzisi kunye neKubernetes;
  • yeyiphi imisebenzi eyenziwa ngumsebenzisi kwaye yeyiphi imisebenzi ayinikezelayo kwi-Kubernetes.

Makhe sijonge ukulawula i-shards kunye ne-database replicas kwi-Kubernetes.
Okulandelayo, siza kuxoxa ngemiba yokugcina idatha:

  • indlela yokusebenza ngoGcino oluZinzileyo ngokwembono yomsebenzisi;
  • imigibe yokusebenzisa uGcino lwaseKhaya.

Kwinxalenye yokugqibela yengxelo, siza kuqwalasela imizekelo ebonakalayo yokusetyenziswa clickhouse-opharetha ngeAmazon okanye iGoogle Cloud Service. Ingxelo isekelwe kumzekelo wophuhliso kunye namava okusebenza komsebenzi weClickHouse.

Ividiyo:

Igama lam ndinguVladislav Klimenko. Namhlanje bendifuna ukuthetha ngamava ethu ekuphuhliseni nasekusebenzeni umqhubi, kwaye lo ngumqhubi okhethekileyo wokulawula amaqela edatha. Umzekelo ClickHouse-opharetha ukulawula iqela leClickHouse.

Umsebenzisi kwi-Kubernetes yokulawula amaqela edathabheyisi. Vladislav Klimenko (Altinity, 2019)

Kutheni sinethuba lokuthetha malunga nomsebenzi kunye neClickHouse?

  • Sixhasa kwaye siphuhlise iClickHouse.
  • Okwangoku, sizama ukwenza kancinci igalelo lethu kuphuhliso lweClickHouse. Kwaye sisesibini emva kweYandex ngokubhekiselele kumthamo weenguqu ezenziwe kwiClickHouse.
  • Sizama ukwenza iiprojekthi ezongezelelweyo zeClickHouse ecosystem.

Ndingathanda ukukuxelela ngenye yezi projekthi. Oku malunga ClickHouse-opharetha for Kubernetes.

Kwingxelo yam ndingathanda ukuchukumisa izihloko ezibini:

  • Isihloko sokuqala yindlela yethu yokulawula i-database ye-ClickHouse esebenza ngayo kwi-Kubernetes.
  • Isihloko sesibini yindlela nawuphi na umqhubi osebenza ngayo, oko kukuthi indlela esebenzisana ngayo neKubernetes.

Nangona kunjalo, le mibuzo mibini iya kudibana kuyo yonke ingxelo yam.

Umsebenzisi kwi-Kubernetes yokulawula amaqela edathabheyisi. Vladislav Klimenko (Altinity, 2019)

Ngubani onokuba nomdla wokumamela le nto ndizama ukuyithetha?

  • Kuya kuba nomdla kakhulu kwabo basebenza ngabaqhubi.
  • Okanye abo bafuna ukuzenza ngokwabo ukuze baqonde indlela esebenza ngayo ngaphakathi, indlela umqhubi asebenzisana ngayo noKubernetes, kunye nokuba yeyiphi imigibe enokuthi ibonakale.

Umsebenzisi kwi-Kubernetes yokulawula amaqela edathabheyisi. Vladislav Klimenko (Altinity, 2019)

Ukuyiqonda ngcono into esiza kuyixoxa namhlanje, luluvo oluhle ukwazi ukuba uKubernetes usebenza njani kwaye ube noqeqesho olusisiseko lwamafu.

Umsebenzisi kwi-Kubernetes yokulawula amaqela edathabheyisi. Vladislav Klimenko (Altinity, 2019)

Yintoni iClickHouse? Le yi-database ye-columnar eneempawu ezithile zokuqhutyelwa kwe-intanethi yemibuzo yohlalutyo. Kwaye ngumthombo ovulekileyo ngokupheleleyo.

Kwaye kubalulekile ukuba sazi izinto ezimbini kuphela. Kuya kufuneka wazi ukuba le yidatabase, ngoko ke into endiza kukuxelela yona iya kusebenza phantse kuyo nayiphi na isiseko sedatha. Kwaye inyaniso yokuba i-ClickHouse DBMS isikali kakuhle kakhulu, inika phantse umgca wokulinganisa. Kwaye ke ngoko, i-cluster state yimeko yendalo yeClickHouse. Kwaye sinomdla kakhulu ekuxoxeni ngendlela yokusebenzela iClickHouse cluster eKubernetes.

Umsebenzisi kwi-Kubernetes yokulawula amaqela edathabheyisi. Vladislav Klimenko (Altinity, 2019)

Kutheni efuneka apho? Kutheni singenako ukuqhubeka siyisebenzisa ngokwethu? Kwaye iimpendulo ngokuyinxenye zezobuchule kwaye ngokuyinxenye zezombutho.

  • Ngokusebenza, siya sihlangabezana nemeko apho kwiinkampani ezinkulu phantse onke amacandelo sele eKubernetes. Oovimba beenkcukacha bahlala ngaphandle.
  • Kwaye umbuzo uya ubuzwa: "Ngaba le nto ingafakwa ngaphakathi?" Ke ngoko, iinkampani ezinkulu zizama ukufezekisa umanyano oluphezulu lolawulo ukuze zikhawuleze zikwazi ukulawula iindawo zazo zokugcina idatha.
  • Kwaye oku kuyanceda ngakumbi ukuba ufuna elona thuba liphezulu lokuphinda into enye kwindawo entsha, oko kukuthi ukuphatheka okuphezulu.

Umsebenzisi kwi-Kubernetes yokulawula amaqela edathabheyisi. Vladislav Klimenko (Altinity, 2019)

Ilula okanye inzima kangakanani? Oku, ngokuqinisekileyo, kunokwenziwa ngesandla. Kodwa akulula kangako, kuba sinobunzima obongezelelweyo bokulawula i-Kubernetes ngokwayo, kodwa kwangaxeshanye izinto ezicacileyo zeClickHouse zibekwe phezulu. Kwaye iziphumo zokuhlanganiswa okunjalo.

Kwaye konke oku kunika itekhnoloji enkulu ngokufanelekileyo, eba nzima kakhulu ukuyilawula, kuba iKubernetes izisa imicimbi yayo yemihla ngemihla ukuba isebenze, kwaye iClickHouse izisa imiba yayo ekusebenzeni kwemihla ngemihla. Ngokukodwa ukuba sineClickHouses ezininzi, kwaye kufuneka sihlale sisenza into nabo.

Umsebenzisi kwi-Kubernetes yokulawula amaqela edathabheyisi. Vladislav Klimenko (Altinity, 2019)

Ngoqwalaselo oluguquguqukayo, i-ClickHouse inenani elikhulu ngokufanelekileyo lemiba eyenza umthwalo oqhubekayo kwi-DevOps:

  • Xa sifuna ukutshintsha into kwiClickHouse, umzekelo, yongeza i-replica okanye i-shard, ngoko kufuneka silawule uqwalaselo.
  • Emva koko utshintshe i-schema yedatha, kuba i-ClickHouse inendlela ethile yokwahlula. Apho kufuneka ubeke umzobo wedatha, ubeke ulungelelwaniso.
  • Kufuneka usete iliso.
  • Ukuqokelela iilogi zeeshadi ezintsha, kwiikopi ezintsha.
  • Qaphela ukubuyisela.
  • Kwaye uqale kwakhona.

Le yimisebenzi yesiqhelo endingathanda ukuyenza lula ukuyisebenzisa.

Umsebenzisi kwi-Kubernetes yokulawula amaqela edathabheyisi. Vladislav Klimenko (Altinity, 2019)

I-Kubernetes ngokwayo inceda kakuhle ekusebenzeni, kodwa kwizinto ezisisiseko zenkqubo.

I-Kubernetes ilungile ekuqhubeni nasekuzenzeleni izinto ezinje:

  • Ukuchacha.
  • Phinda Uqalele.
  • Ulawulo lwenkqubo yokugcina.

Kulungile, lelona cala lichanekileyo, kodwa akanalwazi ngokupheleleyo malunga nendlela yokusebenzisa iqela ledatabase.

Sifuna ngaphezulu, sifuna yonke i-database isebenze eKubernetes.

Umsebenzisi kwi-Kubernetes yokulawula amaqela edathabheyisi. Vladislav Klimenko (Altinity, 2019)

Ndingathanda ukufumana into efana neqhosha elikhulu elibomvu lomlingo olicinezelayo kunye neqela elinemisebenzi yemihla ngemihla efuna ukusonjululwa isasazwe kwaye igcinwe kuwo wonke umjikelo wobomi bayo. Iqela leClickHouse eKubernetes.

Kwaye sizame ukwenza isisombululo esiya kunceda ukwenza umsebenzi ube lula. Le yi-ClickHouse-opharetha ye-Kubernetes evela kwi-Altinity.

Umsebenzisi kwi-Kubernetes yokulawula amaqela edathabheyisi. Vladislav Klimenko (Altinity, 2019)

Umsebenzisi yinkqubo umsebenzi wayo ophambili kukulawula ezinye iinkqubo, oko kukuthi, ngumphathi.

Kwaye iqulethe iipatheni zokuziphatha. Ungalubiza olu lwazi oluhlanganisiweyo malunga nommandla wesifundo.

Kwaye umsebenzi wakhe oyintloko kukwenza ubomi be-DevOps bube lula kunye nokunciphisa i-micromanagement, ukwenzela ukuba yena (i-DevOps) sele ecinga ngemigangatho ephezulu, oko kukuthi, ukwenzela ukuba yena (i-DevOps) angazibandakanyi kwi-micromanagement, ukwenzela ukuba akayi kuqwalasela. zonke iinkcukacha ngesandla.

Kwaye umqhubi nje ngumncedisi werobhothi ojongene ne-microtasks kwaye unceda i-DevOps.

Umsebenzisi kwi-Kubernetes yokulawula amaqela edathabheyisi. Vladislav Klimenko (Altinity, 2019)

Kutheni ufuna umqhubi? Uqhuba kakuhle kakhulu kwiindawo ezimbini:

  • Xa ingcali ejongene neClickHouse ingenawo amava aneleyo, kodwa sele kufuneka isebenze iClickHouse, umqhubi uququzelela ukusebenza kwaye ikuvumela ukuba usebenze iClickHouse cluster ngoqwalaselo oluntsonkothileyo, ngaphandle kokungena kwiinkcukacha ezininzi malunga nendlela esebenza ngayo yonke into. ngaphakathi. Umnika nje imisebenzi ephezulu, kwaye iyasebenza.
  • Kwaye umsebenzi wesibini apho uqhuba kakuhle kuxa kuyimfuneko ukwenza ngokuzenzekelayo inani elikhulu lemisebenzi eqhelekileyo. Isusa microtasks kubalawuli benkqubo.

Umsebenzisi kwi-Kubernetes yokulawula amaqela edathabheyisi. Vladislav Klimenko (Altinity, 2019)

Oku kubaluleke kakhulu nokuba ngabo baqala uhambo lwabo, okanye ngabo bafuna ukwenza izinto ezininzi ezizenzekelayo.

Umsebenzisi kwi-Kubernetes yokulawula amaqela edathabheyisi. Vladislav Klimenko (Altinity, 2019)

Indlela esekelwe kumsebenzisi yohluke njani kwezinye iinkqubo? Kukho iHelm. Ikwanceda ukufaka iClickHouse; unokuzoba iitshathi zehelm, ezinokuthi zifakele lonke iqela leClickHouse. Uthini ke umahluko phakathi komqhubi kunye okufanayo, umzekelo, iHelm?

Owona mahluko ubalulekileyo kukuba iHelm lulawulo lwephakheji kwaye uMsebenzi uhamba inyathelo eliya phambili. Le yinkxaso yomjikelo wobomi bonke. Oku akukona nje ukufakela, le yimisebenzi yemihla ngemihla ebandakanya ukulinganisa, ukusabalalisa, oko kukuthi yonke into ekufuneka yenziwe ngexesha lomjikelo wobomi (ukuba kuyimfuneko, ngoko kucinywe kwakhona) - oku konke kugqitywe ngumqhubi. Izama ukuzenzela nokugcina umjikelo wobomi besoftware. Lo ngumahluko osisiseko kwezinye izisombululo ezivezwayo.

Umsebenzisi kwi-Kubernetes yokulawula amaqela edathabheyisi. Vladislav Klimenko (Altinity, 2019)

Yayiyintshayelelo leyo, masiqhubele phambili.

Simakha njani umphathi wethu? Sizama ukujongana nomcimbi wokulawula iClickHouse cluster njengomthombo omnye.

Apha sineenkcukacha zongeniso kwicala lasekhohlo lomfanekiso. Le yi-YAML eneenkcukacha zeqela, eligqithiselwe kwi-Kubernetes ngendlela yakudala nge-kubectl. Apho umphathi wethu uyayichola kwaye enze umlingo wakhe. Kwaye kwimveliso sifumana inkqubo elandelayo. Oku kukuphunyezwa kweClickHouse eKubernetes.

Kwaye ke siya kujonga kancinci ukuba umqhubi usebenza njani, yeyiphi imisebenzi eqhelekileyo enokusombulula. Siza kuqwalasela kuphela imisebenzi eqhelekileyo kuba sinexesha elilinganiselweyo. Kwaye akusiyo yonke into enokuthi igqitywe ngumqhubi iya kuxoxwa.

Umsebenzisi kwi-Kubernetes yokulawula amaqela edathabheyisi. Vladislav Klimenko (Altinity, 2019)

Masiqale ngokuziqhelanisa. Iprojekthi yethu ingumthombo ovuleleke ngokupheleleyo, ukuze ubone ukuba isebenza njani kwiGitHub. Kwaye unokuqhubeka noqwalaselo ukuba ufuna nje ukuyisungula, ungaqala ngeSikhokelo sokuQala ngokukhawuleza.

Ukuba ufuna ukuqonda ngokweenkcukacha, ngoko sizama ukugcina amaxwebhu ngendlela efanelekileyo okanye enesidima.

Umsebenzisi kwi-Kubernetes yokulawula amaqela edathabheyisi. Vladislav Klimenko (Altinity, 2019)

Masiqale ngengxaki ebonakalayo. Umsebenzi wokuqala, apho sonke sifuna ukuqala, kukuqhuba umzekelo wokuqala ngandlela ithile. Ndingayenza njani iClickHouse ndisebenzisa umqhubi, nokuba andazi ngenene ukuba isebenza njani? Sibhala i-manifesto, kuba... Lonke unxibelelwano neek8s lunxibelelwano ngokubonakalisa.

Umsebenzisi kwi-Kubernetes yokulawula amaqela edathabheyisi. Vladislav Klimenko (Altinity, 2019)

Le yimanifesto entsonkothileyo. Eyona nto siyibalule ngombala obomvu yinto ekufuneka sigxile kuyo. Sicela umqhubi enze iqela elibizwa ngokuba yidemo.

Le yimizekelo esisiseko okwangoku. Ugcino alukachazwa, kodwa siya kubuyela kwindawo yokugcina kamva. Okwangoku, siza kujonga amandla ophuhliso lweqela.

Siye sayila le manifesto. Siyondla kumsebenzisi wethu. Wasebenza, wenza umlingo.

Umsebenzisi kwi-Kubernetes yokulawula amaqela edathabheyisi. Vladislav Klimenko (Altinity, 2019)

Sijonge kwi-console. Amacandelo amathathu anomdla: iPod, iiNkonzo ezimbini, kunye neSeti yeStateful.

Umsebenzisi usebenzile, kwaye sinokubona ukuba yintoni kanye ayenzileyo.

Umsebenzisi kwi-Kubernetes yokulawula amaqela edathabheyisi. Vladislav Klimenko (Altinity, 2019)

Udala into enje. Sine StatefulSet, Pod, ConfigMap yereplica nganye, ConfigMap yeqela lonke. Iinkonzo ziyafuneka njengendawo yokungena kwiqela.

Iinkonzo zezona nkonzo zisembindini wokuLawulwa kweBalancer kwaye zingasetyenziselwa ikopi nganye, kwishadi nganye.

Iqela lethu elisisiseko lijongeka ngolu hlobo. Isuka kwindawo enye.

Umsebenzisi kwi-Kubernetes yokulawula amaqela edathabheyisi. Vladislav Klimenko (Altinity, 2019)

Masiqhubele phambili kwaye sizixakekise izinto. Kufuneka sahlule iqela.

Umsebenzisi kwi-Kubernetes yokulawula amaqela edathabheyisi. Vladislav Klimenko (Altinity, 2019)

Imisebenzi yethu iyakhula, iintshukumo ziyaqala. Sifuna ukongeza iqhekeza. Silandela uphuhliso. Sitshintsha iinkcukacha zethu. Sibonisa ukuba sifuna amaqhekeza amabini.

Le yifayile efanayo ephuhlisa ngamandla ngokukhula kwenkqubo. Ukugcinwa akukho, ukugcinwa kuya kuxoxwa ngakumbi, esi sisihloko esahlukileyo.

Sondla umsebenzisi we-YAML kwaye sibone ukuba kwenzeka ntoni.

Umsebenzisi kwi-Kubernetes yokulawula amaqela edathabheyisi. Vladislav Klimenko (Altinity, 2019)

Umsebenzisi wacinga kwaye wenza ezi ziko zilandelayo. Sele sineePod ezimbini, iiNkonzo ezintathu kwaye, ngokukhawuleza, ii-2 StatefulSets. Kutheni 2 StatefulSets?

Umsebenzisi kwi-Kubernetes yokulawula amaqela edathabheyisi. Vladislav Klimenko (Altinity, 2019)

Kumzobo kwakunje - le yimeko yethu yokuqala, xa sinepod enye.

Umsebenzisi kwi-Kubernetes yokulawula amaqela edathabheyisi. Vladislav Klimenko (Altinity, 2019)

Kwabanje. Ukuza kuthi ga ngoku, yonke into ilula, iphindwe kabini.

Umsebenzisi kwi-Kubernetes yokulawula amaqela edathabheyisi. Vladislav Klimenko (Altinity, 2019)

Kwaye kwakutheni ukuze kubekho ii-StatefulSets ezimbini? Apha kufuneka siphume kwaye sixoxe ngombuzo wendlela iiPods ezilawulwa ngayo kwi-Kubernetes.

Kukho into ebizwa ngokuba yi-StatefulSet ekuvumela ukuba wenze iseti yeePods kwitemplate. Eyona nto iphambili apha yi Template. Kwaye unokwazisa iiPod ezininzi usebenzisa ithemplate enye kwiStatefulSet enye. Kwaye ibinzana eliphambili apha "ziiPod ezininzi zetemplate enye."

Kwaye kwakukho isihendo esikhulu sokwenza iqela lonke, ukupakisha kwi-StatefulSet enye. Izakusebenza, akukho ngxaki ngayo. Kodwa kukho i-caveat enye. Ukuba sifuna ukudibanisa iqela elingafaniyo, oko kukuthi, kwiinguqulelo ezininzi zeClickHouse, ngoko imibuzo iyaqala ukuvela. Ewe, i-StatefulSet inokwenza uhlaziyo oluqengqelekayo, kwaye apho ungakhupha inguqulelo entsha, uchaze ukuba kufuneka ungazami ngaphezu kweenodi ezininzi ngaxeshanye.

Kodwa ukuba siyawukhuphela ngaphandle umsebenzi kwaye sithi sifuna ukwenza iqela elingafaniyo ngokupheleleyo kwaye asifuni ukutshintsha ukusuka kuguqulelo oludala ukuya kwentsha sisebenzisa uhlaziyo oluqengqelekayo, kodwa sifuna nje ukwenza iqela elingafaniyo zombini ngokwemiqathango. yeenguqulelo ezahlukeneyo zeClickHouse kwaye ngokwemiqathango yokugcinwa okwahlukileyo. Sifuna, umzekelo, ukwenza ezinye ii-replicas kwiidiski ezahlukeneyo, kwiindawo ezicothayo, ngokubanzi, ukwakha ngokupheleleyo i-heterogeneous cluster. Kwaye ngenxa yokuba i-StatefulSet yenza isisombululo esisemgangathweni ukusuka kwitemplate enye, akukho ndlela yokwenza oku.

Emva kokucingisisa, kwagqitywa kwelokuba masenze ngolu hlobo. Sine-replica nganye kwi-StatefulSet yayo. Kukho ezinye iingxaki kwesi sisombululo, kodwa ekusebenzeni konke kufakwe ngokupheleleyo ngumqhubi. Kwaye kukho iingenelo ezininzi. Singakha elona qela silifunayo, umzekelo, elohlukileyo ngokupheleleyo. Ke ngoko, kwiqela apho sineeshadi ezimbini ezine-replica enye, siya kuba ne-2 StatefulSets kunye neePods ezi-2 ngokuchanekileyo kuba sikhethe le ndlela ngezizathu ezichazwe ngasentla ukuze sikwazi ukwakha i-heterogeneous cluster.

Umsebenzisi kwi-Kubernetes yokulawula amaqela edathabheyisi. Vladislav Klimenko (Altinity, 2019)

Masibuyele kwiingxaki eziphathekayo. Kwiqela lethu kufuneka siqwalasele abasebenzisi, okt. Kufuneka wenze uqwalaselo oluthile lweClickHouse kwiKubernetes. Umsebenzisi ubonelela ngawo onke amathuba oku.

Umsebenzisi kwi-Kubernetes yokulawula amaqela edathabheyisi. Vladislav Klimenko (Altinity, 2019)

Singabhala into esiyifunayo ngokuthe ngqo kwi-YAML. Zonke iinketho zoqwalaselo zidweliswe ngokuthe ngqo kule YAML kwiClickHouse configs, ethi ke isasazwe kulo lonke iqela.

Ungayibhala ngolu hlobo. Lo ngumzekelo. Igama lokugqithisa linokuguqulelwa ngokuntsonkothileyo. Ngokuqinisekileyo zonke iinketho zoqwalaselo zeClickHouse ziyaxhaswa. Nanku umzekelo nje.

Ubumbeko lweqela lisasazwe njengeConfigMap. Ngokwesiqhelo, uhlaziyo lweConfigMap alwenzeki ngoko nangoko, ke ukuba iqela likhulu, ke inkqubo yokutyhala uqwalaselo ithatha ixesha elithile. Kodwa konke oku kulula kakhulu ukuyisebenzisa.

Umsebenzisi kwi-Kubernetes yokulawula amaqela edathabheyisi. Vladislav Klimenko (Altinity, 2019)

Masiwuxakekise umsebenzi. Iqela liyaphuhla. Sifuna ukuphinda idatha. Oko kukuthi, sele sineeshadi ezimbini, enye ikopi nganye, kwaye abasebenzisi baqwalaselwe. Siyakhula kwaye sifuna ukwenza uphindaphindo.

Umsebenzisi kwi-Kubernetes yokulawula amaqela edathabheyisi. Vladislav Klimenko (Altinity, 2019)

Yintoni esiyifunayo xa siphindaphinda?

Sifuna iZooKeeper. KwiClickHouse, uphindaphindo lwakhiwe kusetyenziswa iZooKeeper. I-ZooKeeper iyadingeka ukuze ii-replicas ezahlukeneyo ze-ClickHouse zibe nemvumelwano malunga nokuba zeziphi iibhloko zedatha apho i-ClickHouse ikhona.

I-ZooKeeper inokusetyenziswa nguye nabani na. Ukuba ishishini lineZooKeeper yangaphandle, linokusetyenziswa. Ukuba akunjalo, ungayifaka kwindawo yethu yokugcina. Kukho i-installer eyenza le nto yonke ibe lula.

Umsebenzisi kwi-Kubernetes yokulawula amaqela edathabheyisi. Vladislav Klimenko (Altinity, 2019)

Kwaye isicwangciso sokusebenzisana kwayo yonke inkqubo sijika sinje. SineKubernetes njengeqonga. Iphumeza umsebenzisi weClickHouse. I-ZooKeeper ndiyifanise apha. Kwaye umqhubi unxibelelana kunye neClickHouse kunye neZooKeeper. Oko kukuthi, intsebenziswano ifunyenwe.

Kwaye konke oku kuyimfuneko kwiClickHouse ukuphindaphinda ngempumelelo idatha kwi-k8s.

Umsebenzisi kwi-Kubernetes yokulawula amaqela edathabheyisi. Vladislav Klimenko (Altinity, 2019)

Ngoku masijonge umsebenzi ngokwawo, ukuba iya kujongeka njani i-manifest yophindaphindo.

Songeza amacandelo amabini kwi-manifest yethu. Eyokuqala yindawo yokufumana iZooKeeper, enokuba ngaphakathi Kubernetes okanye ngaphandle. Le yinkcazo nje. Kwaye si-odola iikopi. Ezo. sifuna iikopi ezimbini. Lilonke, kufuneka sibe neepod ezi-4 kwimveliso. Sikhumbula malunga nokugcinwa, kuya kubuya emva kwexeshana. Ugcino libali elahlukileyo.

Umsebenzisi kwi-Kubernetes yokulawula amaqela edathabheyisi. Vladislav Klimenko (Altinity, 2019)

Kwakunje.

Umsebenzisi kwi-Kubernetes yokulawula amaqela edathabheyisi. Vladislav Klimenko (Altinity, 2019)

Ibanje. Iikopi zongezwa. Eye-4 ayizange ilingane, sikholelwa ukuba banokuba baninzi apho. Kwaye iZooKeeper yongezwa ecaleni. Izikimu ziya ziba nzima ngakumbi.

Umsebenzisi kwi-Kubernetes yokulawula amaqela edathabheyisi. Vladislav Klimenko (Altinity, 2019)

Kwaye lixesha lokongeza umsebenzi olandelayo. Siza kongeza uGcino oluZingisayo.

Umsebenzisi kwi-Kubernetes yokulawula amaqela edathabheyisi. Vladislav Klimenko (Altinity, 2019)KuGcino oluZingisayo sineendlela ezahlukeneyo zokukhetha.

Ukuba siqhuba kumboneleli wefu, umzekelo, usebenzisa i-Amazon, iGoogle, ngoko kukho isilingo esikhulu sokusebenzisa ukugcinwa kwamafu. Iluncedo kakhulu, ilungile.

Kwaye kukho inketho yesibini. Oku kukugcinwa kwendawo, xa sineediski zendawo kwindawo nganye. Olu khetho lunzima kakhulu ukuphumeza, kodwa kwangaxeshanye luvelisa ngakumbi.

Umsebenzisi kwi-Kubernetes yokulawula amaqela edathabheyisi. Vladislav Klimenko (Altinity, 2019)

Makhe sibone into esinayo malunga nokugcinwa kwelifu.

Kukho iingenelo. Kulula kakhulu ukuyiqwalasela. Simane si-odola kumboneleli welifu ukuba nceda asinike ugcino olunjalo kunye nomthamo onje, wodidi olunje nolunjalo. Iiklasi zicwangciswe ngababoneleli ngokuzimeleyo.

Kwaye kukho i-drawback. Kwabanye, le nto ayibalulekanga kangako. Ngokuqinisekileyo, kuya kubakho imiba yokusebenza. Kuyinto elula kakhulu ukuyisebenzisa kwaye inokwethenjelwa, kodwa kukho ezinye iingxaki ezinokuthi zenzeke.

Umsebenzisi kwi-Kubernetes yokulawula amaqela edathabheyisi. Vladislav Klimenko (Altinity, 2019)

Kwaye ngenxa yokuba I-ClickHouse igxile ngokukodwa kwimveliso, umntu usenokuthi icudisa yonke into enokuyenza, yiyo loo nto abathengi abaninzi bezama ukucudisa imveliso ephezulu.

Umsebenzisi kwi-Kubernetes yokulawula amaqela edathabheyisi. Vladislav Klimenko (Altinity, 2019)

Kwaye ukufumana okuninzi kuyo, sifuna indawo yokugcina indawo.

I-Kubernetes ibonelela ngeendlela ezintathu zokusebenzisa ugcino lwendawo eKubernetes. Oku:

  • EmptyDir
  • I-HostPath.
  • weNgingqi

Makhe sijonge ukuba zahluke njani kwaye zifana njani.

Okokuqala, kuzo zontathu iindlela sinogcino - ezi ziidiski zendawo ezibekwe kwindawo enye yek8s node. Kodwa kukho umahluko othile.

Umsebenzisi kwi-Kubernetes yokulawula amaqela edathabheyisi. Vladislav Klimenko (Altinity, 2019)

Masiqale ngeyona ilula, i.e. emptyDir. Yintoni le xa isenziwa? Kwiinkcukacha zethu, sicela inkqubo yokufaka isikhongozeli (ihlala iDocker) ukuba isinike ukufikelela kwifolda kwidiski yendawo.

Ukuziqhelanisa, iDocker yenza ifolda yethutyana kwindawo ethile ecaleni kwendlela yayo kwaye iyibize ngokuba yihashi ende. Kwaye ibonelela ngojongano lokufikelela kuyo.

Lo msebenzi uza kuwenza njani ngobulumko? Oku kuya kusebenza kwisantya sediski yendawo, okt. Oku kukufikelela ngokupheleleyo kwisikrufu sakho.

Kodwa le meko ine-drawback yayo. Ukuzingisa kuyathandabuzeka kulo mba. Ixesha lokuqala i-Docker ihamba kunye nezikhongozeli, i-Persistent ilahlekile. Ukuba uKubernetes ufuna ukuhambisa le Pod kwenye idiski ngesizathu esithile, idatha iya kulahleka.

Le ndlela ilungile kwiimvavanyo, kuba sele ibonisa isantya esiqhelekileyo, kodwa into enzulu olu khetho alufanelekanga.

Umsebenzisi kwi-Kubernetes yokulawula amaqela edathabheyisi. Vladislav Klimenko (Altinity, 2019)

Ngoko ke kukho indlela yesibini. Le yi-hostPath. Ukuba ujonga kwisilayidi sangaphambili kunye nesi, unokubona umahluko omnye kuphela. Ifolda yethu yasuka kwiDocker ngokuthe ngqo kwindawo yeKubernetes. Ilula kancinci apha. Sicacisa ngokuthe ngqo umendo kwindlela yefayile yendawo apho singathanda ukugcina idatha yethu.

Le ndlela ineengenelo. Oku sele kuyinyani eZingisayo, kunye neklasikhi apho. Siya kuba nedatha erekhodiweyo kwidiski kwenye idilesi.

Kukwakho nezinto ezingeloncedo. Oku kuyinkimbinkimbi yolawulo. I-Kubernetes yethu inokufuna ukuhambisa iPod kwenye indawo ebonakalayo. Kwaye kulapho i-DevOps ingena khona. Kufuneka achaze ngokuchanekileyo inkqubo yonke ukuba ezi pods zinokushenxiswa kuphela kwezo ndawo unento exhonywe kuzo ezi ndlela, kwaye akukho nodi enye ngexesha. Kunzima ngokwaneleyo.

Ngokukodwa kwezi njongo, senze iitemplates kumqhubi wethu ukuze sifihle konke oku bunzima. Kwaye unokuthi: "Ndifuna ukuba nomzekelo omnye weClickHouse kwindawo nganye ebonakalayo kunye nendlela enjalo."

Umsebenzisi kwi-Kubernetes yokulawula amaqela edathabheyisi. Vladislav Klimenko (Altinity, 2019)

Kodwa akuthina kuphela abafuna le mfuno, ngoko ke amadoda avela ku-Kubernetes ngokwawo ayaqonda ukuba abantu bafuna ukufikelela kwiidiski zomzimba, ngoko ke banikezela ngoluhlu lwesithathu.

Ibizwa ngokuba yasekhaya. Akukho mahluko ngokwenyani kwisilayidi sangaphambili. Kuphela ngaphambi kokuba kube yimfuneko ukuba kuqinisekiswe ngesandla ukuba asikwazi ukudlulisa ezi pods ukusuka kwi-node ukuya kwi-node, kuba kufuneka zifakwe kwindlela ethile kwidiski yendawo yendawo, kodwa ngoku lonke olu lwazi lufakwe kwi-Kubernetes ngokwayo. Kwaye kubonakala kulula kakhulu ukuyiqwalasela.

Umsebenzisi kwi-Kubernetes yokulawula amaqela edathabheyisi. Vladislav Klimenko (Altinity, 2019)

Masibuyele kwingxaki yethu ebonakalayo. Masibuyele kwitemplate yeYAML. Apha sinogcino lwangempela. Sibuyele kuyo. Siseta ithemplate yeVolumeClaim yakudala njengakwik8s. Kwaye sichaza uhlobo logcino esilufunayo.

Emva koku, iik8s ziyakucela ugcino. Izakusabela yona kwi-StatefulSet. Kwaye ekugqibeleni iya kuba kwindawo yeClickHouse.

Umsebenzisi kwi-Kubernetes yokulawula amaqela edathabheyisi. Vladislav Klimenko (Altinity, 2019)

Sasinalo olu cwangciso. UGcino lwethu oluZingisayo lwalubomvu, nto leyo ebonakala ngathi ifuna ukwenziwa.

Umsebenzisi kwi-Kubernetes yokulawula amaqela edathabheyisi. Vladislav Klimenko (Altinity, 2019)

Kwaye ijika ibe luhlaza. Ngoku iClickHouse kwiskimu seqela le-k8s igqitywe ngokupheleleyo. Sine-shards, i-replicas, i-ZooKeeper, sine-Persistent yangempela, ephunyezwa ngendlela enye okanye enye. Iskimu sele sisebenza ngokupheleleyo.

Umsebenzisi kwi-Kubernetes yokulawula amaqela edathabheyisi. Vladislav Klimenko (Altinity, 2019)

Siyaqhubeka siphila. Iqela lethu liyaphuhla. Kwaye u-Alexey uyazama, kwaye ukhupha inguqulelo entsha yeClickHouse.

Kuvela umsebenzi osebenzayo - ukuvavanya inguqulelo entsha yeClickHouse kwiqela lethu. Kwaye, ngokwendalo, awufuni ukuyikhupha yonke; ufuna ukubeka inguqulelo entsha kwikopi enye kwenye indawo kwikona ekude, kwaye mhlawumbi hayi enye inguqulelo entsha, kodwa ezimbini ngaxeshanye, kuba ziphuma rhoqo.

Sinokuthini ngale nto?

Umsebenzisi kwi-Kubernetes yokulawula amaqela edathabheyisi. Vladislav Klimenko (Altinity, 2019)

Apha sinethuba elinjalo. Ezi zizifanekiso zepod. Ungabhala ukuba umqhubi wethu ukuvumela ngokupheleleyo ukuba wakhe i-heterogeneous cluster. Ezo. qwalasela, ukuqala kuzo zonke iikopi zeqela, eziphela ngomfanekiso ngamnye wobuqu, loluphi uguqulelo esilufunayo lweClickHouse, loluphi uguqulelo esilufunayo ukugcinwa. Sinokuyiqwalasela ngokupheleleyo i-cluster kunye noqwalaselo esiludingayo.

Umsebenzisi kwi-Kubernetes yokulawula amaqela edathabheyisi. Vladislav Klimenko (Altinity, 2019)

Masingene nzulu ngaphakathi kancinci. Ngaphambi koko, sathetha malunga nendlela iClickHouse-opharetha esebenza ngayo ngokubhekiselele kwizinto ezicacileyo zeClickHouse.

Ngoku ndingathanda ukuthetha amagama ambalwa malunga nokuba nawuphi na umqhubi usebenza ngokubanzi, kunye nendlela adibana ngayo nee-K8s.

Umsebenzisi kwi-Kubernetes yokulawula amaqela edathabheyisi. Vladislav Klimenko (Altinity, 2019)

Makhe sijonge ukunxibelelana nee-K8s kuqala. Kwenzeka ntoni xa sifaka isicelo se-kubectl? Izinto zethu zivela kwi etcd nge-API.

Umsebenzisi kwi-Kubernetes yokulawula amaqela edathabheyisi. Vladislav Klimenko (Altinity, 2019)

Umzekelo, izinto ezisisiseko zeKubernetes: pod, StatefulSet, inkonzo, njalo njalo kuluhlu.

Kwangaxeshanye, akukho nto yenzekayo ngokwasemzimbeni. Ezi zinto kufuneka zenziwe kwi-cluster.

Umsebenzisi kwi-Kubernetes yokulawula amaqela edathabheyisi. Vladislav Klimenko (Altinity, 2019)

Ngenxa yale njongo, umlawuli ubonakala. Umlawuli licandelo elikhethekileyo le-k8s elinokwenza ezi nkcazo. Uyayazi indlela kunye nento amakayenze ngokwasemzimbeni. Uyayazi indlela yokuqhuba izikhongozeli, yintoni ekufuneka iqwalaselwe apho ukuze umncedisi asebenze.

Umsebenzisi kwi-Kubernetes yokulawula amaqela edathabheyisi. Vladislav Klimenko (Altinity, 2019)

Kwaye yenza izinto zethu zibe ngathi ze K8s.

Kodwa sifuna ukusebenza kungekuphela nje ngeepods kunye ne-StatefulSets, sifuna ukwenza iClickHouseInstallation, oko kukuthi into yohlobo lweClickHouse, ukuze sisebenze kunye nayo yonke into. Ukuza kuthi ga ngoku akukho nto injalo.

Umsebenzisi kwi-Kubernetes yokulawula amaqela edathabheyisi. Vladislav Klimenko (Altinity, 2019)

Kodwa ii-K8s zinento entle ilandelayo. Sifuna ukuba sibe nendawo efana nale nto inzima apho iqela lethu liza kudityaniswa ukusuka kwii-pods kunye ne-StatefulSet.

Umsebenzisi kwi-Kubernetes yokulawula amaqela edathabheyisi. Vladislav Klimenko (Altinity, 2019)

Kwaye kufuneka kwenziwe ntoni kule nto? Okokuqala, iNgcaciso yeSibonelelo sesiNtu iza emfanekisweni. Yintoni? Le yinkcazo ye-K8s, ukuba uya kuba nolunye uhlobo lwedatha ngakumbi, esifuna ukongeza isibonelelo sesiqhelo kwi-pod, StatefulSet, eya kuba nzima ngaphakathi. Le yinkcazo yesakhiwo sedatha.

Umsebenzisi kwi-Kubernetes yokulawula amaqela edathabheyisi. Vladislav Klimenko (Altinity, 2019)

Siphinde siyithumele apho nge kubectl application. UKubernetes wayithabatha ngovuyo.

Kwaye ngoku kwisitoreji sethu, into e-etcd inethuba lokurekhoda isixhobo esiqhelekileyo esibizwa ngokuba yiClickHouseInstallation.

Kodwa okwangoku akusekho nto iza kwenzeka. Oko kukuthi, ukuba ngoku senza ifayile ye-YAML ebesiyijongile ichaza iishards kunye neereplicas kwaye sithi "kubectl apply," emva koko uKubernetes uya kuyamkela, ayibeke etcd kwaye athi: "Kulungile, kodwa andazi ukuba ndenze ntoni. nayo. Andazi ukuba ungayigcina njani iClickHouseInstalation. ”

Umsebenzisi kwi-Kubernetes yokulawula amaqela edathabheyisi. Vladislav Klimenko (Altinity, 2019)

Ngokufanelekileyo, sifuna umntu oza kunceda uKubernetes akhonze uhlobo olutsha lwedatha. Ekhohlo sinomlawuli waseKubernetes osebenza neentlobo zedata zomthonyama. Kwaye ngasekunene kufuneka sibe nomlawuli wesiko onokusebenza kunye neentlobo zedatha yesiko.

Kwaye ngenye indlela ibizwa ngokuba ngumqhubi. Ndiyifake ngokukodwa apha njengeKubernetes, kuba inokuphunyezwa ngaphandle kwe-K8s. Amaxesha amaninzi, ngokuqinisekileyo, bonke abaqhubi babulawa kwi-Kubernetes, kodwa akukho nto ithintela ukuba ime ngaphandle, ngoko ke ikhutshwe ngokukodwa ngaphandle.

Umsebenzisi kwi-Kubernetes yokulawula amaqela edathabheyisi. Vladislav Klimenko (Altinity, 2019)

Kwaye ngokulandelayo, umlawuli wesiko, owaziwa ngokuba ngumqhubi, unxibelelana noKubernetes nge-API. Sele iyazi indlela yokusebenzisana ne-API. Kwaye sele eyazi indlela yokwenza isekethe entsonkothileyo esifuna ukuyenza kwisixhobo esiqhelekileyo. Yiloo nto kanye eyenziwa ngumqhubi.

Umsebenzisi kwi-Kubernetes yokulawula amaqela edathabheyisi. Vladislav Klimenko (Altinity, 2019)

Usebenza njani umsebenzi? Makhe sijonge kwicala elifanelekileyo ukuze sibone ukuba wenza njani. Masifumanise ukuba umqhubi uzenza njani zonke ezi zinto kunye nokuba kuqhubeka njani unxibelelwano nee-K8s.

Umsebenzisi kwi-Kubernetes yokulawula amaqela edathabheyisi. Vladislav Klimenko (Altinity, 2019)

Umsebenzisi yinkqubo. Ujolise kwisiganeko. Umsebenzisi ubhalisa kwimicimbi esebenzisa iKubernetes API. I-Kubernetes API ineendawo zokungena apho ungabhalisa kwiziganeko. Kwaye ukuba kukho into eguqukayo kwi-K8s, ngoko i-Kubernetes ithumela iziganeko kuwo wonke umntu, oko kukuthi. nabani na obhalise kweli nqaku le-API uya kufumana izaziso.

Umsebenzisi urhuma kwiziganeko kwaye kufuneka enze uhlobo oluthile lokusabela. Umsebenzi wayo kukusabela kwiziganeko ezivelayo.

Umsebenzisi kwi-Kubernetes yokulawula amaqela edathabheyisi. Vladislav Klimenko (Altinity, 2019)

Iziganeko zenziwa luhlaziyo oluthile. Ifayile yethu ye-YAML enenkcazo yeClickHouseInstallation iyafika. Uye kwi etcd nge kubectl apply. Isiganeko saqala apho, kwaye ngenxa yoko lo mcimbi weza kwiClickHouse-operator. Umsebenzisi ufumene le nkcazo. Kwaye kufuneka enze into. Ukuba uhlaziyo lufikile kwinto yeClickHouseInstallation, ngoko kufuneka uhlaziye iqela. Kwaye umsebenzi womqhubi kukuhlaziya iqela.

Umsebenzisi kwi-Kubernetes yokulawula amaqela edathabheyisi. Vladislav Klimenko (Altinity, 2019)

Inga wenzantoni? Okokuqala, kufuneka senze isicwangciso sento esiza kuyenza ngolu hlaziyo. Uhlaziyo lunokuba luncinci kakhulu, okt. incinci kuphumezo lwe-YAML, kodwa inokubandakanya utshintsho olukhulu kakhulu kwiqela. Ngoko ke, umqhubi wenza isicwangciso, aze abambelele kuyo.

Umsebenzisi kwi-Kubernetes yokulawula amaqela edathabheyisi. Vladislav Klimenko (Altinity, 2019)

Ngokwalo cwangciso, uqala ukupheka esi sakhiwo ngaphakathi ukuze enze iipod, iinkonzo, oko kukuthi. enze owona msebenzi wakhe uphambili. Le yindlela yokwakha iqela leClickHouse eKubernetes.

Umsebenzisi kwi-Kubernetes yokulawula amaqela edathabheyisi. Vladislav Klimenko (Altinity, 2019)

Ngoku makhe sichukumise into enjalo enika umdla. Oku kukwahlula uxanduva phakathi kukaKubernetes kunye nomsebenzisi, okt. into eyenziwa nguKubernetes, into eyenziwa ngumqhubi, kunye nendlela abasebenzisana ngayo.

I-Kubernetes inoxanduva lwezinto zenkqubo, okt. kwiseti esisiseko yezinto ezinokutolikwa njengobubanzi benkqubo. U-Kubernetes uyayazi indlela yokuqalisa ii-pods, ukuqalisa kwakhona izikhongozeli, ukunyusa umthamo, indlela yokusebenza nge-ConfigMap, okt. yonke into enokuthiwa yinkqubo.

Abaqhubi basebenza kwiindawo. Umsebenzisi ngamnye wenzelwe indawo yakhe yomxholo. Siyenzele iClickHouse.

Kwaye umqhubi usebenzisana ngokuchanekileyo ngokwemiqathango yommandla wesifundo, njengokongeza i-replica, ukwenza umzobo, ukubeka iliso. Oku kubangela iyantlukwano.

Umsebenzisi kwi-Kubernetes yokulawula amaqela edathabheyisi. Vladislav Klimenko (Altinity, 2019)

Makhe sijonge kumzekelo osebenzayo wendlela olu lwahlulo loxanduva lwenzeka ngayo xa sisenza ufaniso lokudibanisa.

Umsebenzisi ufumana umsebenzi - ukongeza ikopi. Wenza ntoni umqhubi? Umsebenzisi uya kubala ukuba kuyimfuneko ukwenza i-StatefulSet entsha, apho kuyimfuneko ukuchaza i-templates ezinjalo kunye nezinjalo, ibango levolumu.

Umsebenzisi kwi-Kubernetes yokulawula amaqela edathabheyisi. Vladislav Klimenko (Altinity, 2019)

Wayilungisa yonke wayigqithisela kwii-K8s. Uthi ufuna ConfigMap, StatefulSet, Volume. UKubernetes uyasebenza. Uzambathisa iiyunithi ezisisiseko asebenza ngazo.

Umsebenzisi kwi-Kubernetes yokulawula amaqela edathabheyisi. Vladislav Klimenko (Altinity, 2019)

Kwaye ke ClickHouse-opharetha iza kudlala kwakhona. Sele enepod yokwenyama anokwenza kuyo into ethile. Kwaye iClickHouse-opharetha kwakhona isebenza ngokwemigaqo yesizinda. Ezo. Ngokukodwa i-ClickHouse, ukuze ubandakanye i-replica kwi-cluster, kufuneka, kuqala, ulungiselele i-schema yedatha ekhoyo kweli qela. Kwaye, okwesibini, le replica kufuneka ibandakanywe ekubekweni esweni ukuze kube nokulandelelwa ngokucacileyo. Umsebenzisi sele eyiqwalasele le nto.

Umsebenzisi kwi-Kubernetes yokulawula amaqela edathabheyisi. Vladislav Klimenko (Altinity, 2019)

Kwaye kuphela emva kokuba i-ClickHouse ngokwayo iza kudlala, okt. elinye iziko elikumgangatho ophezulu. Le sele iyisiseko sedatha. Inomzekelo wayo, enye ikopi emiselweyo elungele ukujoyina iqela.

Kuyavela ukuba ikhonkco lokwenziwa kunye nokwahlulahlula uxanduva xa udibanisa umfanekiso lude kakhulu.

Umsebenzisi kwi-Kubernetes yokulawula amaqela edathabheyisi. Vladislav Klimenko (Altinity, 2019)

Siyaqhubeka nemisebenzi yethu ebonakalayo. Ukuba sele uneqela, ungafudusa uqwalaselo.

Umsebenzisi kwi-Kubernetes yokulawula amaqela edathabheyisi. Vladislav Klimenko (Altinity, 2019)

Senze ukuba ukwazi ukuncamathela ngqo kwi-xml ekhoyo, eqondwa yiClickHouse.

Umsebenzisi kwi-Kubernetes yokulawula amaqela edathabheyisi. Vladislav Klimenko (Altinity, 2019)

Ungayilungisa kakuhle iClickHouse. Ukusasazwa kwendawo nje yinto endithethe ngayo xa ndichaza i-hostPath, ukugcinwa kwendawo. Le yindlela yokwenza ukusasazwa kwendawo ngokuchanekileyo.

Umsebenzisi kwi-Kubernetes yokulawula amaqela edathabheyisi. Vladislav Klimenko (Altinity, 2019)

Umsebenzi olandelayo osebenzayo kukubeka iliso.

Umsebenzisi kwi-Kubernetes yokulawula amaqela edathabheyisi. Vladislav Klimenko (Altinity, 2019)

Ukuba iqela lethu liyatshintsha, ngoko ke kufuneka silungiselele ukubeka iliso ngamaxesha athile.

Makhe sijonge umzobo. Sele sijonge kwiintolo eziluhlaza apha. Ngoku makhe sijonge iintolo ezibomvu. Le yindlela esifuna ukujonga ngayo iqela lethu. Iimetrics ezivela kwiClickHouse cluster zingena njani kwiPrometheus, emva koko ziye eGrafana.

Umsebenzisi kwi-Kubernetes yokulawula amaqela edathabheyisi. Vladislav Klimenko (Altinity, 2019)

Yintoni ingxaki ngokubeka iliso? Kutheni oku kuchazwa njengohlobo oluthile lokuphumelela? Ubunzima bukwi-dynamics. Xa sineqela elinye kwaye limile, sinokuseta ukubeka iliso kube kanye kwaye singaphindi sizikhathaze.

Kodwa ukuba sinamaqela amaninzi, okanye kukho into ehlala iguquka, ngoko inkqubo inamandla. Kwaye uqwalaselo rhoqo yinkcitho yemithombo kunye nexesha; nokonqena nje. Oku kufuneka kuzenzekele. Ubunzima buxhomekeke kutshintsho lwenkqubo. Kwaye umqhubi wenza oku ngokufanelekileyo.

Umsebenzisi kwi-Kubernetes yokulawula amaqela edathabheyisi. Vladislav Klimenko (Altinity, 2019)

Iqela lethu lakhula njani? Ekuqaleni wayenjalo.

Umsebenzisi kwi-Kubernetes yokulawula amaqela edathabheyisi. Vladislav Klimenko (Altinity, 2019)

Emva koko wabanje.

Umsebenzisi kwi-Kubernetes yokulawula amaqela edathabheyisi. Vladislav Klimenko (Altinity, 2019)

Ekugqibeleni, wabanje.

Kwaye ukubeka esweni kwenziwa ngokuzenzekelayo ngumsebenzisi. Indawo enye yokungena.

Umsebenzisi kwi-Kubernetes yokulawula amaqela edathabheyisi. Vladislav Klimenko (Altinity, 2019)

Kwaye xa siphuma sijonga kwideshibhodi yaseGrafana ukubona ukuba ubomi beqela lethu buyabila njani ngaphakathi.

Ngendlela, ideshibhodi yeGrafana isasazwa kunye nomsebenzi wethu ngokuthe ngqo kwikhowudi yomthombo. Ungaqhagamshela kwaye usebenzise. I-DevOps yethu indinike le skrini.

Umsebenzisi kwi-Kubernetes yokulawula amaqela edathabheyisi. Vladislav Klimenko (Altinity, 2019)

Singathanda ukuya phi ngokulandelayo? Oku:

  • Phuhlisa uvavanyo oluzenzekelayo. Umsebenzi ophambili kuvavanyo oluzenzekelayo lweenguqulelo ezintsha.
  • Sifuna ngokwenene ukwenza udibaniso kunye neZooKeeper. Kwaye kukho izicwangciso zokudibanisa ne-ZooKeeper-operator. Ezo. Umsebenzisi ubhalelwe i-ZooKeeper kwaye kusengqiqweni ukuba aba baqhubi babini baqale ukudibanisa ukwakha isisombululo esiluncedo ngakumbi.
  • Sifuna ukwenza imiqondiso ebalulekileyo entsonkothileyo.
  • Ndigxininise ngohlaza ukuba sisondela kwilifa leTemplates - SENZE, oko kukuthi ngokukhululwa okulandelayo komsebenzisi siya kuba sinelifa leetemplates. Esi sisixhobo esinamandla esikuvumela ukuba wakhe uqwalaselo oluntsonkothileyo ukusuka kumaqhekeza.
  • Kwaye sifuna i-automation yemisebenzi enzima. Owona uphambili kukwabiwa kwakhona.

Umsebenzisi kwi-Kubernetes yokulawula amaqela edathabheyisi. Vladislav Klimenko (Altinity, 2019)

Makhe sithathe iziphumo eziphakathi.

Umsebenzisi kwi-Kubernetes yokulawula amaqela edathabheyisi. Vladislav Klimenko (Altinity, 2019)

Yintoni esiyifumanayo ngenxa yoko? Kwaye ngaba kufanelekile okanye akunjalo? Ngaba kuyimfuneko ukuzama ukutsala i-database kwi-Kubernetes kwaye usebenzise umqhubi ngokubanzi kunye nomsebenzisi we-Alitnity ngokukodwa?

Kwimveliso sifumana:

  • Ukwenziwa lula okubalulekileyo kunye nokuzenzekelayo kolungelelwaniso, ukusasazwa kunye nokugcinwa.
  • Ukubeka iliso okwakhelwe ngaphakathi kwangoko.
  • Kwaye ukulungele-ukusetyenziswa iitemplates ezinekhowudi kwiimeko ezinzima. Isenzo esifana nokongeza ikopi akufuneki senziwe ngesandla. Umsebenzisi uyakwenza oku.

Umsebenzisi kwi-Kubernetes yokulawula amaqela edathabheyisi. Vladislav Klimenko (Altinity, 2019)

Mnye kuphela umbuzo wokugqibela oseleyo. Sele sinayo i-database kwi-Kubernetes, i-virtualization. Kuthekani ngokusebenza kwesisombululo esinjalo, ngakumbi ekubeni i-ClickHouse ilungiselelwe ukusebenza?

Impendulo kukuba yonke into ilungile! Andizukungena kwiinkcukacha; esi sisihloko sengxelo eyahlukileyo.

Umsebenzisi kwi-Kubernetes yokulawula amaqela edathabheyisi. Vladislav Klimenko (Altinity, 2019)

Kodwa kukho iprojekthi efana ne-TSBS. Yintoni eyona msebenzi wayo? Olu luvavanyo lokusebenza lwesiseko sedatha. Eli linge lokuthelekisa ukufudumala nokufudumala, okuthambileyo nokuthambileyo.

Usebenza njani? Iseti yedatha enye iyenziwa. Emva koko le seti yedatha iqhutywa kwiinkcukacha ezahlukeneyo kusetyenziswa isethi efanayo yovavanyo. Kwaye nganye i-database isombulula ingxaki enye ngendlela eyazi ngayo. Kwaye ke unokuthelekisa iziphumo.

Sele ixhasa iqela elikhulu logcino-lwazi. Ndichonge ezintathu eziphambili. Oku:

  • I-TimescaleDB.
  • I-InfluxDB.
  • indawo yokucofa.

Umsebenzisi kwi-Kubernetes yokulawula amaqela edathabheyisi. Vladislav Klimenko (Altinity, 2019)

Uthelekiso lwenziwa nesinye isisombululo esifanayo. Ukuthelekisa kunye neRedShift. Uthelekiso lwenziwe kwiAmazon. I-ClickHouse nayo iphambi kwakhe wonke umntu kulo mbandela.

Umsebenzisi kwi-Kubernetes yokulawula amaqela edathabheyisi. Vladislav Klimenko (Altinity, 2019)

Zeziphi izigqibo ezinokufikelelwa koko ndikuthethileyo?

  • I-DB kwi-Kubernetes inokwenzeka. Mhlawumbi nayiphi na into enokwenzeka, kodwa ngokubanzi kubonakala ngathi kuyenzeka. I-ClickHouse e-Kubernetes inokwenzeka ngokuqinisekileyo ngoncedo lomqhubi wethu.
  • Umsebenzisi unceda iinkqubo ezizenzekelayo kwaye ngokwenene wenza ubomi bube lula.
  • Ukusebenza kuqhelekile.
  • Kwaye kubonakala ngathi le nto inokusetyenziswa kwaye kufuneka isetyenziswe.

Umthombo ovulekileyo - sijoyine!

Njengoko besenditshilo, umqhubi yimveliso yomthombo ovuleleke ngokupheleleyo, ngoko kuya kuba kuhle kakhulu ukuba inani eliphezulu labantu liyisebenzisile. Dibana nathi! Silinde nina nonke!

Enkosi kubo bonke!

Imibuzo yakho

Umsebenzisi kwi-Kubernetes yokulawula amaqela edathabheyisi. Vladislav Klimenko (Altinity, 2019)

Enkosi ngengxelo! Igama lam ndinguAnton. Ndisuka kwaSEMrush. Ndiyazibuza ukuba kuqhubeka ntoni ngokugawulwa kwemithi. Siva malunga nokubeka iliso, kodwa akukho nto malunga nokugawulwa kwemithi, ukuba sithetha malunga neqela lonke. Ngokomzekelo, siye saphakamisa iqela kwi-hardware. Kwaye sisebenzisa ukugawulwa okuphakathi, ukuwaqokelela kwimfumba eqhelekileyo sisebenzisa iindlela eziqhelekileyo. Kwaye ke ukusuka apho sifumana idatha enomdla kuthi.

Umbuzo olungileyo, oko kukuthi ukungena kuluhlu lwe-todo. Umsebenzisi wethu akayenzi le nto okwangoku. Isaphuhla, iprojekthi isencinci kakhulu. Siyayiqonda imfuneko yokugawulwa kwemithi. Oku kukwangumxholo obaluleke kakhulu. Kwaye mhlawumbi ayibalulekanga ngaphantsi kunokubeka iliso. Kodwa okokuqala kuluhlu lokuphunyezwa yayikukubeka iliso. Kuya kugawulwa. Ngokwemvelo, sizama ukwenza ngokuzenzekelayo zonke iinkalo zobomi beqela. Ngoko ke, impendulo kukuba okwangoku umqhubi, ngelishwa, akakwazi ukwenza oku, kodwa kwizicwangciso, siya kuyenza. Ukuba ufuna ukujoyina, ngoko tsala isicelo, nceda.

Mholo! Enkosi ngengxelo! Ndinombuzo osemgangathweni onxulumene neMiqulu eZingisayo. Xa sisenza uqwalaselo nalo mqhubi, ufumanisa njani ukuba yeyiphi indawo esinayo idiski ethile okanye ifolda encanyathiselwe? Kufuneka siqale simcacisele ukuba nceda ubeke iClickHouse yethu kwezi ndawo zinediski?

Njengoko ndiqonda, lo mbuzo kukuqhubekeka kokugcinwa kwendawo, ngakumbi i-hostPath inxalenye yayo. Oku kufana nokuchazela inkqubo yonke ukuba i-pod kufuneka iqaliswe kwi-node enjalo kunye nenjalo, apho sinedisk edityaniswe ngokwasemzimbeni, exhonywe kwindlela enjalo kunye nendlela. Eli licandelo elipheleleyo endilichukumisile kakhulu kuba impendulo ikhona inkulu.

Ngokufutshane, ikhangeleka ngolu hlobo. Ngokwemvelo, kufuneka silungiselele le miqulu. Okwangoku, akukho lungiselelo eliguquguqukayo kwindawo yokugcina indawo, ngoko ke i-DevOps kufuneka isike iidiski ngokwazo, le miqulu. Kwaye kufuneka bachaze unikezelo lwe-Kubernetes ukuba uya kuba nemiqulu eZingisayo yodidi olunje kunye nolunjalo, olubekwe kwiindawo ezinjalo nezinje. Emva koko kuya kufuneka uchaze ku-Kubernetes ukuba ii-pods ezifuna iklasi kunye neklasi yokugcina yendawo kufuneka iqondiswe kuphela kwiindawo ezinjalo kunye nezo zisebenzisa iilebhile. Ngezi njongo, umqhubi uyakwazi ukwabela uhlobo oluthile lweleyibhile kunye nomzekelo omnye ngomamkeli. Kwaye kuvela ukuba ii-pods ziya kuhanjiswa ngu-Kubernetes ukuba ziqhube kuphela kwiinqununu ezihlangabezana neemfuno, iilebula, ngamagama alula. Abalawuli babela iilebhile kunye neediski zokubonelela ngesandla. Kwaye ke iyakala.

Kwaye lukhetho lwesithathu, lwasekhaya, olunceda ukwenza oku kube lula. Njengoko sele ndigxininisile, lo ngumsebenzi onzima wokulungisa, othi ekugqibeleni uncede ufumane ukusebenza okuphezulu.

Ndinombuzo wesibini onxulumene nale. I-Kubernetes yenzelwe ngendlela yokuba ayinandaba nathi ukuba silahlekelwa yi-node okanye hayi. Yintoni esimele siyenze kule meko ukuba siphulukene ne-node apho i-shard yethu ijinga khona?

Ewe, i-Kubernetes ekuqaleni yayibekwe ukuba ubudlelwane bethu kunye neepods zethu bufana neenkomo, kodwa apha nathi idiski nganye iba yinto efana nesilwanyana. Kukho ingxaki enjalo ukuba asinakusuka nje sizilahle. Kwaye uphuhliso lwe-Kubernetes luhamba ngendlela engenakwenzeka ukuyiphatha ngokupheleleyo ngefilosofi, njengokungathi ngumthombo olahlwe ngokupheleleyo.

Ngoku kumbuzo osebenzayo. Yintoni omawuyenze ukuba ulahlekelwe yindawo apho idiski ibikuyo? Apha ingxaki isonjululwa kwinqanaba eliphezulu. Kwimeko yeClickHouse, sineekopi ezisebenza kwinqanaba eliphezulu, oko kukuthi. kwinqanaba leClickHouse.

Uba yintoni umphumo woko? I-DevOps inoxanduva lokuqinisekisa ukuba idatha ayilahlekanga. Kufuneka amisele ukuphindaphinda ngokuchanekileyo kwaye kufuneka aqinisekise ukuba ukuphindaphinda kuyasebenza. I-replica kwinqanaba le-ClickHouse kufuneka libe nedatha ephindwe kabini. Lo ayingomsebenzi osombululwa ngumsebenzisi. Kwaye ayisiyiyo ingxaki esonjululwa nguKubernetes ngokwayo. Oku kukwinqanaba leClickHouse.

Yintoni omele uyenze ukuba i-iron node yakho iyawa? Kwaye kuvela ukuba kuya kufuneka ufake enye yesibini, unikeze ngokufanelekileyo idiski kuyo, kwaye usebenzise iilebhile. Kwaye emva koko, iyakwanelisa iimfuno ukuba i-Kubernetes kuyo inokuqhuba umzekelo we-pod. I-Kubernetes iza kuyisungula. Inani lakho leepod alanele ukuhlangabezana nenani elichaziweyo. Iza kudlula kumjikelo endiwubonisileyo. Kwaye kwinqanaba eliphezulu, i-ClickHouse iya kuqonda ukuba sine-replica efakiweyo, isengenanto kwaye kufuneka siqale ukudlulisa idatha kuyo. Ezo. Le nkqubo ayikazenzekeli kakuhle.

Enkosi ngengxelo! Xa zonke iintlobo zezinto ezimbi zisenzeka, umqhubi uyantlitheka kwaye aphinde aqale, kwaye ngelo xesha iziganeko ziyafika, ngaba uyayiphatha le nto?

Kwenzeka ntoni ukuba umqhubi uye watshayisa waza waphinda waqalisa, akunjalo?

Ewe. Kwaye ngelo xesha iziganeko zafika.

Umsebenzi wento yokwenza kule meko yahlulwe ngokuyinxenye phakathi komqhubi kunye noKubernetes. I-Kubernetes inamandla okudlala kwakhona isiganeko esenzekayo. Uyadlala kwakhona. Kwaye umsebenzi womqhubi kukuqinisekisa ukuba xa ilog yesiganeko iphinda idlalwa kuyo, ezi ziganeko azikho nto. Kwaye ukuze ukwenzeka okuphindaphindiweyo kwesiganeko esifanayo kungayiphuli inkqubo yethu. Kwaye umqhubi wethu uyahlangabezana nalo msebenzi.

Mholo! Enkosi ngengxelo! NguDmitry Zavyalov, inkampani Smedova. Ngaba kukho izicwangciso zokongeza ukukwazi ukuqwalasela kunye ne-haproxy kumqhubi? Ndingathanda ukuba nomdla kwenye ibhalansi ngaphandle komgangatho, ukuze ilumke kwaye iqonde ukuba iClickHouse ikhona ngenene.

Uthetha nge Ingress?

Ewe, buyisela i-Ingress nge-haproxy. Kwi-haproxy ungakhankanya itopology yeqela apho ineekopi.

Asikacingi ngayo okwangoku. Ukuba uyayidinga kwaye unokuchaza ukuba kutheni ifuneka, ngoko kuya kwenzeka ukuba uyiphumeze, ngakumbi ukuba ufuna ukuthatha inxaxheba. Siya kukuvuyela ukuqwalasela ukhetho. Impendulo emfutshane nguhayi, okwangoku asinalo umsebenzi onjalo. Enkosi ngengcebiso, siza kuwujonga lo mba. Kwaye ukuba uchaza imeko yokusetyenziswa kwaye kutheni ifuneka ekusebenzeni, umzekelo, yenza imiba kwi-GitHub, oko kuya kuba kuhle.

Sele ikhona.

Kulungile. Sivuleleke kuzo naziphi na iingcebiso. Kwaye i-haproxy yongezwa kuluhlu lwe-todo. Uluhlu lwe-todo luyakhula, alunciphi okwangoku. Kodwa oku kulungile, kuthetha ukuba imveliso ifunwa.

umthombo: www.habr.com

Yongeza izimvo