Oṣiṣẹ ni Kubernetes fun ṣiṣakoso awọn iṣupọ data data. Vladislav Klimenko (Altinity, 2019)

Oṣiṣẹ ni Kubernetes fun ṣiṣakoso awọn iṣupọ data data. Vladislav Klimenko (Altinity, 2019)

Ijabọ naa ti yasọtọ si awọn ọran iṣe ti idagbasoke oniṣẹ kan ni Kubernetes, ṣe apẹrẹ faaji rẹ ati awọn ipilẹ iṣẹ ṣiṣe.

Ni apakan akọkọ ti ijabọ naa a yoo gbero:

  • Kini onišẹ ni Kubernetes ati idi ti o nilo;
  • bawo ni deede oniṣẹ ṣe simplifies iṣakoso ti awọn ọna ṣiṣe eka;
  • ohun ti oniṣẹ le ati ko le ṣe.

Nigbamii, jẹ ki a lọ siwaju si jiroro lori eto inu ti oniṣẹ. Jẹ ki a wo faaji ati iṣẹ ti oniṣẹ ni igbese nipasẹ igbese. Jẹ ki a wo ni kikun:

  • ibaraenisepo laarin oniṣẹ ati Kubernetes;
  • kini awọn iṣẹ ti oniṣẹ ṣe ati awọn iṣẹ wo ni o ṣe aṣoju si Kubernetes.

Jẹ ki a wo iṣakoso awọn shards ati awọn ẹda data ni Kubernetes.
Nigbamii, a yoo jiroro awọn ọran ipamọ data:

  • Bii o ṣe le ṣiṣẹ pẹlu Ibi ipamọ Itẹpẹ lati oju wiwo oniṣẹ;
  • pitfalls ti lilo Agbegbe Ibi ipamọ.

Ni apa ikẹhin ti ijabọ naa, a yoo gbero awọn apẹẹrẹ ti o wulo ti lilo clickhouse-onišẹ lati Amazon tabi Google awọsanma Service. Ijabọ naa da lori apẹẹrẹ ti idagbasoke ati iriri iṣẹ ti oniṣẹ kan fun ClickHouse.

Fidio:

Orukọ mi ni Vladislav Klimenko. Loni Mo fẹ lati sọrọ nipa iriri wa ni idagbasoke ati ṣiṣiṣẹ oniṣẹ kan, ati pe eyi jẹ oniṣẹ amọja fun ṣiṣakoso awọn iṣupọ data data. Fun apere ClickHouse-onišẹ lati ṣakoso awọn ClickHouse iṣupọ.

Oṣiṣẹ ni Kubernetes fun ṣiṣakoso awọn iṣupọ data data. Vladislav Klimenko (Altinity, 2019)

Kini idi ti a ni aye lati sọrọ nipa oniṣẹ ati ClickHouse?

  • A ṣe atilẹyin ati idagbasoke ClickHouse.
  • Ni akoko yii, a n gbiyanju lati ṣe ilowosi wa laiyara si idagbasoke ClickHouse. Ati pe a jẹ keji lẹhin Yandex ni awọn ofin ti iwọn awọn ayipada ti a ṣe si ClickHouse.
  • A n gbiyanju lati ṣe awọn iṣẹ akanṣe fun ilolupo ClickHouse.

Emi yoo fẹ lati sọ fun ọ nipa ọkan ninu awọn iṣẹ akanṣe wọnyi. Eyi jẹ nipa ClickHouse-operator fun Kubernetes.

Ninu ijabọ mi Emi yoo fẹ lati fi ọwọ kan awọn akọle meji:

  • Koko akọkọ ni bii oniṣẹ iṣakoso data ClickHouse wa ṣe n ṣiṣẹ ni Kubernetes.
  • Koko-ọrọ keji ni bii oniṣẹ ẹrọ eyikeyi ṣe n ṣiṣẹ, ie bii o ṣe n ṣepọ pẹlu Kubernetes.

Sibẹsibẹ, awọn ibeere meji wọnyi yoo pin laarin gbogbo ijabọ mi.

Oṣiṣẹ ni Kubernetes fun ṣiṣakoso awọn iṣupọ data data. Vladislav Klimenko (Altinity, 2019)

Tani yoo nifẹ lati tẹtisi ohun ti Mo n gbiyanju lati sọ?

  • Yoo jẹ anfani julọ si awọn ti o ṣiṣẹ awọn oniṣẹ.
  • Tabi fun awọn ti o fẹ lati ṣe ara wọn lati ni oye bi o ṣe n ṣiṣẹ ni inu, bawo ni oniṣẹ ṣe n ṣepọ pẹlu Kubernetes, ati awọn ipalara wo le han.

Oṣiṣẹ ni Kubernetes fun ṣiṣakoso awọn iṣupọ data data. Vladislav Klimenko (Altinity, 2019)

Lati loye ti o dara julọ ohun ti a yoo jiroro loni, o jẹ imọran ti o dara lati mọ bii Kubernetes ṣe n ṣiṣẹ ati ni diẹ ninu ikẹkọ awọsanma ipilẹ.

Oṣiṣẹ ni Kubernetes fun ṣiṣakoso awọn iṣupọ data data. Vladislav Klimenko (Altinity, 2019)

Kini ClickHouse? Eyi jẹ data data columnar pẹlu awọn ẹya kan pato fun sisẹ lori ayelujara ti awọn ibeere itupalẹ. Ati pe o jẹ orisun ṣiṣi patapata.

Ati pe o ṣe pataki fun wa lati mọ awọn nkan meji nikan. O nilo lati mọ pe eyi jẹ ibi ipamọ data, nitorinaa ohun ti Emi yoo sọ fun ọ yoo wulo fun fere eyikeyi data data. Ati awọn ti o daju wipe ClickHouse DBMS irẹjẹ gan daradara, yoo fun fere laini scalability. Ati nitorinaa, ipo iṣupọ jẹ ipo adayeba fun ClickHouse. Ati pe a nifẹ pupọ julọ lati jiroro bi a ṣe le sin iṣupọ ClickHouse ni Kubernetes.

Oṣiṣẹ ni Kubernetes fun ṣiṣakoso awọn iṣupọ data data. Vladislav Klimenko (Altinity, 2019)

Kini idi ti o nilo nibẹ? Kilode ti a ko le tẹsiwaju lati ṣiṣẹ pẹlu ara wa? Ati awọn idahun jẹ imọ-ẹrọ ni apakan ati apakan ti eto.

  • Ni iṣe, a n ni alabapade ipo kan nibiti ni awọn ile-iṣẹ nla ti o fẹrẹ jẹ pe gbogbo awọn paati ti wa tẹlẹ ni Kubernetes. Awọn aaye data wa ni ita.
  • Ati pe a n beere ibeere naa siwaju sii: “Ṣe eyi le gbe sinu?” Nitorinaa, awọn ile-iṣẹ nla n gbiyanju lati ṣaṣeyọri isọdọkan ti o pọ julọ ti iṣakoso lati ni anfani ni iyara lati ṣakoso awọn ile itaja data wọn.
  • Ati pe eyi paapaa ṣe iranlọwọ ti o ba nilo aye ti o pọju lati tun ṣe ohun kanna ni aaye tuntun, ie gbigbe gbigbe ti o pọju.

Oṣiṣẹ ni Kubernetes fun ṣiṣakoso awọn iṣupọ data data. Vladislav Klimenko (Altinity, 2019)

Bawo ni o rọrun tabi nira? Eyi, dajudaju, le ṣee ṣe pẹlu ọwọ. Ṣugbọn kii ṣe ki o rọrun, nitori a ni afikun idiju ti iṣakoso Kubernetes funrararẹ, ṣugbọn ni akoko kanna awọn pato ti ClickHouse ti wa ni ipilẹ. Ati iru awọn abajade akojọpọ.

Ati pe gbogbo eyi n funni ni eto imọ-ẹrọ ti o tobi pupọ, eyiti o nira pupọ lati ṣakoso, nitori Kubernetes mu awọn ọran ti ara rẹ wa si iṣẹ, ati ClickHouse mu awọn ọran tirẹ wa si iṣẹ ojoojumọ. Paapa ti a ba ni ọpọlọpọ awọn ClickHouses, ati pe a nilo lati ṣe nkan nigbagbogbo pẹlu wọn.

Oṣiṣẹ ni Kubernetes fun ṣiṣakoso awọn iṣupọ data data. Vladislav Klimenko (Altinity, 2019)

Pẹlu iṣeto ni agbara, ClickHouse ni nọmba ti o tobi pupọ ti awọn ọran ti o ṣẹda ẹru igbagbogbo lori DevOps:

  • Nigba ti a ba fẹ yi nkan pada ni ClickHouse, fun apẹẹrẹ, fi ẹda kan kun tabi shard, lẹhinna a nilo lati ṣakoso iṣeto naa.
  • Lẹhinna yi eto data pada, nitori ClickHouse ni ọna sharding kan pato. Nibẹ ni o nilo lati dubulẹ awọn aworan atọka data, gbe awọn atunto.
  • O nilo lati ṣeto ibojuwo.
  • Gbigba awọn akọọlẹ fun awọn shards tuntun, fun awọn ẹda tuntun.
  • Ṣe abojuto atunṣe.
  • Ati tun bẹrẹ.

Iwọnyi jẹ awọn iṣẹ ṣiṣe deede ti Emi yoo fẹ gaan lati jẹ ki o rọrun lati lo.

Oṣiṣẹ ni Kubernetes fun ṣiṣakoso awọn iṣupọ data data. Vladislav Klimenko (Altinity, 2019)

Kubernetes funrararẹ ṣe iranlọwọ daradara ni iṣiṣẹ, ṣugbọn lori awọn nkan eto ipilẹ.

Kubernetes dara ni irọrun ati adaṣe awọn nkan bii:

  • Imularada.
  • Tun bẹrẹ.
  • Iṣakoso eto ipamọ.

Iyẹn dara, iyẹn ni itọsọna ti o tọ, ṣugbọn ko ni oye patapata nipa bii o ṣe le ṣiṣẹ iṣupọ data kan.

A fẹ diẹ sii, a fẹ ki gbogbo database ṣiṣẹ ni Kubernetes.

Oṣiṣẹ ni Kubernetes fun ṣiṣakoso awọn iṣupọ data data. Vladislav Klimenko (Altinity, 2019)

Emi yoo fẹ lati gba nkan bi bọtini pupa idan nla kan ti o tẹ ati iṣupọ kan pẹlu awọn iṣẹ ṣiṣe lojoojumọ ti o nilo lati yanju ti wa ni imuṣiṣẹ ati ṣetọju ni gbogbo ọna igbesi aye rẹ. ClickHouse iṣupọ ni Kubernetes.

Ati pe a gbiyanju lati ṣe ojutu kan ti yoo ṣe iranlọwọ lati jẹ ki iṣẹ naa rọrun. Eyi jẹ oniṣẹ ClickHouse fun Kubernetes lati Altinity.

Oṣiṣẹ ni Kubernetes fun ṣiṣakoso awọn iṣupọ data data. Vladislav Klimenko (Altinity, 2019)

Oniṣẹ jẹ eto ti iṣẹ akọkọ rẹ ni lati ṣakoso awọn eto miiran, ie o jẹ oluṣakoso.

Ati pe o ni awọn ilana ihuwasi. O le pe imọ codified yii nipa agbegbe koko-ọrọ naa.

Ati pe iṣẹ-ṣiṣe akọkọ rẹ ni lati jẹ ki igbesi aye DevOps rọrun ati dinku micromanagement, ki o (DevOps) ti ronu tẹlẹ ni awọn ipo giga, ie, ki o (DevOps) ko ni ipa ninu micromanagement, ki o ko ni tunto. gbogbo awọn alaye pẹlu ọwọ.

Ati pe oniṣẹ nikan jẹ oluranlọwọ roboti kan ti o ṣe pẹlu awọn microtasks ati iranlọwọ DevOps.

Oṣiṣẹ ni Kubernetes fun ṣiṣakoso awọn iṣupọ data data. Vladislav Klimenko (Altinity, 2019)

Kini idi ti o nilo oniṣẹ ẹrọ kan? O ṣe daradara daradara ni awọn agbegbe meji:

  • Nigbati alamọja ti o ba ClickHouse ko ni iriri ti o to, ṣugbọn tẹlẹ nilo lati ṣiṣẹ ClickHouse, oniṣẹ n ṣe iṣẹ ṣiṣe ati gba ọ laaye lati ṣiṣẹ iṣupọ ClickHouse pẹlu iṣeto eka dipo, laisi lilọ sinu alaye pupọ nipa bii gbogbo rẹ ṣe n ṣiṣẹ. inu. O kan fun u ni awọn iṣẹ-ṣiṣe giga, ati pe o ṣiṣẹ.
  • Ati iṣẹ-ṣiṣe keji ninu eyiti o ṣe dara julọ ni nigbati o jẹ dandan lati ṣe adaṣe nọmba nla ti awọn iṣẹ-ṣiṣe aṣoju. Yọ awọn microtasks kuro lati awọn alakoso eto.

Oṣiṣẹ ni Kubernetes fun ṣiṣakoso awọn iṣupọ data data. Vladislav Klimenko (Altinity, 2019)

Eyi nilo pupọ julọ boya nipasẹ awọn ti o ṣẹṣẹ bẹrẹ irin-ajo wọn, tabi nipasẹ awọn ti o nilo lati ṣe adaṣe pupọ.

Oṣiṣẹ ni Kubernetes fun ṣiṣakoso awọn iṣupọ data data. Vladislav Klimenko (Altinity, 2019)

Bawo ni ọna orisun oniṣẹ ṣe yatọ si awọn eto miiran? Helm wa. O tun ṣe iranlọwọ lati fi ClickHouse sori ẹrọ; o le fa awọn shatti helm, eyiti yoo paapaa fi gbogbo akopọ ClickHouse sori ẹrọ. Kini iyatọ laarin oniṣẹ ati kanna, fun apẹẹrẹ, Helm?

Iyatọ ipilẹ akọkọ ni pe Helm jẹ iṣakoso package ati oniṣẹ lọ ni igbesẹ kan siwaju. Eyi jẹ atilẹyin fun gbogbo igbesi aye. Eyi kii ṣe fifi sori ẹrọ nikan, iwọnyi jẹ awọn iṣẹ ṣiṣe lojoojumọ ti o pẹlu iwọn, sharding, ie ohun gbogbo ti o nilo lati ṣee lakoko igbesi aye (ti o ba jẹ dandan, lẹhinna piparẹ paapaa) - gbogbo eyi ni ipinnu nipasẹ oniṣẹ. O gbiyanju lati ṣe adaṣe ati ṣetọju gbogbo igbesi aye sọfitiwia. Eyi ni iyatọ ipilẹ rẹ lati awọn solusan miiran ti a gbekalẹ.

Oṣiṣẹ ni Kubernetes fun ṣiṣakoso awọn iṣupọ data data. Vladislav Klimenko (Altinity, 2019)

Iyẹn jẹ apakan iforo, jẹ ki a tẹsiwaju.

Bawo ni a ṣe kọ oniṣẹ ẹrọ wa? A n gbiyanju lati sunmọ ọran naa lati ṣakoso iṣupọ ClickHouse gẹgẹbi orisun kan.

Nibi a ni data titẹ sii ni apa osi ti aworan naa. Eyi jẹ YAML pẹlu sipesifikesonu iṣupọ kan, eyiti o kọja si Kubernetes ni ọna Ayebaye nipasẹ kubectl. Nibẹ ni oniṣẹ wa gbe o si ṣe idan rẹ. Ati ni abajade a gba ero atẹle naa. Eyi jẹ imuse ti ClickHouse ni Kubernetes.

Ati lẹhinna a yoo laiyara wo bi oniṣẹ ṣe n ṣiṣẹ gangan, kini awọn iṣẹ ṣiṣe aṣoju le ṣee yanju. A yoo ṣe akiyesi awọn iṣẹ-ṣiṣe aṣoju nikan nitori a ni akoko to lopin. Ati pe kii ṣe ohun gbogbo ti oniṣẹ le pinnu ni yoo jiroro.

Oṣiṣẹ ni Kubernetes fun ṣiṣakoso awọn iṣupọ data data. Vladislav Klimenko (Altinity, 2019)

Jẹ ká bẹrẹ lati iwa. Ise agbese wa jẹ orisun ṣiṣi patapata, nitorinaa o le rii bii o ṣe n ṣiṣẹ lori GitHub. Ati pe o le tẹsiwaju lati awọn akiyesi pe ti o ba kan fẹ lati ṣe ifilọlẹ, lẹhinna o le bẹrẹ pẹlu Itọsọna Ibẹrẹ Yara.

Ti o ba fẹ lati ni oye ni awọn alaye, lẹhinna a gbiyanju lati ṣetọju iwe-ipamọ ni diẹ sii tabi kere si fọọmu ti o tọ.

Oṣiṣẹ ni Kubernetes fun ṣiṣakoso awọn iṣupọ data data. Vladislav Klimenko (Altinity, 2019)

Jẹ ká bẹrẹ pẹlu kan ilowo isoro. Iṣẹ akọkọ, nibiti gbogbo wa fẹ bẹrẹ, ni lati ṣiṣẹ apẹẹrẹ akọkọ bakan. Bawo ni MO ṣe le ṣe ifilọlẹ ClickHouse nipa lilo oniṣẹ, paapaa ti Emi ko mọ bi o ṣe n ṣiṣẹ gaan? A n kọ iwe ifihan kan, nitori ... Gbogbo ibaraẹnisọrọ pẹlu k8s jẹ ibaraẹnisọrọ nipasẹ awọn ifihan.

Oṣiṣẹ ni Kubernetes fun ṣiṣakoso awọn iṣupọ data data. Vladislav Klimenko (Altinity, 2019)

Eleyi jẹ iru kan eka manifesto. Ohun ti a ti ṣe afihan ni pupa ni ohun ti a nilo lati fi oju si. A beere lọwọ oniṣẹ lati ṣẹda iṣupọ kan ti a npè ni demo.

Iwọnyi jẹ awọn apẹẹrẹ ipilẹ fun bayi. Ibi ipamọ ko tii ṣe apejuwe, ṣugbọn a yoo pada si ibi ipamọ diẹ diẹ nigbamii. Ni bayi, a yoo ṣe akiyesi awọn agbara ti idagbasoke iṣupọ.

A da yi manifesto. A jẹun si oniṣẹ ẹrọ wa. O ṣiṣẹ, o ṣe idan.

Oṣiṣẹ ni Kubernetes fun ṣiṣakoso awọn iṣupọ data data. Vladislav Klimenko (Altinity, 2019)

A wo ni console. Awọn paati mẹta jẹ iwulo: Pod kan, Awọn iṣẹ meji, ati StatefulSet kan.

Oniṣẹ naa ti ṣiṣẹ, ati pe a le rii kini gangan ti o ṣẹda.

Oṣiṣẹ ni Kubernetes fun ṣiṣakoso awọn iṣupọ data data. Vladislav Klimenko (Altinity, 2019)

O ṣẹda nkan bi eleyi. A ni StatefulSet, Pod, ConfigMap fun ẹda kọọkan, ConfigMap fun gbogbo iṣupọ. Awọn iṣẹ nilo bi awọn aaye titẹsi sinu iṣupọ.

Awọn iṣẹ jẹ Iṣẹ Iwontunwonsi Fifuye aringbungbun ati pe o tun le ṣee lo fun ẹda kọọkan, fun shard kọọkan.

Iṣupọ ipilẹ wa dabi iru eyi. O ti wa ni lati kan nikan ipade.

Oṣiṣẹ ni Kubernetes fun ṣiṣakoso awọn iṣupọ data data. Vladislav Klimenko (Altinity, 2019)

Jẹ ká lọ siwaju ati complicate ohun. A nilo lati fọ iṣupọ naa.

Oṣiṣẹ ni Kubernetes fun ṣiṣakoso awọn iṣupọ data data. Vladislav Klimenko (Altinity, 2019)

Awọn iṣẹ-ṣiṣe wa n dagba, awọn agbara ti bẹrẹ. A fẹ lati fi shard kan kun. A tẹle idagbasoke. A n yipada sipesifikesonu wa. A fihan pe a fẹ awọn shards meji.

Eyi jẹ faili kanna ti o dagbasoke ni agbara pẹlu idagbasoke eto naa. Ibi ipamọ rara, ibi ipamọ yoo jẹ ijiroro siwaju, eyi jẹ koko-ọrọ lọtọ.

A ifunni YAML onišẹ ati ki o wo ohun ti o ṣẹlẹ.

Oṣiṣẹ ni Kubernetes fun ṣiṣakoso awọn iṣupọ data data. Vladislav Klimenko (Altinity, 2019)

Oniṣẹ naa ronu ati ṣe awọn nkan wọnyi. A ti ni Pods meji tẹlẹ, Awọn iṣẹ mẹta ati, lojiji, 2 StatefulSets. Kí nìdí 2 StatefulSets?

Oṣiṣẹ ni Kubernetes fun ṣiṣakoso awọn iṣupọ data data. Vladislav Klimenko (Altinity, 2019)

Lori aworan atọka o dabi eyi - eyi ni ipo ibẹrẹ wa, nigbati a ni podu kan.

Oṣiṣẹ ni Kubernetes fun ṣiṣakoso awọn iṣupọ data data. Vladislav Klimenko (Altinity, 2019)

O di bi eleyi. Nítorí jina ohun gbogbo ni o rọrun, o ti a pidánpidán.

Oṣiṣẹ ni Kubernetes fun ṣiṣakoso awọn iṣupọ data data. Vladislav Klimenko (Altinity, 2019)

Ati idi ti o wa ni meji StatefulSets? Nibi ti a nilo lati digress ki o si jiroro awọn ibeere ti bawo ni a ṣakoso awọn Pods ni Kubernetes.

Ohun kan wa ti a pe ni StatefulSet ti o fun ọ laaye lati ṣẹda ṣeto awọn Pods lati awoṣe kan. Koko ifosiwewe nibi ni Àdàkọ. Ati pe o le ṣe ifilọlẹ ọpọlọpọ awọn Pods ni lilo awoṣe kan ni StatefulSet kan. Ati gbolohun ọrọ bọtini nibi ni “ọpọlọpọ awọn Pods fun awoṣe kan.”

Ati pe idanwo nla wa lati ṣe gbogbo iṣupọ, ti o ṣajọpọ sinu StatefulSet kan. Yoo ṣiṣẹ, ko si iṣoro pẹlu rẹ. Ṣugbọn akiyesi kan wa. Ti a ba fẹ lati pejọ iṣupọ orisirisi, iyẹn ni, lati awọn ẹya pupọ ti ClickHouse, lẹhinna awọn ibeere bẹrẹ lati dide. Bẹẹni, StatefulSet le ṣe imudojuiwọn yiyi, ati pe nibẹ o le yi ẹya tuntun jade, ṣalaye pe o nilo lati gbiyanju ko ju ọpọlọpọ awọn apa ni akoko kanna.

Ṣugbọn ti a ba ṣe afikun iṣẹ-ṣiṣe naa ki a sọ pe a fẹ lati ṣe iṣupọ oniruuru patapata ati pe a ko fẹ yipada lati ẹya atijọ si ọkan tuntun nipa lilo imudojuiwọn yiyi, ṣugbọn a fẹ lati ṣẹda iṣupọ oniruuru mejeeji ni awọn ofin ti o yatọ si awọn ẹya ti ClickHouse ati ni awọn ofin ti o yatọ si ipamọ. A fẹ, fun apẹẹrẹ, lati ṣe diẹ ninu awọn ẹda lori awọn disiki ọtọtọ, lori awọn ti o lọra, ni gbogbogbo, lati kọ akojọpọ oriṣiriṣi kan patapata. Ati nitori otitọ pe StatefulSet ṣe ojutu idiwọn lati awoṣe kan, ko si ọna lati ṣe eyi.

Lẹhin ero diẹ, a pinnu pe a yoo ṣe ni ọna yii. A ni ẹda kọọkan ni StatefulSet tirẹ. Nibẹ ni o wa diẹ ninu awọn drawbacks si yi ojutu, sugbon ni asa o ti wa ni gbogbo awọn patapata encapsulated nipasẹ awọn oniṣẹ. Ati pe ọpọlọpọ awọn anfani wa. A le kọ iṣupọ gangan ti a fẹ, fun apẹẹrẹ, eyi ti o yatọ patapata. Nitorinaa, ninu iṣupọ ninu eyiti a ni awọn shards meji pẹlu ẹda kan, a yoo ni 2 StatefulSets ati 2 Pods ni deede nitori a yan ọna yii fun awọn idi ti a sọ loke lati ni anfani lati kọ iṣupọ oniruuru kan.

Oṣiṣẹ ni Kubernetes fun ṣiṣakoso awọn iṣupọ data data. Vladislav Klimenko (Altinity, 2019)

Jẹ ki a pada si awọn iṣoro to wulo. Ninu iṣupọ wa a nilo lati tunto awọn olumulo, i.e. o nilo lati ṣe diẹ ninu iṣeto ti ClickHouse ni Kubernetes. Awọn oniṣẹ pese gbogbo awọn ti o ṣeeṣe fun yi.

Oṣiṣẹ ni Kubernetes fun ṣiṣakoso awọn iṣupọ data data. Vladislav Klimenko (Altinity, 2019)

A le kọ ohun ti a fẹ taara ni YAML. Gbogbo awọn aṣayan iṣeto ni a ya aworan taara lati YAML yii sinu awọn atunto ClickHouse, eyiti o pin kaakiri jakejado iṣupọ naa.

O le kọ bi eleyi. Eyi jẹ fun apẹẹrẹ. Ọrọigbaniwọle le jẹ ti paroko. Ni pipe gbogbo awọn aṣayan atunto ClickHouse ni atilẹyin. Eyi ni o kan apẹẹrẹ.

Iṣeto iṣupọ ti pin bi ConfigMap kan. Ni iṣe, imudojuiwọn ConfigMap ko waye lesekese, nitorinaa ti iṣupọ ba tobi, lẹhinna ilana ti titari iṣeto ni gba akoko diẹ. Ṣugbọn gbogbo eyi jẹ rọrun pupọ lati lo.

Oṣiṣẹ ni Kubernetes fun ṣiṣakoso awọn iṣupọ data data. Vladislav Klimenko (Altinity, 2019)

Jẹ ká complicate awọn iṣẹ-ṣiṣe. Awọn iṣupọ ti wa ni idagbasoke. A fẹ lati tun data. Iyẹn ni, a ti ni awọn shards meji tẹlẹ, ẹda kan ni ọkọọkan, ati pe a tunto awọn olumulo. A n dagba ati pe a fẹ ṣe atunṣe.

Oṣiṣẹ ni Kubernetes fun ṣiṣakoso awọn iṣupọ data data. Vladislav Klimenko (Altinity, 2019)

Kini a nilo fun atunṣe?

A nilo ZooKeeper. Ni ClickHouse, ẹda ti wa ni itumọ ti lilo ZooKeeper. ZooKeeper nilo ki awọn ẹda ClickHouse oriṣiriṣi ni isokan nipa iru awọn bulọọki data wa lori eyiti ClickHouse.

ZooKeeper le ṣee lo nipasẹ ẹnikẹni. Ti ile-iṣẹ ba ni ZooKeeper ita, lẹhinna o le ṣee lo. Ti kii ba ṣe bẹ, o le fi sii lati ibi ipamọ wa. Insitola wa ti o jẹ ki gbogbo nkan yii rọrun.

Oṣiṣẹ ni Kubernetes fun ṣiṣakoso awọn iṣupọ data data. Vladislav Klimenko (Altinity, 2019)

Ati awọn aworan atọka ibaraenisepo ti gbogbo eto wa jade bi eyi. A ni Kubernetes bi pẹpẹ kan. O ṣiṣẹ oniṣẹ ClickHouse. Mo ya aworan ZooKeeper nibi. Ati pe oniṣẹ n ṣe ajọṣepọ pẹlu ClickHouse mejeeji ati ZooKeeper. Iyẹn ni, awọn abajade ibaraenisepo.

Ati pe gbogbo eyi jẹ pataki fun ClickHouse lati ṣe atunṣe data ni aṣeyọri ni k8s.

Oṣiṣẹ ni Kubernetes fun ṣiṣakoso awọn iṣupọ data data. Vladislav Klimenko (Altinity, 2019)

Jẹ ki a ni bayi wo iṣẹ naa funrararẹ, ni kini ifihan fun atunkọ yoo dabi.

A n ṣafikun awọn apakan meji si ifihan wa. Ni igba akọkọ ti ni ibi ti lati gba ZooKeeper, eyi ti o le jẹ boya inu Kubernetes tabi ita. Eyi jẹ apejuwe nikan. Ati pe a paṣẹ awọn ẹda. Awon. a fẹ meji replicas. Ni lapapọ, a yẹ ki o ni 4 pods ni o wu. A ranti nipa ibi ipamọ, yoo pada diẹ diẹ nigbamii. Ibi ipamọ jẹ itan lọtọ.

Oṣiṣẹ ni Kubernetes fun ṣiṣakoso awọn iṣupọ data data. Vladislav Klimenko (Altinity, 2019)

O je bi eleyi.

Oṣiṣẹ ni Kubernetes fun ṣiṣakoso awọn iṣupọ data data. Vladislav Klimenko (Altinity, 2019)

O di bi eleyi. Awọn ẹda ti wa ni afikun. Ẹkẹrin ko baamu, a gbagbọ pe ọpọlọpọ ninu wọn le wa nibẹ. Ati ZooKeeper ti wa ni afikun si ẹgbẹ. Awọn eto naa n di eka sii.

Oṣiṣẹ ni Kubernetes fun ṣiṣakoso awọn iṣupọ data data. Vladislav Klimenko (Altinity, 2019)

Ati pe o to akoko lati ṣafikun iṣẹ-ṣiṣe atẹle. A yoo fi Jubẹẹlo Ibi ipamọ.

Oṣiṣẹ ni Kubernetes fun ṣiṣakoso awọn iṣupọ data data. Vladislav Klimenko (Altinity, 2019)Fun Ibi ipamọ igbagbogbo a ni awọn aṣayan pupọ.

Ti a ba nṣiṣẹ ni olupese awọsanma, fun apẹẹrẹ, lilo Amazon, Google, lẹhinna idanwo nla wa lati lo ibi ipamọ awọsanma. O rọrun pupọ, o dara.

Ati pe aṣayan keji wa. Eyi jẹ fun ibi ipamọ agbegbe, nigba ti a ni awọn disiki agbegbe lori ipade kọọkan. Aṣayan yii nira pupọ lati ṣe, ṣugbọn ni akoko kanna o jẹ iṣelọpọ diẹ sii.

Oṣiṣẹ ni Kubernetes fun ṣiṣakoso awọn iṣupọ data data. Vladislav Klimenko (Altinity, 2019)

Jẹ ki a wo ohun ti a ni nipa ibi ipamọ awọsanma.

Awọn anfani wa. O rọrun pupọ lati tunto. A nìkan paṣẹ lati ọdọ olupese awọsanma ti jọwọ fun wa ni ibi ipamọ ti iru ati iru agbara, ti iru ati iru kilasi. Awọn kilasi ti ṣeto nipasẹ awọn olupese ni ominira.

Ati pe nibẹ ni a drawback. Fun diẹ ninu awọn, eyi jẹ apadabọ ti kii ṣe pataki. Nitoribẹẹ, diẹ ninu awọn ọran iṣẹ yoo wa. O rọrun pupọ lati lo ati igbẹkẹle, ṣugbọn diẹ ninu awọn ailagbara iṣẹ ṣiṣe wa.

Oṣiṣẹ ni Kubernetes fun ṣiṣakoso awọn iṣupọ data data. Vladislav Klimenko (Altinity, 2019)

Ati nitori ClickHouse ṣe idojukọ pataki lori iṣelọpọ, ọkan le paapaa sọ pe o fa ohun gbogbo ti o le jade, eyiti o jẹ idi ti ọpọlọpọ awọn alabara n gbiyanju lati fun pọ si iṣelọpọ ti o pọju.

Oṣiṣẹ ni Kubernetes fun ṣiṣakoso awọn iṣupọ data data. Vladislav Klimenko (Altinity, 2019)

Ati lati gba pupọ julọ ninu rẹ, a nilo ibi ipamọ agbegbe.

Kubernetes pese awọn abstractions mẹta fun lilo ibi ipamọ agbegbe ni Kubernetes. Eyi:

  • EmptyDir
  • HostPath.
  • agbegbe

Jẹ ki a wo bi wọn ṣe yatọ ati bi wọn ṣe jọra.

Ni akọkọ, ni gbogbo awọn ọna mẹta ti a ni ibi ipamọ - iwọnyi jẹ awọn disiki agbegbe ti o wa ni oju ipade k8s ti ara kanna. Ṣugbọn wọn ni diẹ ninu awọn iyatọ.

Oṣiṣẹ ni Kubernetes fun ṣiṣakoso awọn iṣupọ data data. Vladislav Klimenko (Altinity, 2019)

Jẹ ki a bẹrẹ pẹlu ọkan ti o rọrun julọ, ie. emptyDir. Kini eleyi ni iṣe? Ninu sipesifikesonu wa, a beere fun eto ifipamọ (nigbagbogbo Docker) lati fun wa ni iraye si folda kan lori disiki agbegbe.

Ni iṣe, Docker ṣẹda folda igba diẹ ni ibikan pẹlu awọn ọna tirẹ ati pe o ni hash gigun. Ati ki o pese ohun ni wiwo lati wọle si o.

Bawo ni eyi yoo ṣe ṣiṣẹ-ọlọgbọn? Eyi yoo ṣiṣẹ ni iyara disk agbegbe, i.e. Eyi ni iwọle ni kikun si dabaru rẹ.

Ṣugbọn ọran yii ni aiṣedeede rẹ. Jubẹẹlo jẹ oyimbo dubious ni yi ọrọ. Ni igba akọkọ Docker gbe pẹlu awọn apoti, Jubẹẹlo ti sọnu. Ti Kubernetes ba fẹ gbe Pod yii si disk miiran fun idi kan, data naa yoo sọnu.

Ọna yii dara fun awọn idanwo, nitori pe o ti fihan iyara deede, ṣugbọn fun nkan pataki aṣayan yii ko dara.

Oṣiṣẹ ni Kubernetes fun ṣiṣakoso awọn iṣupọ data data. Vladislav Klimenko (Altinity, 2019)

Nitorina ọna keji wa. Eleyi jẹ hostPath. Ti o ba wo ifaworanhan ti tẹlẹ ati eyi, o le rii iyatọ kan nikan. folda wa gbe lati Docker taara si ipade Kubernetes. O rọrun diẹ nibi. A taara pato ọna lori eto faili agbegbe nibiti a yoo fẹ lati tọju data wa.

Ọna yii ni awọn anfani. Eyi jẹ Jubẹẹlo gidi tẹlẹ, ati Ayebaye kan ni iyẹn. A yoo ni data ti o gba silẹ lori disk ni diẹ ninu awọn adirẹsi.

Awọn alailanfani tun wa. Eyi ni idiju ti iṣakoso. Awọn Kubernetes wa le fẹ lati gbe Pod naa si ipade ti ara miiran. Ati pe eyi ni ibi ti DevOps wa sinu ere. O gbọdọ ṣe alaye ni deede fun gbogbo eto pe awọn adarọ-ese wọnyi le ṣee gbe si awọn apa ti o ni nkan ti a gbe sori awọn ọna wọnyi, ati pe ko si ju oju kan lọ ni akoko kan. O soro pupọ.

Paapa fun awọn idi wọnyi, a ṣe awọn awoṣe ninu oniṣẹ wa lati le tọju gbogbo idiju yii. Ati pe o le sọ nirọrun: “Mo fẹ lati ni apẹẹrẹ kan ti ClickHouse fun oju-ọna ti ara kọọkan ati ni iru ati iru ọna.”

Oṣiṣẹ ni Kubernetes fun ṣiṣakoso awọn iṣupọ data data. Vladislav Klimenko (Altinity, 2019)

Ṣugbọn a kii ṣe awọn nikan ti o nilo iwulo yii, nitorinaa awọn arakunrin lati Kubernetes funrararẹ tun loye pe eniyan fẹ lati ni iwọle si awọn disiki ti ara, nitorinaa wọn pese ipele kẹta.

O n pe ni agbegbe. Nibẹ ni Oba ko si iyato lati išaaju ifaworanhan. Nikan ṣaaju ki o to jẹ dandan lati jẹrisi pẹlu ọwọ pe a ko le gbe awọn adarọ-ese wọnyi lati oju ipade si ipade, nitori wọn gbọdọ wa ni asopọ ni ọna diẹ si disiki ti ara agbegbe, ṣugbọn ni bayi gbogbo imọ yii ni a fi kun ni Kubernetes funrararẹ. Ati pe o wa ni irọrun pupọ lati tunto.

Oṣiṣẹ ni Kubernetes fun ṣiṣakoso awọn iṣupọ data data. Vladislav Klimenko (Altinity, 2019)

Jẹ ki a pada si iṣoro iṣe wa. Jẹ ki a pada si awoṣe YAML. Nibi a ni ipamọ gidi. A pada si. A ṣeto awoṣe VolumeClaim Ayebaye bi ni k8s. Ati pe a ṣe apejuwe iru ibi ipamọ ti a fẹ.

Lẹhin eyi, k8s yoo beere ibi ipamọ. Yoo pin si wa ni StatefulSet. Ati ni ipari yoo wa ni isọnu ClickHouse.

Oṣiṣẹ ni Kubernetes fun ṣiṣakoso awọn iṣupọ data data. Vladislav Klimenko (Altinity, 2019)

A ni eto yii. Ibi ipamọ Iduroṣinṣin wa pupa, eyiti o dabi ẹni pe o tọka pe o nilo lati ṣee.

Oṣiṣẹ ni Kubernetes fun ṣiṣakoso awọn iṣupọ data data. Vladislav Klimenko (Altinity, 2019)

Ati pe o yipada si alawọ ewe. Bayi ClickHouse lori ero iṣupọ k8s ti pari patapata. A ni shards, replicas, ZooKeeper, a ni a gidi Jubẹẹlo, eyi ti o ti muse ni ona kan tabi miiran. Eto naa ti ṣiṣẹ ni kikun tẹlẹ.

Oṣiṣẹ ni Kubernetes fun ṣiṣakoso awọn iṣupọ data data. Vladislav Klimenko (Altinity, 2019)

A tesiwaju lati gbe lori. Iṣupọ wa n dagba. Ati Alexey gbiyanju, o si tu ẹya tuntun ti ClickHouse silẹ.

Iṣẹ iṣe ti o waye - lati ṣe idanwo ẹya tuntun ti ClickHouse lori iṣupọ wa. Ati pe, nipa ti ara, iwọ ko fẹ lati yi gbogbo rẹ jade; o fẹ lati fi ẹya tuntun sinu ẹda kan ni ibikan ni igun jijin, ati boya kii ṣe ẹya tuntun kan, ṣugbọn meji ni ẹẹkan, nitori wọn jade nigbagbogbo.

Kini a le sọ nipa eyi?

Oṣiṣẹ ni Kubernetes fun ṣiṣakoso awọn iṣupọ data data. Vladislav Klimenko (Altinity, 2019)

Nibi ti a ni o kan iru ohun anfani. Iwọnyi jẹ awọn awoṣe podu. O le kọ pe oniṣẹ wa patapata gba ọ laaye lati kọ iṣupọ orisirisi kan. Awon. tunto, ti o bere lati gbogbo replicas ni a ìdìpọ, fi opin si pẹlu kọọkan ti ara ẹni ajọra, eyi ti ẹya ti a fẹ ClickHouse, ohun ti ikede ti a fẹ ipamọ. A le tunto iṣupọ ni kikun pẹlu iṣeto ti a nilo.

Oṣiṣẹ ni Kubernetes fun ṣiṣakoso awọn iṣupọ data data. Vladislav Klimenko (Altinity, 2019)

Jẹ ki a lọ jinle diẹ si inu. Ṣaaju eyi, a ti sọrọ nipa bi ClickHouse-operator ṣiṣẹ ni ibatan si awọn pato ti ClickHouse.

Ni bayi Emi yoo fẹ lati sọ awọn ọrọ diẹ nipa bii oniṣẹ eyikeyi ṣe n ṣiṣẹ ni gbogbogbo, bakanna bi o ṣe n ṣe ajọṣepọ pẹlu awọn K8s.

Oṣiṣẹ ni Kubernetes fun ṣiṣakoso awọn iṣupọ data data. Vladislav Klimenko (Altinity, 2019)

Jẹ ki a wo ibaraenisepo pẹlu awọn K8 ni akọkọ. Kini yoo ṣẹlẹ nigbati a ba lo kubectl? Awọn nkan wa han ni etcd nipasẹ API.

Oṣiṣẹ ni Kubernetes fun ṣiṣakoso awọn iṣupọ data data. Vladislav Klimenko (Altinity, 2019)

Fun apẹẹrẹ, awọn nkan Kubernetes ipilẹ: pod, StatefulSet, iṣẹ, ati bẹbẹ lọ si isalẹ atokọ naa.

Ni akoko kanna, ko si ohun ti ara ti o ṣẹlẹ sibẹsibẹ. Awọn nkan wọnyi gbọdọ jẹ ohun elo ninu iṣupọ.

Oṣiṣẹ ni Kubernetes fun ṣiṣakoso awọn iṣupọ data data. Vladislav Klimenko (Altinity, 2019)

Fun idi eyi, oluṣakoso yoo han. Awọn oludari ni pataki kan k8s paati ti o le materialize awọn wọnyi awọn apejuwe. O mọ bii ati kini lati ṣe ni ti ara. O mọ bi o ṣe le ṣiṣe awọn apoti, ohun ti o nilo lati tunto nibẹ ni ibere fun olupin naa lati ṣiṣẹ.

Oṣiṣẹ ni Kubernetes fun ṣiṣakoso awọn iṣupọ data data. Vladislav Klimenko (Altinity, 2019)

Ati pe o ṣe awọn nkan wa ni K8s.

Ṣugbọn a fẹ ṣiṣẹ kii ṣe pẹlu awọn adarọ-ese ati StatefulSets nikan, a fẹ ṣẹda ClickHouseInstallation, ie ohun kan ti iru ClickHouse, lati le ṣiṣẹ pẹlu rẹ gẹgẹbi odidi kan. Nitorinaa ko si iru iṣeeṣe bẹẹ.

Oṣiṣẹ ni Kubernetes fun ṣiṣakoso awọn iṣupọ data data. Vladislav Klimenko (Altinity, 2019)

Ṣugbọn K8s ni nkan ti o dara wọnyi. A fẹ ki a ni ibikan bi nkan ti o ni eka yii ninu eyiti iṣupọ wa yoo wa ni apejọpọ lati awọn podu ati StatefulSet.

Oṣiṣẹ ni Kubernetes fun ṣiṣakoso awọn iṣupọ data data. Vladislav Klimenko (Altinity, 2019)

Ati kini o nilo lati ṣe fun eyi? Ni akọkọ, Itumọ Awọn orisun Aṣa wa sinu aworan naa. Kini o jẹ? Eyi jẹ apejuwe fun K8s, pe iwọ yoo ni iru data kan diẹ sii, ti a fẹ lati ṣafikun orisun aṣa si adarọ ese StatefulSet, eyiti yoo jẹ eka inu. Eyi jẹ apejuwe eto data.

Oṣiṣẹ ni Kubernetes fun ṣiṣakoso awọn iṣupọ data data. Vladislav Klimenko (Altinity, 2019)

A tun firanṣẹ sibẹ nipasẹ kubectl waye. Kubernetes inudidun mu o.

Ati ni bayi ni ibi ipamọ wa, ohun ti o wa ninu etcd ni aye lati ṣe igbasilẹ orisun aṣa ti a pe ni ClickHouseInstallation.

Ṣugbọn fun bayi ohunkohun siwaju sii yoo ṣẹlẹ. Iyẹn ni, ti a ba ṣẹda faili YAML ti a wo ni apejuwe awọn shards ati awọn ẹda ati sọ “kubectl apply,” lẹhinna Kubernetes yoo gba, fi sii sinu etcd ati sọ pe: “Nla, ṣugbọn Emi ko mọ kini lati ṣe pelu re. Emi ko mọ bi a ṣe le ṣetọju ClickHouseInstallation. ”

Oṣiṣẹ ni Kubernetes fun ṣiṣakoso awọn iṣupọ data data. Vladislav Klimenko (Altinity, 2019)

Nitorinaa, a nilo ẹnikan lati ṣe iranlọwọ fun Kubernetes lati ṣiṣẹ iru data tuntun naa. Ni apa osi a ni oludari Kubernetes abinibi ti o ṣiṣẹ pẹlu awọn iru data abinibi. Ati ni apa ọtun a yẹ ki o ni oluṣakoso aṣa ti o le ṣiṣẹ pẹlu awọn iru data aṣa.

Ati ni ọna miiran a pe ni oniṣẹ ẹrọ. Mo pataki pẹlu o nibi bi Kubernetes, nitori ti o le tun ti wa ni executed ni ita K8s. Ni ọpọlọpọ igba, nitorinaa, gbogbo awọn oniṣẹ ṣiṣẹ ni Kubernetes, ṣugbọn ko si ohun ti o ṣe idiwọ duro ni ita, nitorinaa o ti gbe ni ita pataki.

Oṣiṣẹ ni Kubernetes fun ṣiṣakoso awọn iṣupọ data data. Vladislav Klimenko (Altinity, 2019)

Ati ni titan, oluṣakoso aṣa, ti a tun mọ ni oniṣẹ, ṣe ajọṣepọ pẹlu Kubernetes nipasẹ API. O ti mọ tẹlẹ bi o ṣe le ṣe ajọṣepọ pẹlu API. Ó sì ti mọ bí a ṣe lè lo àyíká dídíjú tí a fẹ́ ṣe látinú àwọn ohun àmúṣọrọ̀ àkànṣe. Eyi ni pato ohun ti oniṣẹ ṣe.

Oṣiṣẹ ni Kubernetes fun ṣiṣakoso awọn iṣupọ data data. Vladislav Klimenko (Altinity, 2019)

Bawo ni oniṣẹ ṣe n ṣiṣẹ? Jẹ ki a wo apa ọtun lati wo bi o ṣe ṣe. Jẹ ki a wa bii oniṣẹ ṣe ṣe gbogbo eyi ati bii ibaraenisepo siwaju pẹlu K8s ṣe waye.

Oṣiṣẹ ni Kubernetes fun ṣiṣakoso awọn iṣupọ data data. Vladislav Klimenko (Altinity, 2019)

Oniṣẹ jẹ eto kan. O ti wa ni iṣẹlẹ-Oorun. Oniṣẹ ṣe alabapin si awọn iṣẹlẹ nipa lilo Kubernetes API. Kubernetes API ni awọn aaye titẹsi nibiti o le ṣe alabapin si awọn iṣẹlẹ. Ati pe ti nkan ba yipada ni K8s, lẹhinna Kubernetes firanṣẹ awọn iṣẹlẹ si gbogbo eniyan, i.e. ẹnikẹni ti o ba ti ṣe alabapin si aaye API yii yoo gba awọn iwifunni.

Oniṣẹ ṣe alabapin si awọn iṣẹlẹ ati pe o gbọdọ ṣe iru iṣesi kan. Iṣe-ṣiṣe rẹ ni lati dahun si awọn iṣẹlẹ iṣẹlẹ.

Oṣiṣẹ ni Kubernetes fun ṣiṣakoso awọn iṣupọ data data. Vladislav Klimenko (Altinity, 2019)

Awọn iṣẹlẹ jẹ ipilẹṣẹ nipasẹ awọn imudojuiwọn kan. Faili YAML wa pẹlu apejuwe ti ClickHouseInstallation de. O si lọ si etcd nipasẹ kubectl waye. Ohun iṣẹlẹ ti a jeki nibẹ, ati bi awọn kan abajade yi iṣẹlẹ wá si ClickHouse-onišẹ. Oniṣẹ gba apejuwe yii. Ati pe o gbọdọ ṣe nkan kan. Ti imudojuiwọn ba ti de fun ohun ClickHouseInstallation, lẹhinna o nilo lati ṣe imudojuiwọn iṣupọ naa. Ati pe iṣẹ oniṣẹ ni lati ṣe imudojuiwọn iṣupọ naa.

Oṣiṣẹ ni Kubernetes fun ṣiṣakoso awọn iṣupọ data data. Vladislav Klimenko (Altinity, 2019)

Kí ló ń ṣe? Ni akọkọ, a nilo lati ṣe agbekalẹ ero iṣe kan fun kini a yoo ṣe pẹlu imudojuiwọn yii. Awọn imudojuiwọn le jẹ kekere pupọ, i.e. kekere ni ipaniyan YAML, ṣugbọn o le fa awọn ayipada nla pupọ lori iṣupọ naa. Nitorina, oniṣẹ ṣẹda eto kan, lẹhinna o duro lori rẹ.

Oṣiṣẹ ni Kubernetes fun ṣiṣakoso awọn iṣupọ data data. Vladislav Klimenko (Altinity, 2019)

Ni ibamu si ero yii, o bẹrẹ lati sè eto yii ninu lati le ṣe awọn adarọ-ese, awọn iṣẹ, ie. ṣe kini iṣẹ-ṣiṣe akọkọ rẹ jẹ. Eyi ni bii o ṣe le kọ iṣupọ ClickHouse ni Kubernetes.

Oṣiṣẹ ni Kubernetes fun ṣiṣakoso awọn iṣupọ data data. Vladislav Klimenko (Altinity, 2019)

Bayi jẹ ki ká ọwọ lori iru ohun awon. Eyi jẹ pipin ti ojuse laarin Kubernetes ati oniṣẹ, i.e. kini Kubernetes ṣe, kini oniṣẹ ṣe, ati bii wọn ṣe nlo.

Kubernetes jẹ iduro fun awọn nkan eto, i.e. fun ipilẹ awọn nkan ti o le tumọ bi eto-ipin. Kubernetes mọ bi o ṣe le ṣe ifilọlẹ awọn adarọ-ese, bii o ṣe le tun awọn apoti bẹrẹ, bii o ṣe le gbe awọn iwọn didun soke, bii o ṣe le ṣiṣẹ pẹlu ConfigMap, ie. ohun gbogbo ti a le pe ni eto.

Awọn oniṣẹ ṣiṣẹ ni awọn ibugbe. Oṣiṣẹ kọọkan ni a ṣe fun agbegbe koko-ọrọ tirẹ. A ṣe fun ClickHouse.

Ati pe oniṣẹ n ṣe ibaraẹnisọrọ ni deede ni awọn ofin ti agbegbe koko-ọrọ, gẹgẹbi fifi ẹda kan kun, ṣiṣe aworan kan, iṣeto ibojuwo. Eleyi àbábọrẹ ni a pipin.

Oṣiṣẹ ni Kubernetes fun ṣiṣakoso awọn iṣupọ data data. Vladislav Klimenko (Altinity, 2019)

Jẹ ki a wo apẹẹrẹ ti o wulo ti bii pipin ti ojuse yii ṣe waye nigba ti a ba ṣe afikun iṣẹ ẹda.

Oniṣẹ gba iṣẹ-ṣiṣe kan - lati fi ẹda kan kun. Kini oniṣẹ ẹrọ ṣe? Oniṣẹ yoo ṣe iṣiro pe StatefulSet titun nilo lati ṣẹda, ninu eyiti iru ati iru awọn awoṣe, ẹtọ iwọn didun, gbọdọ jẹ apejuwe.

Oṣiṣẹ ni Kubernetes fun ṣiṣakoso awọn iṣupọ data data. Vladislav Klimenko (Altinity, 2019)

O pese gbogbo rẹ silẹ o si gbe lọ si awọn K8s. O sọ pe o nilo ConfigMap, StatefulSet, Iwọn didun. Kubernetes n ṣiṣẹ. O si materializes awọn ipilẹ sipo pẹlu eyi ti o ṣiṣẹ.

Oṣiṣẹ ni Kubernetes fun ṣiṣakoso awọn iṣupọ data data. Vladislav Klimenko (Altinity, 2019)

Ati lẹhinna ClickHouse-operator wa sinu ere lẹẹkansi. O ti ni podu ti ara lori eyiti o le ṣe nkan tẹlẹ. Ati ClickHouse-operator tun ṣiṣẹ ni awọn ofin agbegbe. Awon. Ni pataki ClickHouse, lati le fi ẹda kan sinu iṣupọ kan, o gbọdọ, akọkọ, tunto ero data ti o wa ninu iṣupọ yii. Ati pe, ni ẹẹkeji, ẹda yii gbọdọ wa ninu ibojuwo ki o le ṣe itopase ni kedere. Oniṣẹ naa ti ṣe atunto eyi tẹlẹ.

Oṣiṣẹ ni Kubernetes fun ṣiṣakoso awọn iṣupọ data data. Vladislav Klimenko (Altinity, 2019)

Ati pe lẹhin iyẹn ClickHouse funrararẹ wa sinu ere, i.e. miiran ti o ga ipele nkankan. Eyi jẹ ibi ipamọ data tẹlẹ. O ni apẹẹrẹ tirẹ, ẹda atunto miiran ti o ṣetan lati darapọ mọ iṣupọ naa.

O wa ni jade pe pq ti ipaniyan ati pipin ojuse nigbati fifi ẹda kan kun jẹ pipẹ pupọ.

Oṣiṣẹ ni Kubernetes fun ṣiṣakoso awọn iṣupọ data data. Vladislav Klimenko (Altinity, 2019)

A tẹsiwaju awọn iṣẹ ṣiṣe ti o wulo wa. Ti o ba ti ni iṣupọ tẹlẹ, o le gbe iṣeto lọ sibẹ.

Oṣiṣẹ ni Kubernetes fun ṣiṣakoso awọn iṣupọ data data. Vladislav Klimenko (Altinity, 2019)

A ṣe ki o le lẹẹmọ taara sinu xml ti o wa, eyiti ClickHouse loye.

Oṣiṣẹ ni Kubernetes fun ṣiṣakoso awọn iṣupọ data data. Vladislav Klimenko (Altinity, 2019)

O le ṣe atunṣe ClickHouse daradara. Imuṣiṣẹ agbegbe ti o kan jẹ ohun ti Mo sọrọ nipa nigbati o n ṣalaye hostPath, ibi ipamọ agbegbe. Eyi ni bii o ṣe le ṣe imuṣiṣẹ agbegbe ni deede.

Oṣiṣẹ ni Kubernetes fun ṣiṣakoso awọn iṣupọ data data. Vladislav Klimenko (Altinity, 2019)

Iṣẹ iṣe ti o tẹle ni ibojuwo.

Oṣiṣẹ ni Kubernetes fun ṣiṣakoso awọn iṣupọ data data. Vladislav Klimenko (Altinity, 2019)

Ti iṣupọ wa ba yipada, lẹhinna a nilo lati tunto ibojuwo lorekore.

Jẹ ká wo ni awọn aworan atọka. A ti wo awọn ọfa alawọ ewe nibi. Bayi jẹ ki a wo awọn ọfa pupa. Eyi ni bi a ṣe fẹ lati ṣe atẹle iṣupọ wa. Bii awọn metiriki lati inu iṣupọ ClickHouse ṣe wọle si Prometheus, ati lẹhinna sinu Grafana.

Oṣiṣẹ ni Kubernetes fun ṣiṣakoso awọn iṣupọ data data. Vladislav Klimenko (Altinity, 2019)

Kini iṣoro pẹlu abojuto? Kini idi ti eyi fi han bi iru aṣeyọri kan? Iṣoro naa wa ninu awọn agbara. Nigba ti a ba ni iṣupọ kan ati pe o jẹ aimi, lẹhinna a le ṣeto ibojuwo lẹẹkan ati ki o maṣe yọ ara rẹ lẹnu mọ.

Ṣugbọn ti a ba ni ọpọlọpọ awọn iṣupọ, tabi nkan kan n yipada nigbagbogbo, lẹhinna ilana naa ni agbara. Ati atunto ibojuwo nigbagbogbo jẹ egbin ti awọn orisun ati akoko, i.e. ani o kan nkede. Eyi nilo lati ṣe adaṣe. Iṣoro naa wa ninu awọn agbara ti ilana naa. Ati oniṣẹ ṣe adaṣe eyi daradara.

Oṣiṣẹ ni Kubernetes fun ṣiṣakoso awọn iṣupọ data data. Vladislav Klimenko (Altinity, 2019)

Bawo ni iṣupọ wa ṣe dagbasoke? Ni ibẹrẹ o jẹ bẹ.

Oṣiṣẹ ni Kubernetes fun ṣiṣakoso awọn iṣupọ data data. Vladislav Klimenko (Altinity, 2019)

Lẹhinna o wa bi eleyi.

Oṣiṣẹ ni Kubernetes fun ṣiṣakoso awọn iṣupọ data data. Vladislav Klimenko (Altinity, 2019)

Ni ipari, o di bi eleyi.

Ati ibojuwo ni a ṣe laifọwọyi nipasẹ oniṣẹ. Nikan ojuami ti titẹsi.

Oṣiṣẹ ni Kubernetes fun ṣiṣakoso awọn iṣupọ data data. Vladislav Klimenko (Altinity, 2019)

Ati pe ni ọna ijade a wo dasibodu Grafana lati rii bi igbesi aye iṣupọ wa ti n ṣan ninu.

Nipa ọna, dasibodu Grafana tun pin pẹlu oniṣẹ wa taara ni koodu orisun. O le sopọ ki o lo. DevOps wa fun mi ni sikirinifoto yii.

Oṣiṣẹ ni Kubernetes fun ṣiṣakoso awọn iṣupọ data data. Vladislav Klimenko (Altinity, 2019)

Nibo ni a yoo fẹ lati lọ si atẹle? Eyi:

  • Dagbasoke adaṣiṣẹ idanwo. Iṣẹ akọkọ jẹ idanwo adaṣe ti awọn ẹya tuntun.
  • A tun fẹ gaan lati ṣe adaṣe iṣọpọ pẹlu ZooKeeper. Ati pe awọn ero wa lati ṣepọ pẹlu ZooKeeper-operator. Awon. A ti kọ oniṣẹ kan fun ZooKeeper ati pe o jẹ ọgbọn pe awọn oniṣẹ meji bẹrẹ lati ṣepọ lati kọ ojutu irọrun diẹ sii.
  • A fẹ lati ṣe awọn ami pataki ti o ni idiwọn diẹ sii.
  • Mo ṣe afihan ni alawọ ewe pe a n sunmọ ogún ti Awọn awoṣe - ṢE, ie pẹlu itusilẹ atẹle ti oniṣẹ a yoo ni ilẹ-iní ti awọn awoṣe. Eyi jẹ ohun elo ti o lagbara ti o fun ọ laaye lati kọ awọn atunto eka lati awọn ege.
  • Ati pe a fẹ adaṣe ti awọn iṣẹ ṣiṣe eka. Akọkọ jẹ Tun-sharding.

Oṣiṣẹ ni Kubernetes fun ṣiṣakoso awọn iṣupọ data data. Vladislav Klimenko (Altinity, 2019)

Jẹ ki a mu diẹ ninu awọn abajade agbedemeji.

Oṣiṣẹ ni Kubernetes fun ṣiṣakoso awọn iṣupọ data data. Vladislav Klimenko (Altinity, 2019)

Kini a gba bi abajade? Ati pe o tọ lati ṣe tabi rara? Ṣe o paapaa jẹ dandan lati gbiyanju lati fa data data sinu Kubernetes ati lo oniṣẹ ni gbogbogbo ati oniṣẹ Alitnity ni pataki?

Ni abajade a gba:

  • Simplification pataki ati adaṣe ti iṣeto ni, imuṣiṣẹ, ati itọju.
  • Lẹsẹkẹsẹ-itumọ ti ni monitoring.
  • Ati setan-lati-lo awọn awoṣe coded fun awọn ipo idiju. Iṣe kan bii fifi ajọra kun ko nilo lati ṣee ṣe pẹlu ọwọ. Oniṣẹ ṣe eyi.

Oṣiṣẹ ni Kubernetes fun ṣiṣakoso awọn iṣupọ data data. Vladislav Klimenko (Altinity, 2019)

Ibeere to kẹhin kan ṣoṣo lo ku. A ti ni aaye data tẹlẹ ni Kubernetes, agbara ipa. Kini nipa iṣẹ ti iru ojutu kan, paapaa niwon ClickHouse ti wa ni iṣapeye fun iṣẹ?

Idahun si jẹ ohun gbogbo dara! Emi kii yoo lọ sinu awọn alaye; eyi ni koko-ọrọ ti ijabọ lọtọ.

Oṣiṣẹ ni Kubernetes fun ṣiṣakoso awọn iṣupọ data data. Vladislav Klimenko (Altinity, 2019)

Ṣugbọn iru iṣẹ kan wa bi TSBS. Kini iṣẹ akọkọ rẹ? Eyi jẹ idanwo iṣẹ ṣiṣe data. Eyi jẹ igbiyanju lati ṣe afiwe gbona pẹlu gbona, rirọ pẹlu asọ.

Báwo ló ṣe ń ṣiṣẹ́? Eto data kan ti wa ni ipilẹṣẹ. Lẹhinna ṣeto data yii ni ṣiṣe lori awọn apoti isura infomesonu ti o yatọ nipa lilo eto awọn idanwo kanna. Ati pe data kọọkan yanju iṣoro kan ni ọna ti o mọ bi. Ati lẹhinna o le ṣe afiwe awọn abajade.

O ti ṣe atilẹyin fun ọpọlọpọ awọn apoti isura infomesonu. Mo ti mọ awọn akọkọ mẹta. Eyi:

  • TimescaleDB.
  • InfluxDB.
  • Tẹ Ile.

Oṣiṣẹ ni Kubernetes fun ṣiṣakoso awọn iṣupọ data data. Vladislav Klimenko (Altinity, 2019)

A tun ṣe afiwe pẹlu iru ojutu miiran. Afiwera pẹlu RedShift. Ifiwera ti a ṣe lori Amazon. ClickHouse tun wa niwaju gbogbo eniyan ni ọran yii.

Oṣiṣẹ ni Kubernetes fun ṣiṣakoso awọn iṣupọ data data. Vladislav Klimenko (Altinity, 2019)

Awọn ipinnu wo ni a le fa lati inu ohun ti Mo sọ?

  • DB ni Kubernetes ṣee ṣe. Boya eyikeyi ṣee ṣe, ṣugbọn lapapọ o dabi pe o ṣee ṣe. ClickHouse ni Kubernetes jẹ dajudaju ṣee ṣe pẹlu iranlọwọ ti oniṣẹ wa.
  • Oniṣẹ ṣe iranlọwọ adaṣe awọn ilana ati ki o jẹ ki igbesi aye rọrun gaan.
  • Iṣe deede.
  • Ati pe o dabi fun wa pe eyi le ati pe o yẹ ki o lo.

Orisun ṣiṣi - darapọ mọ wa!

Gẹgẹbi Mo ti sọ tẹlẹ, oniṣẹ jẹ ọja orisun ti o ṣii patapata, nitorinaa yoo dara pupọ ti nọmba ti o pọ julọ ti eniyan ba lo. Darapo mo wa! A n duro de yin gbogbo!

O ṣeun gbogbo rẹ!

Awọn ibeere

Oṣiṣẹ ni Kubernetes fun ṣiṣakoso awọn iṣupọ data data. Vladislav Klimenko (Altinity, 2019)

O ṣeun fun iroyin na! Orukọ mi ni Anton. Mo wa lati SEMrush. Mo n iyalẹnu kini o ṣẹlẹ pẹlu gedu. A gbọ nipa ibojuwo, ṣugbọn ko si nkankan nipa gedu, ti a ba sọrọ nipa gbogbo iṣupọ. Fun apẹẹrẹ, a ti gbe iṣupọ kan dide lori ohun elo. Ati pe a lo gedu aarin, gbigba wọn sinu okiti ti o wọpọ ni lilo awọn ọna boṣewa. Ati lẹhinna lati ibẹ a gba data ti o nifẹ si wa.

Ibeere to dara, ie wíwọlé sinu atokọ todo. Oniṣẹ wa ko ṣe adaṣe eyi sibẹsibẹ. O ti wa ni ṣi sese, ise agbese jẹ ṣi oyimbo odo. A loye iwulo fun gedu. Eyi tun jẹ koko pataki pupọ. Ati pe o ṣee ṣe kii ṣe pataki ju ibojuwo lọ. Ṣugbọn akọkọ lori atokọ fun imuse jẹ ibojuwo. Igi gedu yoo wa. Nipa ti, a gbiyanju lati ṣe adaṣe gbogbo awọn ẹya ti igbesi aye iṣupọ. Nitorina, idahun ni pe ni akoko oniṣẹ ẹrọ, laanu, ko mọ bi a ṣe le ṣe eyi, ṣugbọn o wa ninu awọn eto, a yoo ṣe. Ti o ba fẹ darapọ mọ, lẹhinna fa ibeere, jọwọ.

Pẹlẹ o! O ṣeun fun iroyin na! Mo ni ibeere boṣewa kan ti o jọmọ Awọn iwọn didun Jubẹẹlo. Nigba ti a ba ṣẹda iṣeto ni pẹlu oniṣẹ ẹrọ yii, bawo ni oniṣẹ ṣe pinnu iru ipade ti a ni disk kan pato tabi folda ti a so? A gbọdọ kọkọ ṣalaye fun u pe jọwọ gbe ClickHouse wa sori awọn apa wọnyi ti o ni disk kan?

Niwọn bi mo ti loye, ibeere yii jẹ ilọsiwaju ti ibi ipamọ agbegbe, paapaa apakan hostPath ti rẹ. Eyi jẹ bi ṣiṣe alaye fun gbogbo eto ti o nilo lati ṣe ifilọlẹ podu lori iru ati iru ipade kan, eyiti a ni disiki ti o ni asopọ ti ara, eyiti a gbe sori iru ati iru ọna kan. Eyi jẹ gbogbo apakan ti Mo fi ọwọ kan lasan nitori idahun ti o tobi pupọ.

Ni soki o dabi eyi. Nipa ti, a nilo lati pese awọn iwọn wọnyi. Ni akoko yii, ko si ipese agbara ni ibi ipamọ agbegbe, nitorina DevOps gbọdọ ge awọn disiki naa funrararẹ, awọn iwọn didun wọnyi. Ati pe wọn gbọdọ ṣalaye ipese Kubernetes pe iwọ yoo ni awọn ipele ti o tẹsiwaju ti iru ati iru kilasi, eyiti o wa lori iru ati iru awọn apa. Lẹhinna iwọ yoo nilo lati ṣalaye si Kubernetes pe awọn adarọ-ese ti o nilo iru ati iru kilasi ibi-itọju agbegbe nilo lati wa ni ipalọlọ nipa lilo awọn aami nikan si iru ati iru awọn apa. Fun awọn idi wọnyi, oniṣẹ ni agbara lati fi iru aami kan si ati ọkan fun apẹẹrẹ agbalejo. Ati pe o wa ni pe awọn adarọ-ese yoo jẹ nipasẹ Kubernetes lati ṣiṣẹ nikan lori awọn apa ti o pade awọn ibeere, awọn aami, ni awọn ọrọ ti o rọrun. Awọn alabojuto pin awọn aami ati awọn disiki ipese pẹlu ọwọ. Ati lẹhinna o ṣe iwọn.

Ati pe o jẹ aṣayan kẹta, agbegbe, ti o ṣe iranlọwọ lati jẹ ki eyi rọrun diẹ. Gẹgẹbi Mo ti tẹnumọ tẹlẹ, eyi jẹ iṣẹ irora lori yiyi, eyiti o ṣe iranlọwọ nikẹhin lati gba iṣẹ ṣiṣe to pọ julọ.

Mo ni ibeere keji ti o ni ibatan si eyi. A ṣe apẹrẹ Kubernetes ni iru ọna ti ko ṣe pataki si wa boya a padanu ipade kan tabi rara. Kini o yẹ ki a ṣe ninu ọran yii ti a ba ti padanu apa ibi ti shard wa ti kọorí?

Bẹẹni, Kubernetes ti wa ni ipo lakoko pe ibatan wa pẹlu awọn podu wa dabi ẹran-ọsin, ṣugbọn nibi pẹlu wa disk kọọkan di nkan bi ọsin. Irú ìṣòro bẹ́ẹ̀ wà tó jẹ́ pé a kò lè sọ wọ́n nù lásán. Ati pe idagbasoke Kubernetes n lọ ni itọsọna ti ko ṣee ṣe lati ṣe itọju rẹ ni imọ-jinlẹ patapata, bi ẹni pe o jẹ orisun ti a sọnù patapata.

Bayi fun ibeere to wulo. Kini lati ṣe ti o ba padanu ipade lori eyiti disiki naa wa? Nibi a ti yanju iṣoro naa ni ipele ti o ga julọ. Ninu ọran ti ClickHouse, a ni awọn ẹda ti o ṣiṣẹ ni ipele ti o ga julọ, i.e. ni ipele ClickHouse.

Kini iṣesi ti o yọrisi? DevOps jẹ iduro fun idaniloju pe data ko sọnu. O gbọdọ ṣeto atunṣe ni deede ati pe o gbọdọ rii daju pe atunṣe nṣiṣẹ. Ẹda ni ipele ClickHouse gbọdọ ni data ẹda-iwe. Eyi kii ṣe iṣẹ-ṣiṣe ti oniṣẹ yanju. Ati pe kii ṣe iṣoro ti Kubernetes funrararẹ yanju. Eyi wa ni ipele ClickHouse.

Kini lati ṣe ti oju irin rẹ ba ṣubu? Ati pe o wa ni pe iwọ yoo nilo lati fi sori ẹrọ keji, pese disiki daradara lori rẹ, ati lo awọn aami. Ati lẹhin naa, yoo pade awọn ibeere ti Kubernetes le ṣe ifilọlẹ apẹẹrẹ podu lori rẹ. Kubernetes yoo ṣe ifilọlẹ. Nọmba awọn adarọ-ese rẹ ko to lati pade nọmba ti a sọ tẹlẹ. Yoo lọ nipasẹ yiyi ti Mo fihan. Ati ni ipele ti o ga julọ, ClickHouse yoo loye pe a ti tẹ ẹda kan sii, o tun jẹ ofo ati pe a nilo lati bẹrẹ gbigbe data si rẹ. Awon. Ilana yii ko tii ṣe adaṣe daradara.

O ṣeun fun iroyin na! Nigbati gbogbo iru awọn ohun ẹgbin ba ṣẹlẹ, oniṣẹ ẹrọ kọlu ati tun bẹrẹ, ati ni akoko yẹn awọn iṣẹlẹ de, ṣe o bakan mu eyi bi?

Kini yoo ṣẹlẹ ti oniṣẹ ẹrọ ba kọlu ati tun bẹrẹ, otun?

Bẹẹni. Ati ni akoko yẹn awọn iṣẹlẹ de.

Iṣẹ-ṣiṣe ti kini lati ṣe ninu ọran yii jẹ apakan apakan laarin oniṣẹ ati Kubernetes. Kubernetes ni agbara lati tun ṣe iṣẹlẹ ti o ṣẹlẹ. O tun ṣe. Ati pe iṣẹ-ṣiṣe oniṣẹ ni lati rii daju pe nigbati igbasilẹ iṣẹlẹ ba tun ṣe lori rẹ, awọn iṣẹlẹ wọnyi jẹ agbara. Ati pe ki iṣẹlẹ ti o tun jẹ iṣẹlẹ kanna ko ni fọ eto wa. Ati pe oniṣẹ wa koju iṣẹ yii.

Pẹlẹ o! O ṣeun fun iroyin na! Dmitry Zavyalov, ile-iṣẹ Smedova. Ṣe awọn ero wa lati ṣafikun agbara lati tunto pẹlu haproxy si oniṣẹ? Emi yoo nifẹ si diẹ ninu iwọntunwọnsi miiran yatọ si ọkan boṣewa, nitorinaa o jẹ ọlọgbọn ati loye pe ClickHouse wa nibẹ gaan.

Ṣe o n sọrọ nipa Ingress?

Bẹẹni, rọpo Ingress pẹlu haproxy. Ni haproxy o le pato awọn topology ti iṣupọ nibiti o ti ni awọn ẹda.

A ko ronu nipa rẹ sibẹsibẹ. Ti o ba nilo rẹ ati pe o le ṣe alaye idi ti o nilo, lẹhinna o yoo ṣee ṣe lati ṣe imuse rẹ, paapaa ti o ba fẹ kopa. A yoo dun lati ro aṣayan. Idahun kukuru jẹ rara, Lọwọlọwọ a ko ni iru iṣẹ ṣiṣe bẹ. O ṣeun fun imọran, a yoo wo ọrọ yii. Ati pe ti o ba tun ṣe alaye ọran lilo ati idi ti o nilo ni iṣe, fun apẹẹrẹ, ṣẹda awọn ọran lori GitHub, lẹhinna iyẹn yoo jẹ nla.

Ti tẹlẹ.

O dara. A wa ni sisi si eyikeyi awọn didaba. Ati haproxy ti wa ni afikun si atokọ todo. Akojọ todo n dagba, ko dinku sibẹsibẹ. Ṣugbọn eyi dara, o tumọ si pe ọja wa ni ibeere.

orisun: www.habr.com

Fi ọrọìwòye kun