I-opharetha ku-Kubernetes yokuphatha amaqoqo esizindalwazi. Vladislav Klimenko (Altinity, 2019)

I-opharetha ku-Kubernetes yokuphatha amaqoqo esizindalwazi. Vladislav Klimenko (Altinity, 2019)

Umbiko unikezelwe ezindabeni ezingokoqobo zokuthuthukisa isisebenzisi e-Kubernetes, ukuklama izakhiwo zayo kanye nezimiso zokusebenza eziyisisekelo.

Engxenyeni yokuqala yombiko sizocubungula:

  • uyini u-opharetha e-Kubernetes futhi kungani idingeka;
  • ukuthi ngempela u-opharetha wenza lula ukuphathwa kwezinhlelo eziyinkimbinkimbi;
  • lokho u-opharetha angakwenza nangakwazi.

Okulandelayo, asiqhubekele ekuxoxeni ngesakhiwo sangaphakathi sesisebenzisi. Ake sibheke ukwakheka nokusebenza komsebenzisi isinyathelo ngesinyathelo. Ake sikubheke ngokuningiliziwe:

  • ukusebenzisana phakathi komsebenzisi kanye ne-Kubernetes;
  • imiphi imisebenzi eyenziwa u-opharetha nokuthi yimiphi imisebenzi eyithumela ku-Kubernetes.

Ake sibheke ukuphatha ama-shards kanye ne-database replicas ku-Kubernetes.
Okulandelayo, sizoxoxa ngezinkinga zokugcinwa kwedatha:

  • indlela yokusebenza NgeSitoreji Esiqhubekayo ngokombono womsebenzisi;
  • izingibe zokusebenzisa Isitoreji Sendawo.

Engxenyeni yokugcina yombiko, sizocubungula izibonelo ezisebenzayo zokusebenzisa i-clickhouse-opharetha kusuka ku-Amazon noma ku-Google Cloud Service. Umbiko usekelwe esibonelweni sokuthuthukiswa nolwazi lokusebenza komsebenzisi we-ClickHouse.

Ividiyo:

Igama lami nginguVladislav Klimenko. Namuhla bengifuna ukukhuluma ngokuhlangenwe nakho kwethu ekuthuthukiseni nasekusebenziseni u-opharetha, futhi lona u-opharetha okhethekile wokuphatha amaqoqo esizindalwazi. Ngokwesibonelo I-ClickHouse-opharetha ukuze uphathe iqoqo le-ClickHouse.

I-opharetha ku-Kubernetes yokuphatha amaqoqo esizindalwazi. Vladislav Klimenko (Altinity, 2019)

Kungani sinethuba lokukhuluma ngo-opharetha kanye ne-ClickHouse?

  • Sisekela futhi sithuthukise i-ClickHouse.
  • Okwamanje, sizama ukwenza kancane kancane umnikelo wethu ekuthuthukisweni kwe-ClickHouse. Futhi singesesibili ngemva kwe-Yandex ngokwevolumu yezinguquko ezenziwe ku-ClickHouse.
  • Sizama ukwenza amaphrojekthi engeziwe we-ClickHouse ecosystem.

Ngithanda ukukutshela ngomunye wala maphrojekthi. Lokhu kumayelana ne-ClickHouse-opharetha ye-Kubernetes.

Embikweni wami ngithanda ukuthinta ezihlokweni ezimbili:

  • Isihloko sokuqala ukuthi i-ClickHouse database management operator yethu isebenza kanjani eKubernetes.
  • Isihloko sesibili ukuthi noma yimuphi u-opharetha usebenza kanjani, okungukuthi uxhumana kanjani ne-Kubernetes.

Kodwa-ke, le mibuzo yomibili izohlangana kuwo wonke umbiko wami.

I-opharetha ku-Kubernetes yokuphatha amaqoqo esizindalwazi. Vladislav Klimenko (Altinity, 2019)

Ubani ongaba nentshisekelo yokulalela engizama ukukusho?

  • Kuzoba nentshisekelo enkulu kulabo abasebenza ngama-opharetha.
  • Noma kulabo abafuna ukwenza eyabo ukuze baqonde ukuthi kusebenza kanjani ngaphakathi, ukuthi opharetha uxhumana kanjani no-Kubernetes, nokuthi yiziphi izingibe ezingase zivele.

I-opharetha ku-Kubernetes yokuphatha amaqoqo esizindalwazi. Vladislav Klimenko (Altinity, 2019)

Ukuze uqonde kangcono esizoxoxa ngakho namuhla, kuwumqondo omuhle ukwazi ukuthi i-Kubernetes isebenza kanjani futhi sibe nokuqeqeshwa okuyisisekelo kwamafu.

I-opharetha ku-Kubernetes yokuphatha amaqoqo esizindalwazi. Vladislav Klimenko (Altinity, 2019)

Iyini i-ClickHouse? Lena isizindalwazi sekholomu enezici ezithile zokucutshungulwa ku-inthanethi kwemibuzo yokuhlaziya. Futhi ingumthombo ovulekile ngokuphelele.

Futhi kubalulekile ukuba sazi izinto ezimbili kuphela. Udinga ukwazi ukuthi lena isizindalwazi, ngakho-ke engizokutshela khona kuzosebenza cishe kunoma iyiphi i-database. Futhi iqiniso lokuthi i-ClickHouse DBMS ikala kahle kakhulu, inikeza cishe ukulinganisa komugqa. Ngakho-ke, isimo seqoqo siyisimo semvelo se-ClickHouse. Futhi sinentshisekelo enkulu ekuxoxisaneni ngokuthi singasebenza kanjani iqoqo le-ClickHouse e-Kubernetes.

I-opharetha ku-Kubernetes yokuphatha amaqoqo esizindalwazi. Vladislav Klimenko (Altinity, 2019)

Kungani edingeka lapho? Kungani singakwazi ukuqhubeka siyisebenzisa ngokwethu? Futhi izimpendulo ziyingxenye yobuchwepheshe futhi ingxenye yenhlangano.

  • Empeleni, siya ngokuya sihlangabezana nesimo lapho ezinkampanini ezinkulu cishe zonke izingxenye sezivele ziku-Kubernetes. Imininingo egciniwe ihlala ingaphandle.
  • Futhi umbuzo uya ngokuya ubuzwa: "Ingabe lokhu kungafakwa ngaphakathi?" Ngakho-ke, izinkampani ezinkulu zizama ukuzuza ukuhlanganiswa okuphezulu kwabaphathi ukuze zikwazi ngokushesha ukuphatha izindawo zazo zokugcina idatha.
  • Futhi lokhu kusiza ikakhulukazi uma udinga ithuba eliphezulu lokuphinda into efanayo endaweni entsha, okungukuthi ukuphatheka okuphezulu.

I-opharetha ku-Kubernetes yokuphatha amaqoqo esizindalwazi. Vladislav Klimenko (Altinity, 2019)

Kulula noma kunzima kangakanani? Lokhu, kunjalo, kungenziwa ngesandla. Kodwa akulula kangako, ngoba sinobunzima obungeziwe bokuphatha i-Kubernetes ngokwayo, kodwa ngesikhathi esifanayo imininingwane ye-ClickHouse ibekwe phezulu. Futhi imiphumela enjalo yokuhlanganisa.

Futhi konke lokhu kunikeza isethi enkulu yobuchwepheshe, okuba nzima kakhulu ukuphatha, ngoba i-Kubernetes iletha izinkinga zayo zansuku zonke ukuze zisebenze, futhi i-ClickHouse iletha izinkinga zayo ekusebenzeni kwansuku zonke. Ikakhulukazi uma sineClickHouses amaningana, futhi sidinga ukwenza okuthile ngaso sonke isikhathi.

I-opharetha ku-Kubernetes yokuphatha amaqoqo esizindalwazi. Vladislav Klimenko (Altinity, 2019)

Ngokucushwa okuguquguqukayo, i-ClickHouse inenani elikhulu lezinkinga ezidala umthwalo oqhubekayo ku-DevOps:

  • Uma sifuna ukushintsha okuthile ku-ClickHouse, isibonelo, engeza i-replica noma i-shard, lapho-ke sidinga ukuphatha ukucushwa.
  • Bese ushintsha i-schema yedatha, ngoba i-ClickHouse inendlela ethile yokuhlukanisa. Lapho udinga ukubeka umdwebo wedatha, ubeke izilungiselelo.
  • Udinga ukusetha ukuqapha.
  • Iqoqa izingodo zamashadi amasha, okwezifaniso ezintsha.
  • Nakekela ukubuyisela.
  • Bese uqale kabusha.

Lena imisebenzi evamile engingathanda ngempela ukuyenza ibe lula ukuyisebenzisa.

I-opharetha ku-Kubernetes yokuphatha amaqoqo esizindalwazi. Vladislav Klimenko (Altinity, 2019)

I-Kubernetes ngokwayo isiza kahle ekusebenzeni, kodwa ezintweni eziyisisekelo zesistimu.

I-Kubernetes inhle ekusizeni nasekuzenzeleni izinto ezifana nalezi:

  • Ukubuyiselwa.
  • Qala kabusha.
  • Ukuphathwa kwesistimu yesitoreji.

Kuhle lokho, isiqondiso esifanele, kodwa akanalo nhlobo ulwazi mayelana nendlela yokusebenzisa iqoqo le-database.

Sifuna okwengeziwe, sifuna yonke imininingwane egciniwe isebenze ku-Kubernetes.

I-opharetha ku-Kubernetes yokuphatha amaqoqo esizindalwazi. Vladislav Klimenko (Altinity, 2019)

Ngingathanda ukuthola okuthile okufana nenkinobho eyodwa yomlingo ebomvu oyicindezelayo kanye neqoqo elinemisebenzi yansuku zonke edinga ukuxazululwa isetshenziswa futhi inakekelwa kuwo wonke umjikelezo wayo wokuphila. Iqoqo le-ClickHouse e-Kubernetes.

Futhi sizamile ukwenza isixazululo esizosiza ukwenza umsebenzi ube lula. Lena i-ClickHouse-opharetha ye-Kubernetes evela e-Altinity.

I-opharetha ku-Kubernetes yokuphatha amaqoqo esizindalwazi. Vladislav Klimenko (Altinity, 2019)

Umsebenzisi wuhlelo umsebenzi walo oyinhloko uwukuphatha ezinye izinhlelo, okungukuthi umphathi.

Futhi iqukethe amaphethini okuziphatha. Ungabiza lolu lwazi oluhlanganisiwe mayelana nendawo yesifundo.

Futhi umsebenzi wakhe oyinhloko ukwenza ukuphila kwe-DevOps kube lula futhi kunciphise ukuphathwa okuncane, ukuze (i-DevOps) isivele icabanga ngemibandela yezinga eliphezulu, okungukuthi, ukuze yena (i-DevOps) angazibandakanyi ku-micromanagement, ukuze angalungiseli. yonke imininingwane ngesandla.

Futhi u-opharetha nje ungumsizi werobhothi osebenza ngama-microtask futhi usiza i-DevOps.

I-opharetha ku-Kubernetes yokuphatha amaqoqo esizindalwazi. Vladislav Klimenko (Altinity, 2019)

Kungani udinga opharetha? Wenza kahle kakhulu ezindaweni ezimbili:

  • Lapho uchwepheshe osebenzelana ne-ClickHouse engenalo ulwazi olwanele, kodwa kakade udinga ukusebenzisa i-ClickHouse, u-opharetha usiza ukusebenza futhi ikuvumela ukuthi usebenzise iqoqo le-ClickHouse ngokucushwa okuyinkimbinkimbi, ngaphandle kokungena emininingwaneni eminingi mayelana nokuthi konke kusebenza kanjani. ngaphakathi. Umane umnikeze imisebenzi esezingeni eliphezulu, futhi iyasebenza.
  • Futhi umsebenzi wesibili osebenza kahle kakhulu lapho kudingekile ukwenza ngokuzenzakalelayo inani elikhulu lemisebenzi ejwayelekile. Isusa imisebenzi emincane kubaphathi besistimu.

I-opharetha ku-Kubernetes yokuphatha amaqoqo esizindalwazi. Vladislav Klimenko (Altinity, 2019)

Lokhu kudingwa kakhulu yilabo abasanda kuqala uhambo lwabo, noma yilabo abadinga ukwenza okuningi okuzenzakalelayo.

I-opharetha ku-Kubernetes yokuphatha amaqoqo esizindalwazi. Vladislav Klimenko (Altinity, 2019)

Indlela esekelwe ku-opharetha ihluke kanjani kwezinye izinhlelo? Kukhona uHelm. Kuyasiza futhi ukufaka i-ClickHouse; ungadweba amashadi e-helm, azofaka neqoqo lonke le-ClickHouse. Uyini-ke umehluko phakathi komqhubi ofanayo, isibonelo, i-Helm?

Umehluko omkhulu oyisisekelo ukuthi i-Helm ukuphatha iphakheji futhi i-Operator iqhubekela phambili. Lokhu ukusekelwa kwawo wonke umjikelezo wempilo. Lokhu akukhona ukufakwa kuphela, lena yimisebenzi yansuku zonke ehlanganisa ukukala, ukwahlukanisa, okungukuthi konke okudingeka kwenziwe phakathi nomjikelezo wokuphila (uma kunesidingo, bese ususa futhi) - konke lokhu kunqunywa ngu-opharetha. Izama ukwenza ngokuzenzakalelayo futhi igcine yonke umjikelezo wempilo wesoftware. Lona umehluko wawo oyisisekelo kwezinye izixazululo ezethulwayo.

I-opharetha ku-Kubernetes yokuphatha amaqoqo esizindalwazi. Vladislav Klimenko (Altinity, 2019)

Leyo kwakuyingxenye yesingeniso, ake siqhubeke.

Sakha kanjani opharetha bethu? Sizama ukubhekana nenkinga ukuze siphathe iqoqo le-ClickHouse njengesisetshenziswa esisodwa.

Lapha sinedatha yokufaka ohlangothini lwesobunxele lwesithombe. Lena yi-YAML enokucaciswa kweqoqo, elidluliselwa ku-Kubernetes ngendlela yakudala nge-kubectl. Lapho u-opharetha wethu uyayithatha futhi enze umlingo wakhe. Futhi ekuphumeni sithola uhlelo olulandelayo. Lokhu ukuqaliswa kwe-ClickHouse e-Kubernetes.

Bese sizobheka kancane kancane ukuthi opharetha usebenza kanjani, yimiphi imisebenzi ejwayelekile engaxazululwa. Sizocabangela kuphela imisebenzi evamile ngoba sinesikhathi esilinganiselwe. Futhi akuyona yonke into u-opharetha anganquma ngayo okuzoxoxwa ngayo.

I-opharetha ku-Kubernetes yokuphatha amaqoqo esizindalwazi. Vladislav Klimenko (Altinity, 2019)

Ake siqale ukuzilolonga. Iphrojekthi yethu ingumthombo ovulekile ngokuphelele, ukuze ubone ukuthi isebenza kanjani ku-GitHub. Futhi ungaqhubeka nokucatshangelwa ukuthi uma ufuna nje ukuyethula, ungaqala ngomhlahlandlela Wokuqalisa Okusheshayo.

Uma ufuna ukuqonda kabanzi, sizobe sesizama ukugcina amadokhumenti ngendlela ehloniphekile noma ehloniphekile.

I-opharetha ku-Kubernetes yokuphatha amaqoqo esizindalwazi. Vladislav Klimenko (Altinity, 2019)

Ake siqale ngenkinga engokoqobo. Umsebenzi wokuqala, lapho sonke sifuna ukuqala khona, ukusebenzisa isibonelo sokuqala ngandlela thile. Ngingayethula kanjani i-ClickHouse ngisebenzisa opharetha, noma ngingazi ngempela ukuthi isebenza kanjani? Sibhala i-manifesto, ngoba... Konke ukuxhumana nama-k8 kungukuxhumana ngama-manifest.

I-opharetha ku-Kubernetes yokuphatha amaqoqo esizindalwazi. Vladislav Klimenko (Altinity, 2019)

Lena i-manifesto eyinkimbinkimbi. Esikugqamisile ngokubomvu yikhona okumele sigxile kukho. Sicela u-opharetha enze iqoqo eliqanjwe idemo.

Lezi yizibonelo eziyisisekelo okwamanje. Isitoreji asikachazwa, kodwa sizobuyela endaweni yokugcina ngemva kwesikhashana. Okwamanje, sizobheka amandla okuthuthukiswa kweqoqo.

Sidale le-manifesto. Siyiphakela ku-opharetha wethu. Wasebenza, wenza imilingo.

I-opharetha ku-Kubernetes yokuphatha amaqoqo esizindalwazi. Vladislav Klimenko (Altinity, 2019)

Sibheka ikhonsoli. Izingxenye ezintathu ezithandekayo: i-Pod, Amasevisi amabili, kanye ne-StatefulSet.

Umsebenzisi usebenzile, futhi singabona ukuthi yini ngempela ayidalile.

I-opharetha ku-Kubernetes yokuphatha amaqoqo esizindalwazi. Vladislav Klimenko (Altinity, 2019)

Udala into efana nalena. Sine-StatefulSet, i-Pod, i-ConfigMap yesifaniso ngasinye, i-ConfigMap yeqoqo lonke. Amasevisi ayadingeka njengamaphoyinti okungena kuqoqo.

Amasevisi ayinsizakalo emaphakathi ye-Load Balancer futhi angasetshenziswa kumfanekiso ngamunye, kushadi ngalinye.

Iqoqo lethu eliyisisekelo libukeka kanjena. Isuka endaweni eyodwa.

I-opharetha ku-Kubernetes yokuphatha amaqoqo esizindalwazi. Vladislav Klimenko (Altinity, 2019)

Asiqhubeke sixabanise izinto. Kudingeka sihlukanise iqoqo.

I-opharetha ku-Kubernetes yokuphatha amaqoqo esizindalwazi. Vladislav Klimenko (Altinity, 2019)

Imisebenzi yethu iyakhula, ama-dynamics ayaqala. Sifuna ukwengeza ucezu. Silandela intuthuko. Sishintsha ukucaciswa kwethu. Sibonisa ukuthi sifuna izingcezu ezimbili.

Leli yifayela elifanayo elikhula ngokuguquguqukayo ngokukhula kwesistimu. Isitoreji Cha, isitoreji kuzoxoxwa ngakho kabanzi, lesi yisihloko esihlukile.

Sondla u-opharetha we-YAML futhi sibone ukuthi kwenzekani.

I-opharetha ku-Kubernetes yokuphatha amaqoqo esizindalwazi. Vladislav Klimenko (Altinity, 2019)

Umsebenzisi wacabanga futhi wenza izinhlangano ezilandelayo. Sesivele sinama-Pods amabili, Izinkonzo ezintathu futhi, kungazelelwe, 2 StatefulSets. Kungani 2 StatefulSets?

I-opharetha ku-Kubernetes yokuphatha amaqoqo esizindalwazi. Vladislav Klimenko (Altinity, 2019)

Emdwebeni kwakunje - lesi yisimo sethu sokuqala, lapho sine-pod eyodwa.

I-opharetha ku-Kubernetes yokuphatha amaqoqo esizindalwazi. Vladislav Klimenko (Altinity, 2019)

Kwaba kanje. Kuze kube manje yonke into ilula, isiyimpinda.

I-opharetha ku-Kubernetes yokuphatha amaqoqo esizindalwazi. Vladislav Klimenko (Altinity, 2019)

Futhi kungani kube khona ama-StatefulSets amabili? Lapha sidinga ukuhlehla futhi sixoxe ngombuzo wokuthi ama-Pods aphathwa kanjani ku-Kubernetes.

Kukhona into ebizwa nge-StatefulSet ekuvumela ukuthi udale isethi yama-Pods kusuka kusifanekiso. Into esemqoka lapha Isifanekiso. Futhi ungakwazi ukwethula ama-Pods amaningi usebenzisa isifanekiso esisodwa ku-StatefulSet eyodwa. Futhi umusho obalulekile lapha uthi "amaPods amaningi esifanekiso esisodwa."

Futhi kube nesilingo esikhulu sokwenza iqoqo lonke, silipakishe ku-StatefulSet eyodwa. Izosebenza, ayikho inkinga ngayo. Kodwa kune-caveat eyodwa. Uma sifuna ukuhlanganisa iqoqo le-heterogeneous, okungukuthi, kusukela ezinguqulweni ezimbalwa ze-ClickHouse, imibuzo iyaqala ukuvela. Yebo, i-StatefulSet ingenza isibuyekezo, futhi lapho ungakwazi ukukhipha inguqulo entsha, uchaze ukuthi awudingi ukuzama okungaphezu kwamanodi amaningi ngesikhathi esisodwa.

Kodwa uma sidlulisa umsebenzi futhi sithi sifuna ukwenza iqoqo elihluke ngokuphelele futhi asifuni ukushintsha kusuka enguqulweni endala siye kwentsha sisebenzisa isibuyekezo esigoqekayo, kodwa simane nje sifuna ukudala iqoqo elinezinhlobonhlobo zombili ngokwemibandela. yezinguqulo ezahlukene ze-ClickHouse futhi ngokuya ngesitoreji esihlukile. Sifuna, ngokwesibonelo, ukwenza ama-replicas athile kumadiski ahlukene, kokunensa, ngokuvamile, ukwakha ngokuphelele iqoqo elihlukahlukene. Futhi ngenxa yokuthi i-StatefulSet yenza isixazululo esimisiwe kusuka kusifanekiso esisodwa, ayikho indlela yokwenza lokhu.

Ngemva kokucabanga okuthile, kwanqunywa ukuthi sikwenze ngale ndlela. Sine-replica ngayinye ku-StatefulSet yayo. Kukhona ezinye izithiyo kulesi sixazululo, kodwa ekusebenzeni konke kuhlanganiswe ngokuphelele ngu-opharetha. Futhi kunezinzuzo eziningi. Singakha iqoqo ngqo esilifunayo, isibonelo, elihluke ngokuphelele. Ngakho-ke, kuqoqo lapho sinezinhlamvu ezimbili ezine-replica eyodwa, sizoba nama-StatefulSets angu-2 kanye nama-Pods angu-2 ngokunembile ngoba sikhethe le ndlela ngezizathu ezishiwo ngenhla ukuze sikwazi ukwakha iqoqo elihlukahlukene.

I-opharetha ku-Kubernetes yokuphatha amaqoqo esizindalwazi. Vladislav Klimenko (Altinity, 2019)

Ake sibuyele ezinkingeni ezingokoqobo. Kuqoqo lethu sidinga ukulungiselela abasebenzisi, i.e. udinga ukwenza ukucushwa okuthile kwe-ClickHouse ku-Kubernetes. Umsebenzisi unikeza wonke amathuba alokhu.

I-opharetha ku-Kubernetes yokuphatha amaqoqo esizindalwazi. Vladislav Klimenko (Altinity, 2019)

Singabhala esikufunayo ngokuqondile ku-YAML. Zonke izinketho zokumisa zenziwe imephu ngokuqondile ukusuka kule YAML kuya ku-ClickHouse configs, bese zisatshalaliswa kulo lonke iqoqo.

Ungabhala kanje. Lesi isibonelo. Iphasiwedi ingabethelwa. Impela zonke izinketho zokucushwa kwe-ClickHouse ziyasekelwa. Nasi isibonelo nje.

Ukucushwa kweqoqo kusatshalaliswa njenge-ConfigMap. Empeleni, isibuyekezo se-ConfigMap asenzeki ngokushesha, ngakho-ke uma iqoqo likhulu, inqubo yokuphusha ukumisa ithatha isikhathi. Kodwa konke lokhu kulula kakhulu ukusebenzisa.

I-opharetha ku-Kubernetes yokuphatha amaqoqo esizindalwazi. Vladislav Klimenko (Altinity, 2019)

Asihlanganise umsebenzi. Iqoqo liyakhula. Sifuna ukuphinda idatha. Okusho ukuthi, sesivele sinezinhlamvu ezimbili, isifaniso esisodwa ngasinye, futhi abasebenzisi bamisiwe. Siyakhula futhi sifuna ukwenza ukuphindaphinda.

I-opharetha ku-Kubernetes yokuphatha amaqoqo esizindalwazi. Vladislav Klimenko (Altinity, 2019)

Yini esiyidingayo ukuze siphindaphinde?

Sidinga i-ZooKeeper. Ku-ClickHouse, ukuphindaphinda kwakhiwe kusetshenziswa i-ZooKeeper. I-ZooKeeper iyadingeka ukuze ama-replicas ahlukene e-ClickHouse abe nokuvumelana mayelana nokuthi imaphi amabhulokhi wedatha aku-ClickHouse.

I-ZooKeeper ingasetshenziswa yinoma ubani. Uma ibhizinisi line-ZooKeeper yangaphandle, ingasetshenziswa. Uma kungenjalo, ungayifaka kunqolobane yethu. Kukhona isifaki esenza yonke le nto ibe lula.

I-opharetha ku-Kubernetes yokuphatha amaqoqo esizindalwazi. Vladislav Klimenko (Altinity, 2019)

Futhi umdwebo wokusebenzisana wesistimu yonke uvela kanje. SineKubernetes njengenkundla. Isebenzisa i-opharetha ye-ClickHouse. Ngifanekisele i-ZooKeeper lapha. Futhi u-opharetha usebenzisana nakho kokubili i-ClickHouse ne-ZooKeeper. Okusho ukuthi, imiphumela yokusebenzisana.

Futhi konke lokhu kuyadingeka ukuze i-ClickHouse iphinde iphindaphinde idatha kuma-k8s.

I-opharetha ku-Kubernetes yokuphatha amaqoqo esizindalwazi. Vladislav Klimenko (Altinity, 2019)

Manje ake sibheke umsebenzi ngokwawo, ukuthi izobukeka kanjani i-manifest yokuphindaphinda.

Sengeza izigaba ezimbili ku-manifest yethu. Eyokuqala yilapho ungathola i-ZooKeeper, okungaba ngaphakathi kwe-Kubernetes noma ngaphandle. Lena incazelo nje. Futhi si-oda ama-replicas. Labo. sifuna izifaniso ezimbili. Sekukonke, kufanele sibe nama-pods angu-4 ekuphumeni. Sikhumbula ngesitoreji, sizobuya ngemva kwesikhashana. Isitoreji siyindaba ehlukile.

I-opharetha ku-Kubernetes yokuphatha amaqoqo esizindalwazi. Vladislav Klimenko (Altinity, 2019)

Kwaba kanje.

I-opharetha ku-Kubernetes yokuphatha amaqoqo esizindalwazi. Vladislav Klimenko (Altinity, 2019)

Kuba kanje. Izifaniso ziyengezwa. Owesine awuzange ulingane, sikholwa ukuthi bangaba baningi lapho. Futhi i-ZooKeeper yengezwe eceleni. Izikimu ziba nzima kakhulu.

I-opharetha ku-Kubernetes yokuphatha amaqoqo esizindalwazi. Vladislav Klimenko (Altinity, 2019)

Futhi yisikhathi sokwengeza umsebenzi olandelayo. Sizongeza Isitoreji Esiqhubekayo.

I-opharetha ku-Kubernetes yokuphatha amaqoqo esizindalwazi. Vladislav Klimenko (Altinity, 2019)NgeSitoreji Esiqhubekayo sinezinketho ezihlukahlukene.

Uma sisebenza kumhlinzeki wamafu, isibonelo, sisebenzisa i-Amazon, i-Google, khona-ke kukhona isilingo esikhulu sokusebenzisa isitoreji samafu. Kulula kakhulu, kuhle.

Futhi kukhona inketho yesibili. Lokhu okokugcina kwendawo, lapho sinamadiski endawo endaweni ngayinye. Lolu khetho lunzima kakhulu ukulusebenzisa, kodwa ngesikhathi esifanayo lukhiqiza kakhulu.

I-opharetha ku-Kubernetes yokuphatha amaqoqo esizindalwazi. Vladislav Klimenko (Altinity, 2019)

Ake sibone ukuthi yini esinayo mayelana nesitoreji samafu.

Kukhona izinzuzo. Kulula kakhulu ukumisa. Simane si-ode kumhlinzeki wamafu ukuthi sicela asinike isitoreji samandla anjalo nanje, wesigaba esithi nalokhu. Amakilasi ahlelwa abahlinzeki ngokuzimela.

Futhi kukhona ukwehluleka. Kwabanye, lokhu kuwumphumela ongabalulekile. Yebo, kuzoba nezinkinga ezithile zokusebenza. Kulula kakhulu ukuyisebenzisa futhi inokwethenjelwa, kodwa kunezinye izithiyo ezingase zibe khona ekusebenzeni.

I-opharetha ku-Kubernetes yokuphatha amaqoqo esizindalwazi. Vladislav Klimenko (Altinity, 2019)

Futhi ngoba I-ClickHouse igxile kakhulu ekukhiqizeni, umuntu angaze athi ikhipha yonke into engakwazi ukuyenza, yingakho amaklayenti amaningi ezama ukucindezela ukukhiqiza okuphezulu.

I-opharetha ku-Kubernetes yokuphatha amaqoqo esizindalwazi. Vladislav Klimenko (Altinity, 2019)

Futhi ukuze sizuze okuningi kukho, sidinga isitoreji sasendaweni.

I-Kubernetes ihlinzeka ngezifinyezo ezintathu zokusebenzisa isitoreji sasendaweni e-Kubernetes. Lokhu:

  • I-EmptyDir
  • I-HostPath.
  • Local

Ake sibheke ukuthi zihluke kanjani nokuthi zifana kanjani.

Okokuqala, kuzo zontathu izindlela sinesitoreji - lawa amadiski endawo atholakala endaweni efanayo ye-k8s. Kodwa banokuhluka okuthile.

I-opharetha ku-Kubernetes yokuphatha amaqoqo esizindalwazi. Vladislav Klimenko (Altinity, 2019)

Ake siqale ngelula kakhulu, okungukuthi i-tupuDir. Kuyini lokhu ngokusebenza? Ekucaciseni kwethu, sicela uhlelo lokuqukatha (imvamisa i-Docker) ukuthi lisinikeze ukufinyelela kufolda kudiski yendawo.

Empeleni, i-Docker idala ifolda yesikhashana kwenye indawo emikhondweni yayo futhi iyibize nge-hashi ende. Futhi inikeza interface ukuyifinyelela.

Ngabe lolu hlelo lokusebenza luzosebenza kanjani? Lokhu kuzosebenza ngesivinini sediski yendawo, i.e. Lokhu ukufinyelela okugcwele kusikulufa sakho.

Kodwa leli cala linezinkinga zalo. Ukuphikelela kuyathandabuza kule ndaba. Isikhathi sokuqala i-Docker ihamba neziqukathi, i-Persistent ilahlekile. Uma uKubernetes efuna ukuhambisa le Pod kwenye idiski ngesizathu esithile, idatha izolahleka.

Le ndlela ilungele ukuhlolwa, ngoba isivele ibonisa isivinini esivamile, kodwa kokuthile okungathΓ­ sina lolu khetho alufanelekile.

I-opharetha ku-Kubernetes yokuphatha amaqoqo esizindalwazi. Vladislav Klimenko (Altinity, 2019)

Ngakho-ke kukhona indlela yesibili. Lena indawo ka-HostPath. Uma ubheka isilayidi esedlule nalesi, ungabona umehluko owodwa kuphela. Ifolda yethu isuke ku-Docker iqonde endaweni ye-Kubernetes. Kulula kancane lapha. Siyicacisa ngokuqondile indlela ohlelweni lwamafayela wendawo lapho singathanda ukugcina idatha yethu.

Le ndlela inezinzuzo. Lokhu sekuvele kuyi-Persistent yangempela, futhi ingeyakudala lapho. Sizoba nedatha erekhodiwe kudiski kwelinye ikheli.

Kukhona nokubi. Lokhu kuyinkimbinkimbi yokuphatha. I-Kubernetes yethu ingase ifune ukuhambisa i-Pod kwenye indawo ebonakalayo. Futhi kulapho i-DevOps iqala khona ukudlala. Kumelwe achaze kahle uhlelo lonke ukuthi lezi pods zingathuthelwa kuphela kulawo ma-node okubekwe kuwo okuthile ngalezi zindlela, futhi kungabi ngaphezu kwe-node eyodwa ngesikhathi. Kunzima impela.

Ikakhulukazi ngalezi zinhloso, senze izifanekiso ku-opharetha wethu ukuze sifihle bonke lobu bunzima. Futhi ungamane uthi: "Ngifuna ukuba nesibonelo esisodwa se-ClickHouse endaweni ngayinye ebonakalayo kanye nendlela enjalo."

I-opharetha ku-Kubernetes yokuphatha amaqoqo esizindalwazi. Vladislav Klimenko (Altinity, 2019)

Kodwa akubona kuphela abadinga lesi sidingo, ngakho-ke abanumzane abavela ku-Kubernetes ngokwabo bayaqonda ukuthi abantu bafuna ukufinyelela kumadiski angokwenyama, ngakho-ke bahlinzeka ngesendlalelo sesithathu.

Ibizwa ngokuthi yendawo. Cishe awukho umehluko kusilayidi esidlule. Kuphela ngaphambi kokuba kudingeke ukuthi kuqinisekiswe ngesandla ukuthi asikwazi ukudlulisa lawa ma-pods ukusuka ku-node kuya ku-node, ngoba kufanele ahlanganiswe endleleni ethile eya kudiski yendawo yendawo, kodwa manje lonke lolu lwazi lufakwe ku-Kubernetes ngokwayo. Futhi kuvela ukuthi kulula kakhulu ukukulungisa.

I-opharetha ku-Kubernetes yokuphatha amaqoqo esizindalwazi. Vladislav Klimenko (Altinity, 2019)

Ake sibuyele enkingeni yethu ebonakalayo. Masibuyele kusifanekiso se-YAML. Lapha sinesitoreji sangempela. Sibuyele kukho. Setha ithempulethi yeVolumeClaim yakudala njengaku-k8s. Futhi sichaza ukuthi hlobo luni lwesitoreji esilufunayo.

Ngemva kwalokhu, ama-k8 azocela isitoreji. Izosabela yona ku-StatefulSet. Futhi ekugcineni izoba se-ClickHouse.

I-opharetha ku-Kubernetes yokuphatha amaqoqo esizindalwazi. Vladislav Klimenko (Altinity, 2019)

Besinalesi sikimu. Isitoreji Sethu Esiqhubekayo sasibomvu, okwakubonakala kusikisela ukuthi kwakudingeka kwenziwe.

I-opharetha ku-Kubernetes yokuphatha amaqoqo esizindalwazi. Vladislav Klimenko (Altinity, 2019)

Futhi iphenduka ibe luhlaza. Manje i-ClickHouse kuhlelo lweqoqo le-k8s isiqediwe ngokuphelele. Sine-shards, i-replicas, i-ZooKeeper, sine-Persistent yangempela, eyenziwa ngendlela eyodwa noma enye. Uhlelo seluvele lusebenza ngokugcwele.

I-opharetha ku-Kubernetes yokuphatha amaqoqo esizindalwazi. Vladislav Klimenko (Altinity, 2019)

Siyaqhubeka siphila. Iqoqo lethu liyathuthuka. Futhi u-Alexey uyazama, futhi ukhulula inguqulo entsha ye-ClickHouse.

Kuvela umsebenzi osebenzayo - ukuhlola inguqulo entsha ye-ClickHouse kuqoqo lethu. Futhi, ngokwemvelo, awufuni ukuyikhipha yonke; ufuna ukubeka inguqulo entsha endaweni eyodwa ekhoneni elikude, futhi mhlawumbe hhayi inguqulo eyodwa entsha, kodwa ezimbili ngesikhathi esisodwa, ngoba ziphuma njalo.

Singathini ngalokhu?

I-opharetha ku-Kubernetes yokuphatha amaqoqo esizindalwazi. Vladislav Klimenko (Altinity, 2019)

Lapha sinalo nje ithuba. Lezi izifanekiso ze-pod. Ungabhala ukuthi u-opharetha wethu ukuvumela ngokuphelele ukuthi wakhe iqoqo elihlukahlukene. Labo. lungisa, kusukela kuzo zonke izifaniso eziyinqwaba, ezigcina ngomfanekiso womuntu ngamunye, iyiphi inguqulo esiyifunayo i-ClickHouse, iyiphi inguqulo esifuna ukuyigcina. Singakwazi ukumisa ngokugcwele iqoqo ngokucushwa esikudingayo.

I-opharetha ku-Kubernetes yokuphatha amaqoqo esizindalwazi. Vladislav Klimenko (Altinity, 2019)

Ake sijule kancane ngaphakathi. Ngaphambi kwalokhu, sikhulume ngokuthi i-ClickHouse-opharetha isebenza kanjani maqondana nemininingwane ye-ClickHouse.

Manje ngithanda ukusho amagama ambalwa mayelana nokuthi noma yimuphi u-opharetha usebenza ngokujwayelekile, kanye nokuthi uxhumana kanjani nama-K8.

I-opharetha ku-Kubernetes yokuphatha amaqoqo esizindalwazi. Vladislav Klimenko (Altinity, 2019)

Ake sibheke ukusebenzisana nama-K8s kuqala. Kwenzekani uma senza isicelo se-kubectl? Izinto zethu zivela ku- etcd nge-API.

I-opharetha ku-Kubernetes yokuphatha amaqoqo esizindalwazi. Vladislav Klimenko (Altinity, 2019)

Isibonelo, izinto eziyisisekelo ze-Kubernetes: i-pod, i-StatefulSet, isevisi, njalo njalo ohlwini.

Ngesikhathi esifanayo, akukho okwenzekayo ngokomzimba okwamanje. Lezi zinto kufanele zenziwe i-cluster.

I-opharetha ku-Kubernetes yokuphatha amaqoqo esizindalwazi. Vladislav Klimenko (Altinity, 2019)

Ngale njongo, kuvela isilawuli. Isilawuli siyingxenye ye-k8s ekhethekile engenza lezi zincazelo. Uyazi ukuthi kufanele enze kanjani nokuthi enzeni ngokomzimba. Uyazi ukuthi ziphathwa kanjani iziqukathi, yini okufanele ilungiswe lapho ukuze iseva isebenze.

I-opharetha ku-Kubernetes yokuphatha amaqoqo esizindalwazi. Vladislav Klimenko (Altinity, 2019)

Futhi iguqula izinto zethu kuma-K8s.

Kodwa asifuni ukusebenza kuphela ngama-pods kanye ne-StatefulSets, sifuna ukudala i-ClickHouseInstallation, okungukuthi into yohlobo lwe-ClickHouse, ukuze sisebenze ngayo iyonke. Kuze kube manje alikho ithuba elinjalo.

I-opharetha ku-Kubernetes yokuphatha amaqoqo esizindalwazi. Vladislav Klimenko (Altinity, 2019)

Kodwa ama-K8 anento enhle elandelayo. Sifuna sibe nendawo efana nale nhlangano eyinkimbinkimbi lapho iqoqo lethu lizohlanganiswa kusuka kuma-pods naku-StatefulSet.

I-opharetha ku-Kubernetes yokuphatha amaqoqo esizindalwazi. Vladislav Klimenko (Altinity, 2019)

Futhi yini okufanele yenziwe kulokhu? Okokuqala, Incazelo Yensiza Yangokwezifiso iza esithombeni. Yini? Lena incazelo yama-K8s, ukuthi uzoba nolunye uhlobo lwedatha, esifuna ukungeza insiza yangokwezifiso ku-pod, i-StatefulSet, ezoba yinkimbinkimbi ngaphakathi. Lena incazelo yesakhiwo sedatha.

I-opharetha ku-Kubernetes yokuphatha amaqoqo esizindalwazi. Vladislav Klimenko (Altinity, 2019)

Siphinde siyithumele lapho nge-kubectl application. UKubernetes ukuthathe ngenjabulo.

Futhi manje ekugcinweni kwethu, into e- etcd inethuba lokurekhoda insiza yangokwezifiso ebizwa ngokuthi i-ClickHouseInstallation.

Kodwa okwamanje akukho okunye okusazokwenzeka. Okusho ukuthi, uma manje sakha ifayela le-YAML esilibhekile elichaza ama-shards nama-replicas bese sithi β€œkubectl apply,” u-Kubernetes uzokwamukela, alifake njlld bese ethi: β€œKuhle, kodwa angazi ukuthi ngenzenjani. ngayo. Angazi ukuthi ungayigcina kanjani i-ClickHouseInstalation.

I-opharetha ku-Kubernetes yokuphatha amaqoqo esizindalwazi. Vladislav Klimenko (Altinity, 2019)

Ngokufanelekile, sidinga othile ozosiza u-Kubernetes anikeze uhlobo olusha lwedatha. Kwesokunxele sinesilawuli somdabu se-Kubernetes esisebenza nezinhlobo zedatha yomdabu. Futhi kwesokudla kufanele sibe nesilawuli sangokwezifiso esingasebenza nezinhlobo zedatha yangokwezifiso.

Futhi ngenye indlela ibizwa ngokuthi opharetha. Ngiyifake ngokukhethekile lapha njenge-Kubernetes, ngoba ingenziwa ngaphandle kwama-K8. Ngokuvamile, yiqiniso, bonke opharetha babulawa ku-Kubernetes, kodwa akukho lutho oluvimbela ukuma ngaphandle, ngakho-ke lapha kuhanjiswe ngaphandle ngokukhethekile.

I-opharetha ku-Kubernetes yokuphatha amaqoqo esizindalwazi. Vladislav Klimenko (Altinity, 2019)

Futhi ngokulandelayo, isilawuli ngokwezifiso, esibuye saziwa ngokuthi opharetha, sisebenzisana ne-Kubernetes nge-API. Isivele iyazi ukuthi isebenzisana kanjani ne-API. Futhi useyazi ukuthi angayenza kanjani isifunda esiyinkimbinkimbi esifuna ukulenza ngosizo lwangokwezifiso. Yilokhu kanye okwenziwa opharetha.

I-opharetha ku-Kubernetes yokuphatha amaqoqo esizindalwazi. Vladislav Klimenko (Altinity, 2019)

Usebenza kanjani opharetha? Ake sibheke ohlangothini olungakwesokudla ukuze sibone ukuthi ukwenza kanjani. Ake sithole ukuthi u-opharetha ukwenza kanjani konke lokhu nokuthi kwenzekani okunye ukuxhumana nama-K8.

I-opharetha ku-Kubernetes yokuphatha amaqoqo esizindalwazi. Vladislav Klimenko (Altinity, 2019)

Umsebenzisi wuhlelo. Ugxile emicimbini. Umsebenzisi ubhalisela imicimbi esebenzisa i-Kubernetes API. I-Kubernetes API inezindawo zokungena lapho ungabhalisela khona imicimbi. Futhi uma okuthile kushintsha kuma-K8s, i-Kubernetes ithumela imicimbi kuwo wonke umuntu, i.e. noma ubani obhalisele leli phoyinti le-API uzothola izaziso.

Umsebenzisi ubhalisela imicimbi futhi kufanele enze uhlobo oluthile lokusabela. Umsebenzi wayo ukuphendula izehlakalo ezivelayo.

I-opharetha ku-Kubernetes yokuphatha amaqoqo esizindalwazi. Vladislav Klimenko (Altinity, 2019)

Imicimbi yenziwa izibuyekezo ezithile. Ifayela lethu le-YAML elinencazelo ye-ClickHouseInstallation liyafika. Waya ku-etcd ngokusebenzisa kubectl apply. Umcimbi ucushwe lapho, futhi ngenxa yalokho lo mcimbi wafika ku-ClickHouse-opharetha. Umsebenzisi uthole le ncazelo. Futhi kufanele enze okuthile. Uma isibuyekezo sesifikile sento ye-ClickHouseInstallation, kuzomele ubuyekeze iqoqo. Futhi umsebenzi womqhubi uwukuvuselela iqoqo.

I-opharetha ku-Kubernetes yokuphatha amaqoqo esizindalwazi. Vladislav Klimenko (Altinity, 2019)

Wenzani? Okokuqala, sidinga ukwenza uhlelo lokuthi sizokwenzenjani ngalesi sibuyekezo. Izibuyekezo zingaba zincane kakhulu, i.e. kuncane ekusebenzeni kwe-YAML, kodwa kungabandakanya izinguquko ezinkulu kakhulu kuqoqo. Ngakho-ke, opharetha udala uhlelo, bese enamathela kulo.

I-opharetha ku-Kubernetes yokuphatha amaqoqo esizindalwazi. Vladislav Klimenko (Altinity, 2019)

Ngokwalolu hlelo, uqala ukupheka lesi sakhiwo ngaphakathi ukuze enze ama-pods, izinsizakalo, i.e. enze umsebenzi wakhe omkhulu. Lena yindlela yokwakha iqoqo le-ClickHouse e-Kubernetes.

I-opharetha ku-Kubernetes yokuphatha amaqoqo esizindalwazi. Vladislav Klimenko (Altinity, 2019)

Manje ake sithinte into enjalo ethakazelisa. Lokhu ukuhlukaniswa kwesibopho phakathi kuka-Kubernetes nomsebenzisi, i.e. okwenziwa ngu-Kubernetes, okwenziwa opharetha, nokuthi basebenzisana kanjani.

U-Kubernetes unesibopho sezinto zesistimu, i.e. kusethi eyisisekelo yezinto ezingahunyushwa njengobubanzi besistimu. U-Kubernetes uyakwazi ukwethula ama-pods, ukuthi ungaqala kanjani kabusha iziqukathi, ukhweza amavolumu, usebenza kanjani ne-ConfigMap, i.e. yonke into engabizwa ngesistimu.

Ama-opharetha asebenza ezizindeni. I-opharetha ngayinye yenzelwe indawo yayo yesihloko. Sikwenzele iClickHouse.

Futhi u-opharetha usebenzisana ngokunembile ngokuya ngendawo yesihloko, njengokwengeza i-replica, ukwenza umdwebo, ukusetha ukuqapha. Lokhu kubangela ukuhlukana.

I-opharetha ku-Kubernetes yokuphatha amaqoqo esizindalwazi. Vladislav Klimenko (Altinity, 2019)

Ake sibheke isibonelo esisebenzayo sokuthi lokhu kuhlukaniswa kwesibopho kwenzeka kanjani uma senza isenzo se-add replica.

Umsebenzisi uthola umsebenzi - ukwengeza umfanekiso. Wenzani u-opharetha? Umsebenzisi uzobala ukuthi i-StatefulSet entsha idinga ukwakhiwa, lapho izifanekiso ezinjalo nalezo, isimangalo sevolumu, kufanele kuchazwe khona.

I-opharetha ku-Kubernetes yokuphatha amaqoqo esizindalwazi. Vladislav Klimenko (Altinity, 2019)

Wayilungisa yonke wayidlulisela kuma-K8. Uthi udinga i-ConfigMap, StatefulSet, Volume. U-Kubernetes uyasebenza. Wenza amayunithi ayisisekelo asebenza ngawo.

I-opharetha ku-Kubernetes yokuphatha amaqoqo esizindalwazi. Vladislav Klimenko (Altinity, 2019)

Bese-ke i-ClickHouse-opharetha iqala ukudlala futhi. Usenayo kakade i-pod ebonakalayo angakwazi ukwenza okuthile kuyo. Futhi i-ClickHouse-opharetha iphinda isebenze ngokwemibandela yesizinda. Labo. Ngokuqondile i-ClickHouse, ukuze ufake ikhophi kuqoqo, kufanele, kuqala, ulungiselele i-schema yedatha ekhona kuleli qoqo. Futhi, okwesibili, lesi sifaniso kufanele sifakwe ekuqashweni ukuze silandelelwe ngokucacile. Umsebenzisi usevele ukulungisele lokhu.

I-opharetha ku-Kubernetes yokuphatha amaqoqo esizindalwazi. Vladislav Klimenko (Altinity, 2019)

Futhi kuphela ngemva kwalokho i-ClickHouse ngokwayo iqala ukudlala, i.e. enye inhlangano yezinga eliphezulu. Lokhu sekuvele kuyisizindalwazi. Inesibonelo sayo, esinye isifaniso esimisiwe esilungele ukujoyina iqoqo.

Kuvele ukuthi uchungechunge lokwenziwa kanye nokuhlukaniswa kwesibopho lapho wengeza i-replica lude impela.

I-opharetha ku-Kubernetes yokuphatha amaqoqo esizindalwazi. Vladislav Klimenko (Altinity, 2019)

Siyaqhubeka nemisebenzi yethu ephathekayo. Uma usuvele une-cluster, ungathutha ukucushwa.

I-opharetha ku-Kubernetes yokuphatha amaqoqo esizindalwazi. Vladislav Klimenko (Altinity, 2019)

Sikwenzele ukuze ukwazi ukunamathisela ngqo ku-xml ekhona, eqondwa yi-ClickHouse.

I-opharetha ku-Kubernetes yokuphatha amaqoqo esizindalwazi. Vladislav Klimenko (Altinity, 2019)

Ungakwazi ukushuna kahle i-ClickHouse. Ukuthunyelwa okuklanyiwe nje yilokho engikhulume ngakho lapho ngichaza i-hostPath, isitoreji sendawo. Le yindlela yokwenza ukuthunyelwa kwezoni ngendlela efanele.

I-opharetha ku-Kubernetes yokuphatha amaqoqo esizindalwazi. Vladislav Klimenko (Altinity, 2019)

Umsebenzi olandelayo osebenzayo uwukuqapha.

I-opharetha ku-Kubernetes yokuphatha amaqoqo esizindalwazi. Vladislav Klimenko (Altinity, 2019)

Uma iqoqo lethu lishintsha, kuzomele silungiselele ukuqapha ngezikhathi ezithile.

Ake sibheke umdwebo. Sesike sabheka imicibisholo eluhlaza lapha. Manje ake sibheke imicibisholo ebomvu. Lena yindlela esifuna ukuqapha ngayo iqoqo lethu. Amamethrikhi asuka kuqoqo le-ClickHouse angena kanjani ku-Prometheus, bese e-Grafana.

I-opharetha ku-Kubernetes yokuphatha amaqoqo esizindalwazi. Vladislav Klimenko (Altinity, 2019)

Yibuphi ubunzima ngokuqapha? Kungani lokhu kuvezwa njengohlobo oluthile lwempumelelo? Ubunzima bukhona ku-dynamics. Uma sineqoqo elilodwa futhi limile, lapho-ke singasetha ukuqapha kanye futhi singabe sisazihlupha.

Kodwa uma sinamaqoqo amaningi, noma okuthile kushintsha njalo, khona-ke inqubo iyaguquguquka. Futhi ukulungisa kabusha ukuqapha njalo kuwukumosha izinsiza nesikhathi, i.e. ngisho ubuvila nje. Lokhu kudinga ukwenziwa ngokuzenzakalelayo. Ubunzima bukhona ku-dynamics yenqubo. Futhi u-opharetha wenza lokhu ngokuzenzakalelayo.

I-opharetha ku-Kubernetes yokuphatha amaqoqo esizindalwazi. Vladislav Klimenko (Altinity, 2019)

Iqoqo lethu lakhula kanjani? Ekuqaleni wayenjalo.

I-opharetha ku-Kubernetes yokuphatha amaqoqo esizindalwazi. Vladislav Klimenko (Altinity, 2019)

Wabe esenjena.

I-opharetha ku-Kubernetes yokuphatha amaqoqo esizindalwazi. Vladislav Klimenko (Altinity, 2019)

Ekugcineni, waba kanje.

Futhi ukuqapha kwenziwa ngokuzenzakalelayo ngu-opharetha. Indawo eyodwa yokungena.

I-opharetha ku-Kubernetes yokuphatha amaqoqo esizindalwazi. Vladislav Klimenko (Altinity, 2019)

Futhi lapho siphuma sibheka ideshibhodi yaseGrafana ukuze sibone ukuthi impilo yeqoqo lethu ibila kanjani ngaphakathi.

Kodwa-ke, ideshibhodi ye-Grafana nayo isatshalaliswa no-opharetha wethu ngqo kukhodi yomthombo. Ungakwazi ukuxhuma futhi usebenzise. I-DevOps yethu inginike lesi sithombe-skrini.

I-opharetha ku-Kubernetes yokuphatha amaqoqo esizindalwazi. Vladislav Klimenko (Altinity, 2019)

Singathanda ukuyaphi ngokulandelayo? Lokhu:

  • Thuthukisa ukuhlola okuzenzakalelayo. Umsebenzi oyinhloko ukuhlola okuzenzakalelayo kwezinguqulo ezintsha.
  • Futhi sifuna ukwenza ngokuzenzakalelayo ukuhlanganiswa ne-ZooKeeper. Futhi kunezinhlelo zokuhlanganisa ne-ZooKeeper-opharetha. Labo. U-opharetha ubhalelwe i-ZooKeeper futhi kunengqondo ukuthi opharetha ababili baqale ukuhlanganisa ukuze bakhe isisombululo esilula kakhulu.
  • Sifuna ukwenza izimpawu ezibalulekile eziyinkimbinkimbi.
  • Ngigqamise ngombala oluhlaza ukuthi sesisondele efeni Lezifanekiso - KWENZIWE, okungukuthi ngokukhishwa okulandelayo kwesisebenzisi sesizoba nefa lezifanekiso. Leli ithuluzi elinamandla elikuvumela ukuthi wakhe ukucupha okuyinkimbinkimbi kusuka ezicucu.
  • Futhi sifuna ukuzenzekelayo kwemisebenzi eyinkimbinkimbi. Okuyinhloko Ukwabelana kabusha.

I-opharetha ku-Kubernetes yokuphatha amaqoqo esizindalwazi. Vladislav Klimenko (Altinity, 2019)

Ake sithathe imiphumela emaphakathi.

I-opharetha ku-Kubernetes yokuphatha amaqoqo esizindalwazi. Vladislav Klimenko (Altinity, 2019)

Yini esiyitholayo ngenxa yalokho? Futhi ingabe kufanelekile ukwenza noma cha? Ingabe kuyadingeka ukuzama ukuhudula i-database ku-Kubernetes futhi usebenzise opharetha ngokujwayelekile kanye no-opharetha we-Alitnity ikakhulukazi?

Ekuphumeni sithola:

  • Ukwenza lula okubalulekile kanye nokuzenzakalela kokumisa, ukuthunyelwa, nokugcinwa.
  • Ukuqapha okwakhelwe ngaphakathi ngokushesha.
  • Futhi izifanekiso ezikhokhiwe ezilungele ukusetshenziswa ezimweni eziyinkimbinkimbi. Isenzo esifana nokwengeza isifaniso asidingi ukwenziwa mathupha. Umsebenzisi uyakwenza lokhu.

I-opharetha ku-Kubernetes yokuphatha amaqoqo esizindalwazi. Vladislav Klimenko (Altinity, 2019)

Kusele umbuzo wokugcina owodwa kuphela. Sesivele sinesizinda solwazi ku-Kubernetes, i-virtualization. Kuthiwani ngokusebenza kwesixazululo esinjalo, ikakhulukazi njengoba i-ClickHouse ilungiselelwe ukusebenza?

Impendulo ithi konke kuhamba kahle! Ngeke ngichaze kabanzi; lesi yisihloko sombiko ohlukile.

I-opharetha ku-Kubernetes yokuphatha amaqoqo esizindalwazi. Vladislav Klimenko (Altinity, 2019)

Kodwa kukhona iphrojekthi efana ne-TSBS. Uyini umsebenzi wayo oyinhloko? Lokhu ukuhlola ukusebenza kwesizindalwazi. Lona umzamo wokuqhathanisa ukufudumala nokufudumala, okuthambile nokuthambile.

Usebenza kanjani? Isethi yedatha eyodwa iyakhiqizwa. Bese le sethi yedatha isetshenziswa kusizindalwazi esihlukene kusetshenziswa isethi efanayo yokuhlola. Futhi i-database ngayinye ixazulula inkinga eyodwa ngendlela eyazi ngayo. Bese ungakwazi ukuqhathanisa imiphumela.

Isivele isekela inqwaba yolwazi olugciniwe. Ngikhombe ezintathu ezibalulekile. Lokhu:

  • I-TimescaleDB.
  • I-InfluxDB.
  • ClickHouse.

I-opharetha ku-Kubernetes yokuphatha amaqoqo esizindalwazi. Vladislav Klimenko (Altinity, 2019)

Ukuqhathanisa kwenziwa nesinye isixazululo esifanayo. Ukuqhathanisa ne-RedShift. Ukuqhathanisa kwenziwa e-Amazon. I-ClickHouse nayo ingaphambi kwawo wonke umuntu kulolu daba.

I-opharetha ku-Kubernetes yokuphatha amaqoqo esizindalwazi. Vladislav Klimenko (Altinity, 2019)

Yiziphi iziphetho ezingafinyelelwa kulokho engikushilo?

  • I-DB ku-Kubernetes ingenzeka. Cishe noma yini ingenzeka, kodwa sekukonke kubonakala sengathi kungenzeka. I-ClickHouse e-Kubernetes ingenzeka ngosizo luka-opharetha wethu.
  • Umsebenzisi usiza ukwenza izinqubo ngokuzenzakalelayo futhi enze ukuphila kube lula ngempela.
  • Ukusebenza kujwayelekile.
  • Futhi kubonakala kithi ukuthi lokhu kungasetshenziswa futhi kufanele kusetshenziswe.

Umthombo ovulekile - sijoyine!

Njengoba ngike ngasho, opharetha ungumthombo ovulekile ngokuphelele womkhiqizo, ngakho-ke kungaba kuhle kakhulu uma inani eliphezulu labantu liwusebenzisa. Sijoyine! Silinde nina nonke!

Siyabonga kubo bonke!

Imibuzo yakho

I-opharetha ku-Kubernetes yokuphatha amaqoqo esizindalwazi. Vladislav Klimenko (Altinity, 2019)

Siyabonga ngombiko! Igama lami ngingu-Anton. Ngivela kwaSEMrush. Ngiyazibuza ukuthi kwenzakalani ngokugawula imithi. Sizwa ngokuqapha, kodwa lutho ngokugawulwa kwemithi, uma sikhuluma ngalo lonke iqoqo. Isibonelo, sikhulise iqoqo kuhadiwe. Futhi sisebenzisa ukugawula okuphakathi nendawo, sikuqoqe kube yinqwaba evamile sisebenzisa izindlela ezijwayelekile. Bese kusuka lapho sithola idatha esiyithandayo.

Umbuzo omuhle, okungukuthi ukungena ohlwini lwama-todo. I-opharetha yethu ayikwenzi lokhu ngokuzenzakalelayo. Isathuthuka, iphrojekthi isencane impela. Siyasiqonda isidingo sokugawula imithi. Lesi futhi isihloko esibaluleke kakhulu. Futhi cishe ayibalulekile kangako kunokuqapha. Kodwa okokuqala ohlwini lokuqaliswa kwakuwukuqapha. Kuzoba khona ukugawulwa kwemithi. Ngokwemvelo, sizama ukwenza ngokuzenzakalelayo zonke izici zempilo yeqoqo. Ngakho-ke, impendulo iwukuthi okwamanje opharetha, ngeshwa, akazi ukuthi angakwenza kanjani lokhu, kodwa kusezinhlelweni, sizokwenza. Uma ufuna ukujoyina, sicela udonse isicelo.

Sawubona! Siyabonga ngombiko! Nginombuzo ojwayelekile ohlobene ne-Persistent Volumes. Uma sakha ukucushwa nalo opharetha, u-opharetha unquma kanjani ukuthi iyiphi i-node esinediski ethile noma ifolda enamathiselwe? Kumelwe siqale simchazele ukuthi sicela ubeke i-ClickHouse yethu kulawa ma-node anediski?

Ngokwazi kwami, lo mbuzo uwukuqhutshekwa kwesitoreji sendawo, ikakhulukazi ingxenye ye-hostPath yayo. Lokhu kufana nokuchazela lonke uhlelo ukuthi i-pod idinga ukwethulwa endaweni enjalo naleyo, lapho sinediski exhumeke ngokomzimba, efakwe endleleni enjalo naleyo. Lesi yisigaba sonke engisithinte ngokukha phezulu ngoba impendulo yakhona inkulu impela.

Kafushane kubukeka kanje. Ngokwemvelo, sidinga ukunikeza le miqulu. Okwamanje, akukho ukuhlinzekwa okuguquguqukayo kwisitoreji sendawo, ngakho-ke i-DevOps kufanele isike amadiski ngokwawo, la mavolumu. Futhi kufanele bachaze ukunikezwa kuka-Kubernetes ukuthi uzoba namavolumu aqhubekayo ekilasi elinjalo nelinjalo, atholakala ezindaweni ezinjalo nezinjalo. Khona-ke uzodinga ukuchaza u-Kubernetes ukuthi ama-pods adinga isigaba esinjalo nesinjalo sokugcina sendawo kudingeka aqondiswe kuphela ku-node enjalo nanjalo usebenzisa amalebula. Ngalezi zinhloso, opharetha unamandla okunikeza uhlobo oluthile lwelebula kanye nesenzakalo esisodwa somsingathi ngamunye. Futhi kuvela ukuthi ama-pods azohanjiswa yi-Kubernetes ukuze asebenze kuphela kuma-node ahlangabezana nezidingo, amalebula, ngamagama alula. Abalawuli babela amalebula namadiski okuhlinzeka mathupha. Bese iyakala.

Futhi inketho yesithathu, yendawo, esiza ukwenza lokhu kube lula. Njengoba ngike ngagcizelela, lona umsebenzi onzima wokulungisa, ogcina usiza ukuthola ukusebenza okuphezulu.

Nginombuzo wesibili ohlobene nalokhu. I-Kubernetes yaklanywa ngendlela yokuthi akunandaba ukuthi silahlekelwa indawo noma cha. Yini okufanele siyenze kuleli cala uma silahlekelwe indawo lapho i-shard yethu ilenga khona?

Yebo, uKubernetes ekuqaleni wayebekwe ukuthi ubuhlobo bethu nama-pods ethu bufana nezinkomo, kodwa lapha nathi idiski ngayinye iba yinto efana nesilwane esifuywayo. Kunenkinga yokuthi asikwazi ukuvele sizilahle. Futhi ukuthuthukiswa kwe-Kubernetes kuhamba ngendlela yokuthi akunakwenzeka ukuyiphatha ngokuphelele ngefilosofi, njengokungathi iwumthombo olahliwe ngokuphelele.

Manje ngombuzo osebenzayo. Yini okufanele uyenze uma ulahlekelwe i-node lapho idiski yayikhona? Lapha inkinga ixazululwa ngezinga eliphezulu. Endabeni ye-ClickHouse, sinezifaniso ezisebenza ezingeni eliphezulu, i.e. ezingeni le-ClickHouse.

Uyini umphumela wokuthambekela? I-DevOps inesibopho sokuqinisekisa ukuthi idatha ayilahleki. Kumelwe amise ukuphindaphinda ngendlela efanele futhi kufanele aqinisekise ukuthi ukuphindaphinda kuyasebenza. Isifaniso esisezingeni le-ClickHouse kufanele sibe nedatha eyimpinda. Lena akuyona inkinga exazululwa ngu-opharetha. Futhi hhayi inkinga i-Kubernetes ngokwayo eyixazululayo. Lokhu kusezingeni le-ClickHouse.

Yini okufanele uyenze uma i-iron node yakho iwa? Futhi kuvela ukuthi uzodinga ukufaka eyesibili, unikeze kahle idiski kuyo, futhi usebenzise amalebula. Futhi ngemuva kwalokho, izohlangabezana nezidingo ukuthi u-Kubernetes angaqalisa i-pod yesibonelo kuyo. UKubernetes uzoyethula. Inombolo yakho yama-pod ayanele ukuhlangabezana nenombolo eshiwo. Izodlula kulo mjikelezo engiwubonisile. Futhi ezingeni eliphezulu kakhulu, i-ClickHouse izoqonda ukuthi sifake i-replica, isengenalutho futhi sidinga ukuqala ukudlulisa idatha kuyo. Labo. Le nqubo ayikazenzeki kahle.

Siyabonga ngombiko! Uma zonke izinhlobo zezinto ezimbi zenzeka, u-opharetha uyaphahlazeka futhi aqale kabusha, futhi ngaleso sikhathi imicimbi ifika, ingabe uyakuphatha lokhu ngandlela thile?

Kwenzekani uma u-opharetha ephahlazekile futhi waqala kabusha, akunjalo?

Yebo. Futhi ngaleso sikhathi izenzakalo zafika.

Umsebenzi walokho okufanele ukwenze kuleli cala wabiwe ngokwengxenye phakathi komqhubi no-Kubernetes. U-Kubernetes unamandla okudlala futhi umcimbi owenzekile. Uyadlala futhi. Futhi umsebenzi ka-opharetha ukuqinisekisa ukuthi uma irekhodi lomcimbi lidlalwa ngaye, le micimbi ayinalutho. Futhi ukuze ukwenzeka okuphindaphindiwe komcimbi ofanayo kungaphuli uhlelo lwethu. Futhi opharetha wethu ubhekana nalo msebenzi.

Sawubona! Siyabonga ngombiko! Dmitry Zavyalov, inkampani Smedova. Ingabe zikhona izinhlelo zokwengeza ikhono lokulungisa nge-haproxy ku-opharetha? Ngingaba nentshisekelo kwenye ibhalansi ngaphandle kwejwayelekile, ukuze ihlakaniphe futhi iqonde ukuthi i-ClickHouse ikhona ngempela.

Ukhuluma nge-Ingress?

Yebo, shintsha i-Ingress nge-haproxy. Ku-haproxy ungacacisa i-topology yeqoqo lapho inezifaniso.

Asikacabangi ngakho. Uma uyidinga futhi ungachaza ukuthi kungani idingeka, khona-ke uzokwazi ukuyisebenzisa, ikakhulukazi uma ufuna ukubamba iqhaza. Sizokujabulela ukucabangela inketho. Impendulo emfushane ithi cha, okwamanje asinakho ukusebenza okunjalo. Siyabonga ngethiphu, sizolubheka lolu daba. Futhi uma futhi uchaza icala lokusebenzisa nokuthi kungani lidingeka ekusebenzeni, isibonelo, dala izinkinga ku-GitHub, khona-ke lokho kuzoba kuhle.

Sekwenzekile.

Kuhle. Sivuleleke kunoma yiziphi iziphakamiso. Futhi i-haproxy yengezwa kuhlu lwe-todo. Uhlu lwe-todo luyakhula, alunciphi okwamanje. Kodwa lokhu kuhle, kusho ukuthi umkhiqizo uyadingeka.

Source: www.habr.com

Engeza amazwana