Ogwira ntchito ku Kubernetes oyang'anira magulu a database. Vladislav Klimenko (Altinity, 2019)

Ogwira ntchito ku Kubernetes oyang'anira magulu a database. Vladislav Klimenko (Altinity, 2019)

Lipotili limaperekedwa kuzinthu zothandiza zopanga wogwiritsa ntchito ku Kubernetes, kupanga mapangidwe ake ndi mfundo zoyambira zogwirira ntchito.

Mu gawo loyamba la lipotilo tikambirana:

  • Kodi wogwiritsa ntchito ku Kubernetes ndi chiyani ndipo chifukwa chiyani amafunikira;
  • momwe kwenikweni woyendetsa amathandizira kasamalidwe ka machitidwe ovuta;
  • zomwe wogwiritsa ntchito angachite ndi zomwe sangathe kuchita.

Kenako, tiyeni tipitirire kukambitsirana za mkati mwa woyendetsa. Tiyeni tiwone kamangidwe ndi kagwiritsidwe ntchito ka woyendetsa sitepe ndi sitepe. Tiyeni tione mwatsatanetsatane:

  • kuyanjana pakati pa wogwiritsa ntchito ndi Kubernetes;
  • ndi ntchito ziti zomwe wogwiritsa ntchitoyo amagwira komanso ntchito zomwe amapereka kwa Kubernetes.

Tiyeni tiwone kuyang'anira ma shards ndi ma replicas a database ku Kubernetes.
Kenako, tikambirana za kusunga deta:

  • momwe mungagwiritsire ntchito ndi Persistent Storage kuchokera kwa wogwiritsa ntchito;
  • zovuta zogwiritsa ntchito Local Storage.

M’gawo lomaliza la lipotilo, tiona zitsanzo zothandiza za mmene tingagwiritsire ntchito clickhouse-woyendetsa kuchokera ku Amazon kapena Google Cloud Service. Lipotilo likuchokera pa chitsanzo cha chitukuko ndi zochitika za wogwiritsa ntchito ClickHouse.

Video:

Dzina langa ndine Vladislav Klimenko. Lero ndimafuna kulankhula za zomwe takumana nazo pakupanga ndi kugwiritsa ntchito opareshoni, ndipo uyu ndi wogwiritsa ntchito mwapadera pakuwongolera magulu a database. Mwachitsanzo ClickHouse-wothandizira kuyang'anira gulu la ClickHouse.

Ogwira ntchito ku Kubernetes oyang'anira magulu a database. Vladislav Klimenko (Altinity, 2019)

Chifukwa chiyani tili ndi mwayi wolankhula za wogwiritsa ntchito ndi ClickHouse?

  • Timathandizira ndikukulitsa ClickHouse.
  • Pakadali pano, tikuyesera kuti pang'onopang'ono tithandizire pakukula kwa ClickHouse. Ndipo ndife achiwiri pambuyo pa Yandex potengera kuchuluka kwa zosintha zomwe zidachitika ku ClickHouse.
  • Tikuyesera kupanga mapulojekiti owonjezera a ClickHouse ecosystem.

Ndikufuna ndikuuzeni za imodzi mwamapulojekitiwa. Izi ndi za ClickHouse-operator wa Kubernetes.

Mu lipoti langa ndikufuna kukhudza mitu iwiri:

  • Mutu woyamba ndi momwe woyang'anira database ya ClickHouse amagwirira ntchito ku Kubernetes.
  • Mutu wachiwiri ndi momwe wogwiritsa ntchito aliyense amagwirira ntchito, mwachitsanzo, momwe amalumikizirana ndi Kubernetes.

Komabe, mafunso awiriwa adzalumikizana mu lipoti langa lonse.

Ogwira ntchito ku Kubernetes oyang'anira magulu a database. Vladislav Klimenko (Altinity, 2019)

Ndani angafune kumvetsera zomwe ndikuyesera kunena?

  • Zidzakhala zosangalatsa kwambiri kwa iwo omwe amagwira ntchito.
  • Kapena kwa iwo omwe akufuna kudzipangira okha kuti amvetsetse momwe zimagwirira ntchito mkati, momwe wogwiritsa ntchito amachitira ndi Kubernetes, ndi misampha yotani yomwe ingawonekere.

Ogwira ntchito ku Kubernetes oyang'anira magulu a database. Vladislav Klimenko (Altinity, 2019)

Kuti mumvetse bwino zomwe tikambirana lero, ndi bwino kudziwa momwe Kubernetes amagwirira ntchito komanso kukhala ndi maphunziro oyambira pamtambo.

Ogwira ntchito ku Kubernetes oyang'anira magulu a database. Vladislav Klimenko (Altinity, 2019)

Kodi ClickHouse ndi chiyani? Ili ndi nkhokwe ya columnar yokhala ndi zinthu zinazake zosinthira pa intaneti mafunso ounika. Ndipo ndi kwathunthu lotseguka gwero.

Ndipo m’pofunika kuti tidziwe zinthu ziwiri zokha. Muyenera kudziwa kuti iyi ndi nkhokwe, ndiye zomwe ndikuuzeni zitha kugwiritsidwa ntchito pafupifupi pankhokwe iliyonse. Ndipo mfundo yakuti ClickHouse DBMS imakula bwino kwambiri, imapereka pafupifupi scalability. Ndipo chifukwa chake, gulu lamagulu ndi chilengedwe cha ClickHouse. Ndipo tili ndi chidwi chokambirana momwe tingatumikire gulu la ClickHouse ku Kubernetes.

Ogwira ntchito ku Kubernetes oyang'anira magulu a database. Vladislav Klimenko (Altinity, 2019)

N’chifukwa chiyani akufunika kumeneko? Chifukwa chiyani sitingathe kupitiriza kugwiritsa ntchito tokha? Ndipo mayankho ake ndi aukadaulo komanso mwadongosolo.

  • M'malo mwake, tikukumana ndi vuto lomwe m'makampani akuluakulu pafupifupi zigawo zonse zili kale ku Kubernetes. Ma database amakhalabe kunja.
  • Ndipo funso likufunsidwa kwambiri: "Kodi izi zitha kuyikidwa mkati?" Chifukwa chake, makampani akuluakulu akuyesera kuti akwaniritse kulumikizana kwakukulu kwa kasamalidwe kuti athe kusamalira mwachangu malo osungiramo data.
  • Ndipo izi zimathandiza makamaka ngati mukufuna mwayi waukulu wobwereza zomwezo pamalo atsopano, mwachitsanzo, kunyamula kwambiri.

Ogwira ntchito ku Kubernetes oyang'anira magulu a database. Vladislav Klimenko (Altinity, 2019)

Ndi zophweka kapena zovuta bwanji? Izi, ndithudi, zingatheke ndi manja. Koma sizophweka, chifukwa tili ndi zovuta zowonjezera pakuwongolera Kubernetes palokha, koma nthawi yomweyo zomwe za ClickHouse ndizopambana. Ndipo kuphatikizika koteroko kumatsatira.

Ndipo zonsezi zimapatsa matekinoloje ambiri, omwe amakhala ovuta kuwongolera, chifukwa Kubernetes imabweretsa zovuta zake zatsiku ndi tsiku, ndipo ClickHouse imabweretsa zovuta zake pakugwira ntchito kwa tsiku ndi tsiku. Makamaka ngati tili ndi ClickHouses angapo, ndipo tifunika kuchita nawo nthawi zonse.

Ogwira ntchito ku Kubernetes oyang'anira magulu a database. Vladislav Klimenko (Altinity, 2019)

Ndi kasinthidwe kosinthika, ClickHouse ili ndi zovuta zambiri zomwe zimapanga katundu wokhazikika pa DevOps:

  • Tikafuna kusintha china chake mu ClickHouse, mwachitsanzo, onjezani chofananira kapena shard, ndiye kuti tiyenera kuyang'anira kasinthidwe.
  • Kenako sinthani schema ya data, chifukwa ClickHouse ili ndi njira ina ya sharding. Kumeneko muyenera kuyala chithunzi cha data, ikani masinthidwe.
  • Muyenera kukhazikitsa zowunikira.
  • Kusonkhanitsa zipika za shards zatsopano, zofananira zatsopano.
  • Samalirani kukonzanso.
  • Ndi kuyambitsanso.

Izi ndi ntchito zachizolowezi zomwe ndikufuna kuti zikhale zosavuta kugwiritsa ntchito.

Ogwira ntchito ku Kubernetes oyang'anira magulu a database. Vladislav Klimenko (Altinity, 2019)

Kubernetes palokha imathandizira bwino pakugwira ntchito, koma pazinthu zoyambira.

Kubernetes ndiabwino pakuwongolera komanso kupanga zinthu monga:

  • Kuchira.
  • Yambitsaninso.
  • Kasamalidwe ka makina osungira.

Ndizo zabwino, ndiye njira yoyenera, koma sadziwa momwe angagwiritsire ntchito gulu la database.

Tikufuna zambiri, tikufuna kuti database yonse igwire ntchito ku Kubernetes.

Ogwira ntchito ku Kubernetes oyang'anira magulu a database. Vladislav Klimenko (Altinity, 2019)

Ndikufuna kupeza china chake ngati batani lofiira lamatsenga lomwe mumasindikiza ndi gulu lomwe lili ndi ntchito zatsiku ndi tsiku zomwe ziyenera kuthetsedwa zimatumizidwa ndikusungidwa m'moyo wake wonse. Gulu la ClickHouse ku Kubernetes.

Ndipo tinayesetsa kupanga yankho lomwe lingathandize kuti ntchitoyi ikhale yosavuta. Uyu ndi ClickHouse-operator wa Kubernetes wochokera ku Altinity.

Ogwira ntchito ku Kubernetes oyang'anira magulu a database. Vladislav Klimenko (Altinity, 2019)

Wogwiritsa ntchito ndi pulogalamu yomwe ntchito yake yayikulu ndikuwongolera mapulogalamu ena, mwachitsanzo, ndi manejala.

Ndipo lili ndi makhalidwe. Mutha kuyitanitsa chidziwitso cholumikizidwa pamutuwu.

Ndipo ntchito yake yaikulu ndikupangitsa moyo wa DevOps kukhala wosavuta komanso kuchepetsa micromanagement, kotero kuti (DevOps) akuganiza kale m'mawu apamwamba, mwachitsanzo, kuti iye (DevOps) asalowe mu micromanagement, kuti asakonzekere. zonse pamanja.

Ndipo wogwiritsa ntchitoyo ndi wothandizira wa robotic yemwe amachita ndi ma microtasks ndikuthandizira DevOps.

Ogwira ntchito ku Kubernetes oyang'anira magulu a database. Vladislav Klimenko (Altinity, 2019)

N'chifukwa chiyani mukufuna opareta? Amachita bwino kwambiri m'magawo awiri:

  • Ngati katswiri yemwe amachita ndi ClickHouse alibe chidziwitso chokwanira, koma akuyenera kale kugwiritsa ntchito ClickHouse, woyendetsayo amathandizira ntchitoyi ndikukulolani kuti mugwiritse ntchito gulu la ClickHouse lomwe lili ndi kasinthidwe kovutirapo, osalowa mwatsatanetsatane momwe zonsezi zimagwirira ntchito. mkati. Inu mumangomupatsa ntchito zapamwamba, ndipo zimagwira ntchito.
  • Ndipo ntchito yachiwiri yomwe imagwira bwino kwambiri ndi nthawi yomwe ikufunika kupanga ntchito zambiri zomwe zimachitika. Imachotsa ma microtasks kuchokera kwa oyang'anira dongosolo.

Ogwira ntchito ku Kubernetes oyang'anira magulu a database. Vladislav Klimenko (Altinity, 2019)

Izi ndizofunikira makamaka ndi omwe angoyamba kumene ulendo wawo, kapena omwe akufunika kuchita zambiri zokha.

Ogwira ntchito ku Kubernetes oyang'anira magulu a database. Vladislav Klimenko (Altinity, 2019)

Kodi njira yoyendetsera ntchito ikusiyana bwanji ndi machitidwe ena? Pali Helm. Zimathandizanso kukhazikitsa ClickHouse; mutha kujambula ma chart a helm, omwe amayikanso gulu lonse la ClickHouse. Ndiye pali kusiyana kotani pakati pa wogwiritsa ntchito ndi yemweyo, mwachitsanzo, Helm?

Kusiyana kwakukulu ndikuti Helm ndi kasamalidwe ka phukusi ndipo Oyendetsa amapita patsogolo. Ichi ndi chithandizo cha moyo wonse. Izi sizongowonjezera, izi ndi ntchito za tsiku ndi tsiku zomwe zimaphatikizapo makulitsidwe, sharding, mwachitsanzo, zonse zomwe ziyenera kuchitidwa panthawi ya moyo (ngati kuli kofunikira, ndikuchotsanso) - zonsezi zimasankhidwa ndi wogwiritsa ntchito. Imayesa kusinthira ndikusunga moyo wa pulogalamu yonse. Uku ndiye kusiyana kwake kwakukulu ndi mayankho ena omwe amaperekedwa.

Ogwira ntchito ku Kubernetes oyang'anira magulu a database. Vladislav Klimenko (Altinity, 2019)

Ilo linali gawo loyambilira, tiyeni tipitirire.

Kodi timapanga bwanji opareshoni yathu? Tikuyesera kuthana ndi vutoli kuti tiyendetse gulu la ClickHouse ngati chida chimodzi.

Apa tili ndi zolowetsa kumanzere kwa chithunzicho. Iyi ndi YAML yokhala ndi mawonekedwe amagulu, omwe amaperekedwa ku Kubernetes mwanjira yapamwamba kudzera kubectl. Kumeneko woyendetsa wathu amanyamula ndi kuchita matsenga ake. Ndipo pazotulutsa timapeza chiwembu chotsatira. Uku ndikukhazikitsa kwa ClickHouse ku Kubernetes.

Kenako tiwona pang'onopang'ono momwe wogwiritsa ntchito amagwirira ntchito, ndi ntchito ziti zomwe zitha kuthetsedwa. Tingoganizira ntchito zanthawi zonse chifukwa tili ndi nthawi yochepa. Ndipo si zonse zomwe woyendetsa angasankhe zomwe zidzakambidwe.

Ogwira ntchito ku Kubernetes oyang'anira magulu a database. Vladislav Klimenko (Altinity, 2019)

Tiyeni tiyambire kuchita. Ntchito yathu ndi gwero lotseguka, kotero mutha kuwona momwe imagwirira ntchito pa GitHub. Ndipo mutha kupitilira pazolinga zomwe ngati mukufuna kungoyiyambitsa, mutha kuyamba ndi Quick Start Guide.

Ngati mukufuna kumvetsetsa mwatsatanetsatane, ndiye kuti timayesetsa kusunga zolembazo m'njira yabwino kwambiri.

Ogwira ntchito ku Kubernetes oyang'anira magulu a database. Vladislav Klimenko (Altinity, 2019)

Tiyeni tiyambe ndi vuto lothandiza. Ntchito yoyamba, yomwe tonse tikufuna kuyamba, ndikuyendetsa chitsanzo choyamba mwanjira ina. Kodi ndingayambitse bwanji ClickHouse pogwiritsa ntchito woyendetsa, ngakhale sindikudziwa momwe zimagwirira ntchito? Tikulemba manifesto, chifukwa... Kulankhulana konse ndi ma k8 ndi kulumikizana kudzera mu mawonetseredwe.

Ogwira ntchito ku Kubernetes oyang'anira magulu a database. Vladislav Klimenko (Altinity, 2019)

Ichi ndi chiwonetsero chovuta kwambiri. Zomwe taunikira zofiira ndizomwe tiyenera kuziganizira. Tikupempha wogwiritsa ntchito kuti apange gulu lotchedwa demo.

Izi ndi zitsanzo zofunika pakali pano. Kusungirako sikunafotokozedwebe, koma tidzabwereranso kusungirako pakapita nthawi. Pakalipano, tiwona zochitika za kukula kwa masango.

Tidapanga manifesto iyi. Timazidyetsa kwa wogwiritsa ntchito. Anagwira ntchito, anapanga matsenga.

Ogwira ntchito ku Kubernetes oyang'anira magulu a database. Vladislav Klimenko (Altinity, 2019)

Timayang'ana pa console. Zigawo zitatu ndizosangalatsa: Pod, ma Services awiri, ndi StatefulSet.

Wogwiritsa ntchitoyo wagwira ntchito, ndipo titha kuwona zomwe adalenga.

Ogwira ntchito ku Kubernetes oyang'anira magulu a database. Vladislav Klimenko (Altinity, 2019)

Iye amalenga chinachake chonga ichi. Tili ndi StatefulSet, Pod, ConfigMap pachithunzi chilichonse, ConfigMap pagulu lonse. Ntchito zimafunikira ngati malo olowera mumagulu.

Ntchito ndi gawo lapakati la Load Balancer Service ndipo litha kugwiritsidwanso ntchito pachifaniziro chilichonse, pa shard iliyonse.

Gulu lathu loyambira limawoneka chonchi. Zimachokera ku mfundo imodzi.

Ogwira ntchito ku Kubernetes oyang'anira magulu a database. Vladislav Klimenko (Altinity, 2019)

Tiyeni tipitirire ndi kusokoneza zinthu. Tiyenera kugawa masango.

Ogwira ntchito ku Kubernetes oyang'anira magulu a database. Vladislav Klimenko (Altinity, 2019)

Ntchito zathu zikukula, mphamvu zikuyamba. Tikufuna kuwonjezera shard. Timatsatira chitukuko. Tikusintha mafotokozedwe athu. Tikuwonetsa kuti tikufuna mizere iwiri.

Ili ndiye fayilo yomweyi yomwe ikukula mwachangu ndi kukula kwa dongosolo. Kusungirako ayi, kusungirako kudzakambidwanso, iyi ndi mutu wosiyana.

Timadyetsa opareshoni ya YAML ndikuwona zomwe zimachitika.

Ogwira ntchito ku Kubernetes oyang'anira magulu a database. Vladislav Klimenko (Altinity, 2019)

Wothandizira anaganiza ndikupanga zinthu zotsatirazi. Tili ndi ma Pods awiri, Services atatu ndipo, mwadzidzidzi, 2 StatefulSets. Chifukwa chiyani 2 StatefulSets?

Ogwira ntchito ku Kubernetes oyang'anira magulu a database. Vladislav Klimenko (Altinity, 2019)

Pachithunzichi zinali chonchi - ichi ndi chikhalidwe chathu choyamba, pamene tinali ndi pod imodzi.

Ogwira ntchito ku Kubernetes oyang'anira magulu a database. Vladislav Klimenko (Altinity, 2019)

Zinakhala chonchi. Mpaka pano zonse ndi zophweka, zakhala zikubwerezedwa.

Ogwira ntchito ku Kubernetes oyang'anira magulu a database. Vladislav Klimenko (Altinity, 2019)

Ndipo chifukwa chiyani padakhala ma StatefulSets awiri? Apa tifunika kusiya ndikukambirana funso la momwe ma Pods amayendetsedwa ku Kubernetes.

Pali chinthu chotchedwa StatefulSet chomwe chimakulolani kuti mupange ma Pods kuchokera pa template. Chofunikira apa ndi Template. Ndipo mutha kuyambitsa ma Pods ambiri pogwiritsa ntchito template imodzi mu StatefulSet imodzi. Ndipo mawu ofunikira apa ndi "MaPod ambiri a template imodzi."

Ndipo panali chiyeso chachikulu kupanga gulu lonse, kulinyamula mu StatefulSet imodzi. Idzagwira ntchito, palibe vuto ndi izo. Koma pali chenjezo limodzi. Ngati tikufuna kusonkhanitsa gulu lambiri, ndiye kuti, kuchokera kumitundu ingapo ya ClickHouse, ndiye kuti mafunso amayamba kuwuka. Inde, StatefulSet ikhoza kusinthiratu, ndipo pamenepo mutha kutulutsa mtundu watsopano, fotokozani kuti simuyenera kuyesa ma nodi ambiri nthawi imodzi.

Koma ngati tiwonjezera ntchitoyo ndikunena kuti tikufuna kupanga gulu losiyana kwambiri ndipo sitikufuna kusintha kuchokera ku Baibulo lakale kupita ku latsopano pogwiritsa ntchito zosintha, koma tikungofuna kupanga gulu losiyana kwambiri. zamitundu yosiyanasiyana ya ClickHouse komanso posungirako zosiyanasiyana. Tikufuna, mwachitsanzo, kupanga zofananira pama disks osiyana, pazapang'onopang'ono, nthawi zambiri, kuti amange gulu lambiri. Ndipo chifukwa StatefulSet imapanga yankho lokhazikika kuchokera pa template imodzi, palibe njira yochitira izi.

Pambuyo polingalira, anaganiza kuti tichite motere. Tili ndi chithunzi chilichonse mu StatefulSet yake. Pali zovuta zina pa yankho ili, koma pochita zonse zimayikidwa kwathunthu ndi wogwiritsa ntchito. Ndipo pali ubwino wambiri. Titha kupanga gulu lenileni lomwe tikufuna, mwachitsanzo, lamitundumitundu. Chifukwa chake, m'gulu lomwe tili ndi ma shards awiri okhala ndi chofanana chimodzi, tidzakhala ndi 2 StatefulSets ndi 2 Pods ndendende chifukwa tidasankha njira iyi pazifukwa zomwe tafotokozazi kuti tithe kupanga gulu lambiri.

Ogwira ntchito ku Kubernetes oyang'anira magulu a database. Vladislav Klimenko (Altinity, 2019)

Tiyeni tibwerere ku zovuta zenizeni. M'gulu lathu tiyenera kukonza ogwiritsa ntchito, i.e. muyenera kupanga masinthidwe a ClickHouse ku Kubernetes. Wothandizira amapereka mwayi wonse wa izi.

Ogwira ntchito ku Kubernetes oyang'anira magulu a database. Vladislav Klimenko (Altinity, 2019)

Titha kulemba zomwe tikufuna mwachindunji mu YAML. Zosintha zonse zimajambulidwa mwachindunji kuchokera ku YAML iyi kupita ku ClickHouse configs, zomwe zimagawidwa m'magulu onse.

Mutha kuzilemba motere. Izi ndi mwachitsanzo. Achinsinsi akhoza encrypted. Mwamtheradi zosankha zonse za ClickHouse zimathandizidwa. Nachi chitsanzo chabe.

Kukonzekera kwamagulu kumagawidwa ngati ConfigMap. Pochita, kusintha kwa ConfigMap sikuchitika nthawi yomweyo, kotero ngati gululo ndi lalikulu, ndiye kuti kukankhira kasinthidwe kumatenga nthawi. Koma zonsezi ndizosavuta kugwiritsa ntchito.

Ogwira ntchito ku Kubernetes oyang'anira magulu a database. Vladislav Klimenko (Altinity, 2019)

Tiyeni tiwunikire ntchitoyi. Tsango likukula. Tikufuna kubwereza deta. Ndiye kuti, tili ndi ma shards awiri kale, chofanana chimodzi chilichonse, ndipo ogwiritsa ntchito amakonzedwa. Tikukula ndipo tikufuna kubwerezabwereza.

Ogwira ntchito ku Kubernetes oyang'anira magulu a database. Vladislav Klimenko (Altinity, 2019)

Kodi timafunikira chiyani kuti tibwereze?

Tikufuna ZooKeeper. Mu ClickHouse, kubwereza kumapangidwa pogwiritsa ntchito ZooKeeper. ZooKeeper ndiyofunika kuti zolemba zosiyanasiyana za ClickHouse zikhale ndi mgwirizano wokhudzana ndi midadada yomwe ili pa ClickHouse.

ZooKeeper ikhoza kugwiritsidwa ntchito ndi aliyense. Ngati bizinesiyo ili ndi ZooKeeper yakunja, ndiye kuti itha kugwiritsidwa ntchito. Ngati sichoncho, mutha kuyiyika kuchokera kunkhokwe yathu. Pali installer yomwe imapangitsa kuti zonsezi zikhale zosavuta.

Ogwira ntchito ku Kubernetes oyang'anira magulu a database. Vladislav Klimenko (Altinity, 2019)

Ndipo chithunzi cholumikizirana cha dongosolo lonse chimakhala chonchi. Tili ndi Kubernetes ngati nsanja. Imagwira ntchito ya ClickHouse. Ndinajambula ZooKeeper apa. Ndipo wogwiritsa ntchito amalumikizana ndi ClickHouse ndi ZooKeeper. Ndiko kuti, zotsatira zogwirizana.

Ndipo zonsezi ndizofunikira kuti ClickHouse ibwereze bwino deta mu k8s.

Ogwira ntchito ku Kubernetes oyang'anira magulu a database. Vladislav Klimenko (Altinity, 2019)

Tiyeni tsopano tiwone ntchitoyo, momwe chiwonetsero cha kubwereza chidzawoneka.

Tikuwonjezera magawo awiri ku chiwonetsero chathu. Yoyamba ndi komwe mungapeze ZooKeeper, yomwe imatha kukhala mkati mwa Kubernetes kapena kunja. Uku ndi kulongosola chabe. Ndipo timayitanitsa zofananira. Iwo. tikufuna zofananira ziwiri. Pazonse, tiyenera kukhala ndi ma pod 4 pazotulutsa. Timakumbukira za kusungirako, zidzabweranso pambuyo pake. Kusungirako ndi nkhani yosiyana.

Ogwira ntchito ku Kubernetes oyang'anira magulu a database. Vladislav Klimenko (Altinity, 2019)

Zinali chonchi.

Ogwira ntchito ku Kubernetes oyang'anira magulu a database. Vladislav Klimenko (Altinity, 2019)

Zimakhala chonchi. Zofananira zikuwonjezeredwa. Chachinayi sichinagwirizane, tikukhulupirira kuti pakhoza kukhala ambiri a iwo kumeneko. Ndipo ZooKeeper imawonjezedwa kumbali. Machitidwe akukhala ovuta kwambiri.

Ogwira ntchito ku Kubernetes oyang'anira magulu a database. Vladislav Klimenko (Altinity, 2019)

Ndipo ndi nthawi yoti muwonjezere ntchito ina. Tidzawonjezera Kusunga kosalekeza.

Ogwira ntchito ku Kubernetes oyang'anira magulu a database. Vladislav Klimenko (Altinity, 2019)Kwa Kusunga Kokhazikika tili ndi zosankha zosiyanasiyana.

Ngati tikuyenda mumtambo wothandizira, mwachitsanzo, pogwiritsa ntchito Amazon, Google, ndiye kuti pali chiyeso chachikulu chogwiritsa ntchito kusungirako mitambo. Ndi yabwino kwambiri, ndi yabwino.

Ndipo pali njira yachiwiri. Izi ndizosungirako komweko, tikakhala ndi ma disks am'deralo pa node iliyonse. Njirayi ndi yovuta kwambiri kuigwiritsa ntchito, koma nthawi yomweyo imakhala yopindulitsa kwambiri.

Ogwira ntchito ku Kubernetes oyang'anira magulu a database. Vladislav Klimenko (Altinity, 2019)

Tiyeni tiwone zomwe tili nazo zokhudzana ndi kusungirako mitambo.

Pali ubwino. Ndikosavuta kukonza. Timangoyitanitsa kuchokera kwa wopereka mtambo kuti chonde tipatseni zosungirako zamtundu wotere, zamagulu awa. Maphunziro amakonzedwa ndi opereka paokha.

Ndipo pali drawback. Kwa ena, izi ndizovuta zosafunikira. Zachidziwikire, padzakhala zovuta zina zamachitidwe. Ndizosavuta kugwiritsa ntchito komanso zodalirika, koma pali zovuta zina zomwe zingachitike.

Ogwira ntchito ku Kubernetes oyang'anira magulu a database. Vladislav Klimenko (Altinity, 2019)

Ndipo chifukwa ClickHouse imayang'ana kwambiri zokolola, wina anganene kuti imafinya chilichonse chomwe chingathe, ndichifukwa chake makasitomala ambiri amayesa kufinya zokolola zambiri.

Ogwira ntchito ku Kubernetes oyang'anira magulu a database. Vladislav Klimenko (Altinity, 2019)

Ndipo kuti tipindule nazo kwambiri, timafunikira malo osungiramo malo.

Kubernetes imapereka zotsalira zitatu zogwiritsira ntchito kusungirako kwanuko ku Kubernetes. Izi:

  • EmptyDir
  • HostPath.
  • Local

Tiyeni tiwone momwe amasiyana komanso momwe amafananira.

Choyamba, m'njira zonse zitatu tili ndi zosungira - awa ndi ma disks am'deralo omwe ali pamtunda womwewo wa k8s. Koma amasiyana.

Ogwira ntchito ku Kubernetes oyang'anira magulu a database. Vladislav Klimenko (Altinity, 2019)

Tiyeni tiyambe ndi yosavuta kwambiri, i.e. emptyDir. Ndi chiyani ichi mukuchita? M'mafotokozedwe athu, timapempha makina osungira (nthawi zambiri Docker) kuti atipatse mwayi wopeza chikwatu pa disk yakomweko.

M'malo mwake, Docker amapanga chikwatu chakanthawi kwinakwake m'njira zake ndikuchitcha kuti hashi yayitali. Ndipo amapereka mawonekedwe kuti apeze izo.

Kodi ntchito imeneyi imagwira ntchito bwanji? Izi zidzagwira ntchito pa liwiro la disk lapafupi, i.e. Uku ndi mwayi wofikira ku screw yanu.

Koma nkhaniyi ili ndi zovuta zake. Kulimbikira ndikokayikitsa pankhaniyi. Nthawi yoyamba Docker akuyenda ndi zotengera, Persistent imatayika. Ngati Kubernetes akufuna kusuntha Pod iyi ku disk ina pazifukwa zina, deta idzatayika.

Njirayi ndi yabwino pamayesero, chifukwa ikuwonetsa kale liwiro labwinobwino, koma pachinthu chachikulu njirayi siili yoyenera.

Ogwira ntchito ku Kubernetes oyang'anira magulu a database. Vladislav Klimenko (Altinity, 2019)

Choncho pali njira yachiwiri. Iyi ndi hostPath. Ngati muyang'ana pa slide yapitayi ndi iyi, mutha kuwona kusiyana kumodzi kokha. Foda yathu idachoka ku Docker kupita ku Kubernetes node. Ndi zophweka pang'ono apa. Timalongosola mwachindunji njira pamafayilo am'deralo komwe tikufuna kusunga deta yathu.

Njira imeneyi ili ndi ubwino wake. Izi zili kale Zolimbikira, komanso zachikale pamenepo. Tidzakhala ndi deta yolembedwa pa disk pa adilesi ina.

Palinso kuipa. Izi ndizovuta za kasamalidwe. Athu Kubernetes angafune kusuntha Pod kupita kumalo ena akuthupi. Ndipo apa ndipamene DevOps imayamba kusewera. Ayenera kufotokozera momveka bwino dongosolo lonse kuti madonthowa amatha kusunthira kumalo omwe muli ndi chinachake chokwera m'mphepete mwa njirazi, ndipo osapitirira mfundo imodzi panthawi imodzi. Ndizovuta.

Makamaka pazifukwa izi, tinapanga ma templates mwa opareshoni yathu kuti tibise zovuta zonsezi. Ndipo mutha kungonena kuti: "Ndikufuna kukhala ndi chitsanzo chimodzi cha ClickHouse pamfundo iliyonse yakuthupi komanso njira iyi."

Ogwira ntchito ku Kubernetes oyang'anira magulu a database. Vladislav Klimenko (Altinity, 2019)

Koma si ife tokha omwe amafunikira chosowa ichi, kotero njonda zochokera ku Kubernetes mwiniwake zimamvetsetsanso kuti anthu akufuna kukhala ndi ma disks akuthupi, kotero amapereka gawo lachitatu.

Amatchedwa wakomweko. Palibe kusiyana kwenikweni ndi slide yapitayi. Pokhapokha pasanakhale kofunikira kutsimikizira pamanja kuti sitingathe kusamutsa ma pods kuchokera ku mfundo kupita ku mfundo, chifukwa ayenera kumangirizidwa panjira yopita ku disk yakuthupi, koma tsopano chidziwitso chonsechi chikuphatikizidwa ku Kubernetes mwiniwake. Ndipo zimakhala zosavuta kukonza.

Ogwira ntchito ku Kubernetes oyang'anira magulu a database. Vladislav Klimenko (Altinity, 2019)

Tiyeni tibwerere ku vuto lathu lothandiza. Tiyeni tibwerere ku template ya YAML. Pano tili ndi zosungirako zenizeni. Ife tabwereranso pa izo. Timayika template yapamwamba ya VolumeClaim monga mu k8s. Ndipo timafotokozera mtundu wa zosungira zomwe tikufuna.

Pambuyo pake, k8s idzapempha kusungidwa. Idzatipatsa mu StatefulSet. Ndipo pamapeto pake izikhala ndi ClickHouse.

Ogwira ntchito ku Kubernetes oyang'anira magulu a database. Vladislav Klimenko (Altinity, 2019)

Tinali ndi dongosolo ili. Zosungirako Zathu Zosalekeza zinali zofiira, zomwe zimawoneka ngati zikuwonetsa kuti ziyenera kuchitidwa.

Ogwira ntchito ku Kubernetes oyang'anira magulu a database. Vladislav Klimenko (Altinity, 2019)

Ndipo amasanduka wobiriwira. Tsopano ClickHouse pa k8s cluster scheme yatsirizidwa. Tili ndi shards, replicas, ZooKeeper, tili ndi Kulimbikira kwenikweni, komwe kumayendetsedwa mwanjira ina. Ndondomekoyi ikugwira ntchito kale.

Ogwira ntchito ku Kubernetes oyang'anira magulu a database. Vladislav Klimenko (Altinity, 2019)

Tikupitirizabe kukhala ndi moyo. Gulu lathu likukula. Ndipo Alexey amayesa, ndikutulutsa mtundu watsopano wa ClickHouse.

Ntchito yothandiza imabwera - kuyesa mtundu watsopano wa ClickHouse pagulu lathu. Ndipo, mwachilengedwe, simukufuna kutulutsa zonse; mukufuna kuyika mtundu watsopano muzofananira kwinakwake pakona yakutali, ndipo mwina osati mtundu umodzi watsopano, koma ziwiri nthawi imodzi, chifukwa zimatuluka nthawi zambiri.

Kodi tinganene chiyani pankhaniyi?

Ogwira ntchito ku Kubernetes oyang'anira magulu a database. Vladislav Klimenko (Altinity, 2019)

Pano tili ndi mwayi wotero. Izi ndi ma templates a pod. Mutha kulemba kuti woyendetsa wathu amakulolani kuti mupange gulu lamitundu yosiyanasiyana. Iwo. sinthani, kuyambira pamitundu yonse mugulu, kutha ndi chithunzi chilichonse chamunthu, mtundu womwe tikufuna ClickHouse, mtundu womwe tikufuna kusungidwa. Titha kukonza bwino gululo ndi kasinthidwe komwe tikufuna.

Ogwira ntchito ku Kubernetes oyang'anira magulu a database. Vladislav Klimenko (Altinity, 2019)

Tiyeni tilowe mkati pang'ono. Izi zisanachitike, tidakambirana za momwe ClickHouse-operator imagwirira ntchito molingana ndi zomwe ClickHouse zimachita.

Tsopano ndikufuna kunena mawu ochepa za momwe wogwiritsa ntchito aliyense amagwirira ntchito, komanso momwe amachitira ndi ma K8.

Ogwira ntchito ku Kubernetes oyang'anira magulu a database. Vladislav Klimenko (Altinity, 2019)

Tiyeni tiwone kuyanjana ndi ma K8 poyamba. Kodi chimachitika ndi chiyani tikamalemba kubectl? Zinthu zathu zimawonekera etcd kudzera mu API.

Ogwira ntchito ku Kubernetes oyang'anira magulu a database. Vladislav Klimenko (Altinity, 2019)

Mwachitsanzo, zinthu zoyambira za Kubernetes: pod, StatefulSet, service, ndi zina zambiri pamndandanda.

Panthawi imodzimodziyo, palibe chilichonse chakuthupi chikuchitika. Zinthu izi ziyenera kupangidwa mumagulu.

Ogwira ntchito ku Kubernetes oyang'anira magulu a database. Vladislav Klimenko (Altinity, 2019)

Pachifukwa ichi, wolamulira akuwonekera. Wowongolera ndi gawo lapadera la k8s lomwe limatha kupanga mafotokozedwe awa. Amadziwa mmene angachitire ndi zochita mwakuthupi. Amadziwa kuyendetsa zotengera, zomwe ziyenera kukhazikitsidwa pamenepo kuti seva igwire ntchito.

Ogwira ntchito ku Kubernetes oyang'anira magulu a database. Vladislav Klimenko (Altinity, 2019)

Ndipo imapanga zinthu zathu mu K8s.

Koma tikufuna kugwira ntchito osati ndi ma pods ndi StatefulSets, tikufuna kupanga ClickHouseInstallation, i.e. chinthu chamtundu wa ClickHouse, kuti tigwire nawo ntchito yonse. Mpaka pano palibe kuthekera koteroko.

Ogwira ntchito ku Kubernetes oyang'anira magulu a database. Vladislav Klimenko (Altinity, 2019)

Koma ma K8 ali ndi zabwino izi. Tikufuna kuti tikhale ndi penapake ngati gulu lovutali momwe gulu lathu lingasonkhanitsidwe kuchokera ku ma pod ndi StatefulSet.

Ogwira ntchito ku Kubernetes oyang'anira magulu a database. Vladislav Klimenko (Altinity, 2019)

Ndipo nchiyani chomwe chiyenera kuchitidwa pa izi? Choyamba, Custom Resource Definition imabwera pachithunzichi. Ndi chiyani? Uku ndikulongosola kwa K8s, kuti mudzakhala ndi mtundu wina wa deta, womwe tikufuna kuwonjezera gwero lachizolowezi ku pod, StatefulSet, zomwe zidzakhala zovuta mkati. Uku ndikulongosola kwadongosolo la data.

Ogwira ntchito ku Kubernetes oyang'anira magulu a database. Vladislav Klimenko (Altinity, 2019)

Timatumizanso kumeneko kudzera pa kubectl apply. Kubernetes adazitenga mosangalala.

Ndipo tsopano posungira kwathu, chinthu chomwe chili mu etcd chili ndi mwayi wojambulitsa chida chotchedwa ClickHouseInstallation.

Koma panopa palibenso chimene chidzachitike. Ndiye kuti, ngati tipanga fayilo ya YAML yomwe tidayang'ana pofotokoza shards ndi zofananira ndikuti "kubectl apply," Kubernetes avomereza, kuyiyika etcd ndikuti: "Zabwino, koma sindikudziwa choti ndichite. ndi izo. Sindikudziwa kusunga ClickHouseInstallation. "

Ogwira ntchito ku Kubernetes oyang'anira magulu a database. Vladislav Klimenko (Altinity, 2019)

Chifukwa chake, tikufuna wina woti athandize Kubernetes kutumikira mtundu watsopano wa data. Kumanzere tili ndi wolamulira wamba wa Kubernetes yemwe amagwira ntchito ndi mitundu yamtundu wamba. Ndipo kumanja tiyenera kukhala ndi wowongolera omwe amatha kugwira ntchito ndi mitundu ya data.

Ndipo m'njira ina amatchedwa opareta. Ndinaziphatikiza pano ngati Kubernetes, chifukwa zitha kuchitidwanso kunja kwa K8s. Nthawi zambiri, zowonadi, onse ogwira ntchito amaphedwa ku Kubernetes, koma palibe chomwe chimalepheretsa kuyima panja, kotero apa chimasunthidwa mwapadera.

Ogwira ntchito ku Kubernetes oyang'anira magulu a database. Vladislav Klimenko (Altinity, 2019)

Ndipo, wowongolera, yemwe amadziwikanso kuti woyendetsa, amalumikizana ndi Kubernetes kudzera pa API. Imadziwa kale kuyanjana ndi API. Ndipo amadziwa kale momwe angapangire dera lovuta lomwe tikufuna kupanga kuchokera kuzinthu zachikhalidwe. Izi ndi zomwe wogwiritsa ntchito amachita.

Ogwira ntchito ku Kubernetes oyang'anira magulu a database. Vladislav Klimenko (Altinity, 2019)

Kodi opareshoni amagwira ntchito bwanji? Tiyeni tiwone mbali yakumanja kuti tiwone momwe amachitira. Tiyeni tiwone momwe wogwiritsa ntchito amapangira zonsezi komanso momwe kuchitirananso ma K8 kukuchitika.

Ogwira ntchito ku Kubernetes oyang'anira magulu a database. Vladislav Klimenko (Altinity, 2019)

Wothandizira ndi pulogalamu. Iye ndi wokonda zochitika. Wothandizira amalembetsa ku zochitika pogwiritsa ntchito Kubernetes API. Kubernetes API ili ndi malo olowera momwe mungalembetsere zochitika. Ndipo ngati chinachake chikusintha mu K8s, ndiye Kubernetes amatumiza zochitika kwa aliyense, i.e. aliyense amene walembetsa ku API iyi adzalandira zidziwitso.

Wogwiritsa ntchitoyo amalembetsa ku zochitika ndipo amayenera kuchitapo kanthu. Ntchito yake ndikuyankha zochitika zomwe zikubwera.

Ogwira ntchito ku Kubernetes oyang'anira magulu a database. Vladislav Klimenko (Altinity, 2019)

Zochitika zimapangidwa ndi zosintha zina. Fayilo yathu ya YAML yofotokoza za ClickHouseInstallation ifika. Anapita etcd kudzera kubectl apply. Chochitika chinayambika pamenepo, ndipo chifukwa chake chochitikachi chinabwera kwa ClickHouse-operator. Wothandizira adalandira malongosoledwe awa. Ndipo ayenera kuchita chinachake. Ngati zosintha zafika pa chinthu cha ClickHouseInstallation, ndiye kuti muyenera kusintha gululo. Ndipo ntchito ya wogwiritsa ntchito ndikuwongolera masango.

Ogwira ntchito ku Kubernetes oyang'anira magulu a database. Vladislav Klimenko (Altinity, 2019)

Kodi iye akuchita chiyani? Choyamba, tiyenera kupanga dongosolo la zomwe tingachite ndi izi. Zosintha zingakhale zochepa kwambiri, i.e. yaying'ono mukuchita kwa YAML, koma imatha kukhala ndi kusintha kwakukulu pagulu. Chifukwa chake, wogwiritsa ntchitoyo amapanga dongosolo, ndiyeno amakakamira.

Ogwira ntchito ku Kubernetes oyang'anira magulu a database. Vladislav Klimenko (Altinity, 2019)

Malingana ndi ndondomekoyi, amayamba kuphika kamangidwe kameneka mkati kuti apange ma pod, mautumiki, i.e. kuchita ntchito yake yaikulu. Umu ndi momwe mungapangire gulu la ClickHouse ku Kubernetes.

Ogwira ntchito ku Kubernetes oyang'anira magulu a database. Vladislav Klimenko (Altinity, 2019)

Tsopano tiyeni tikhudze chinthu chosangalatsa chotero. Uku ndikugawika kwa udindo pakati pa Kubernetes ndi wogwiritsa ntchito, i.e. zomwe Kubernetes amachita, zomwe wogwiritsa ntchito amachita, ndi momwe amachitira.

Kubernetes ali ndi udindo pazinthu zadongosolo, i.e. kwa seti yoyambira yazinthu zomwe zitha kutanthauziridwa ngati mawonekedwe adongosolo. Kubernetes amadziwa kuyambitsa ma pod, momwe angayambitsirenso zotengera, momwe angakhazikitsire voliyumu, momwe angagwiritsire ntchito ndi ConfigMap, i.e. chirichonse chimene chingatchedwe dongosolo.

Othandizira amagwira ntchito m'madomeni. Wogwiritsa ntchito aliyense amapangidwira gawo lake. Tidapangira ClickHouse.

Ndipo wogwiritsa ntchitoyo amalumikizana ndendende ndi gawo la mutuwo, monga kuwonjezera chofanizira, kupanga chithunzi, kukhazikitsa kuwunika. Izi zimabweretsa magawano.

Ogwira ntchito ku Kubernetes oyang'anira magulu a database. Vladislav Klimenko (Altinity, 2019)

Tiyeni tiwone chitsanzo chothandiza cha momwe kugawikana kwaudindoku kumachitikira tikamawonjezera.

Wothandizira amalandira ntchito - kuwonjezera chofanizira. Kodi wogwira ntchitoyo amachita chiyani? Wogwiritsa ntchitoyo awerengetsera kuti StatefulSet yatsopano ikufunika kupangidwa, momwe ma tempuleti oterowo, kuchuluka kwa voliyumu, ayenera kufotokozedwa.

Ogwira ntchito ku Kubernetes oyang'anira magulu a database. Vladislav Klimenko (Altinity, 2019)

Anazikonza zonse ndikuzipereka ku ma K8. Akuti akufunika ConfigMap, StatefulSet, Volume. Kubernetes akugwira ntchito. Amapanga mayunitsi oyambira omwe amagwira nawo ntchito.

Ogwira ntchito ku Kubernetes oyang'anira magulu a database. Vladislav Klimenko (Altinity, 2019)

Kenako ClickHouse-operator imabweranso. Ali kale ndi poto yakuthupi yomwe angathe kuchitapo kanthu. Ndipo ClickHouse-operator imagwiranso ntchito mwadongosolo. Iwo. Makamaka ClickHouse, kuti muphatikize chofananira mgulu, muyenera, choyamba, kukonza schema ya data yomwe ilipo mgululi. Ndipo chachiwiri, chofananira ichi chiyenera kuphatikizidwa muzowunikira kuti zitheke kutsata bwino. Wothandizira akonza kale izi.

Ogwira ntchito ku Kubernetes oyang'anira magulu a database. Vladislav Klimenko (Altinity, 2019)

Ndipo pokhapokha ClickHouse ikayamba kusewera, i.e. gulu lina lapamwamba. Iyi ndi database kale. Ili ndi chitsanzo chake, chofananira china chokhazikitsidwa chomwe chakonzeka kulowa mgululi.

Zikuoneka kuti unyolo wa kuphedwa ndi kugawa udindo powonjezera chofanizira ndi wautali kwambiri.

Ogwira ntchito ku Kubernetes oyang'anira magulu a database. Vladislav Klimenko (Altinity, 2019)

Timapitiriza ntchito zathu zothandiza. Ngati muli ndi gulu kale, mukhoza kusamutsa kasinthidwe.

Ogwira ntchito ku Kubernetes oyang'anira magulu a database. Vladislav Klimenko (Altinity, 2019)

Tidapanga kuti mutha kudumpha mu xml yomwe ilipo, yomwe ClickHouse imamvetsetsa.

Ogwira ntchito ku Kubernetes oyang'anira magulu a database. Vladislav Klimenko (Altinity, 2019)

Mutha kuyimba bwino ClickHouse. Kungotumizidwa kumene ndizomwe ndidalankhula pofotokozera hostPath, kusungirako komweko. Umu ndi momwe mungapangire zoned deployment molondola.

Ogwira ntchito ku Kubernetes oyang'anira magulu a database. Vladislav Klimenko (Altinity, 2019)

Ntchito yotsatira yothandiza ndikuwunika.

Ogwira ntchito ku Kubernetes oyang'anira magulu a database. Vladislav Klimenko (Altinity, 2019)

Ngati gulu lathu lisintha, ndiye kuti tiyenera kukonza nthawi ndi nthawi.

Tiyeni tiwone chithunzicho. Tawona kale mivi yobiriwira apa. Tsopano tiyeni tione mivi yofiira. Umu ndi momwe tikufuna kuyang'anira gulu lathu. Momwe ma metrics ochokera kugulu la ClickHouse amalowera ku Prometheus, kenako ku Grafana.

Ogwira ntchito ku Kubernetes oyang'anira magulu a database. Vladislav Klimenko (Altinity, 2019)

Chovuta ndi chiyani pakuwunika? N’chifukwa chiyani zimenezi zikusonyezedwa ngati kupindula? Vuto liri mu mphamvu. Tikakhala ndi gulu limodzi ndipo limakhala lokhazikika, ndiye kuti titha kukhazikitsa zowunikira kamodzi osavutikiranso.

Koma ngati tili ndi magulu ambiri, kapena chinachake chikusintha nthawi zonse, ndiye kuti ndondomekoyi ndi yamphamvu. Ndipo kuyang'anitsitsa nthawi zonse ndikuwononga chuma ndi nthawi, i.e. ngakhale ulesi basi. Izi zimafunika kuti zizichitika zokha. Vuto liri mu mphamvu za ndondomekoyi. Ndipo opareshoni amayendetsa izi bwino kwambiri.

Ogwira ntchito ku Kubernetes oyang'anira magulu a database. Vladislav Klimenko (Altinity, 2019)

Kodi gulu lathu linakula bwanji? Pachiyambi iye anali chomwecho.

Ogwira ntchito ku Kubernetes oyang'anira magulu a database. Vladislav Klimenko (Altinity, 2019)

Ndiye iye anali chonchi.

Ogwira ntchito ku Kubernetes oyang'anira magulu a database. Vladislav Klimenko (Altinity, 2019)

Pamapeto pake anakhala chonchi.

Ndipo kuwunika kumangochitika ndi wogwiritsa ntchito. Malo amodzi olowera.

Ogwira ntchito ku Kubernetes oyang'anira magulu a database. Vladislav Klimenko (Altinity, 2019)

Ndipo potuluka timayang'ana pa Grafana dashboard kuti tiwone momwe moyo wa gulu lathu ukuwira mkati.

Mwa njira, Grafana dashboard imagawidwanso ndi woyendetsa wathu mwachindunji mu code source. Mutha kulumikizana ndikugwiritsa ntchito. Ma DevOps athu adandipatsa chithunzichi.

Ogwira ntchito ku Kubernetes oyang'anira magulu a database. Vladislav Klimenko (Altinity, 2019)

Kodi tingakonde kupita kuti? Izi:

  • Konzani zoyeserera zokha. Ntchito yayikulu ndikuyesa matembenuzidwe atsopano.
  • Tikufunanso kusintha kuphatikiza ndi ZooKeeper. Ndipo pali mapulani ophatikizana ndi ZooKeeper-operator. Iwo. Wogwiritsa ntchito adalembedwera ZooKeeper ndipo ndizomveka kuti ogwira ntchito awiriwa ayambe kuphatikizana kuti apange yankho losavuta.
  • Tikufuna kuchita zizindikiro zovuta kwambiri.
  • Ndidawunikiranso zobiriwira kuti tikuyandikira cholowa cha Templates - ZACHITIKA, mwachitsanzo, ndi kutulutsidwa kotsatira kwa woyendetsa tidzakhala kale ndi cholowa cha ma templates. Ichi ndi chida champhamvu chomwe chimakulolani kuti mupange masinthidwe ovuta kuchokera ku zidutswa.
  • Ndipo tikufuna automation ya ntchito zovuta. Chachikulu ndikugawananso.

Ogwira ntchito ku Kubernetes oyang'anira magulu a database. Vladislav Klimenko (Altinity, 2019)

Tiyeni titenge zotsatira zapakatikati.

Ogwira ntchito ku Kubernetes oyang'anira magulu a database. Vladislav Klimenko (Altinity, 2019)

Kodi timapeza chiyani ngati chotsatira? Ndipo m'pofunika kuchita kapena ayi? Kodi ndikofunikira kuyesa kukokera nkhokwe ku Kubernetes ndikugwiritsa ntchito wogwiritsa ntchito nthawi zonse komanso woyendetsa Alitnity makamaka?

Pa zotsatira timapeza:

  • Kuphweka kwakukulu ndikudzipangira zokha kasinthidwe, kutumiza, ndi kukonza.
  • Nthawi yomweyo anamanga-mu polojekiti.
  • Ndipo ma tempulo okonzeka kugwiritsa ntchito pazovuta zovuta. Zochita ngati kuwonjezera chofananira siziyenera kuchitidwa pamanja. Wothandizira amachita izi.

Ogwira ntchito ku Kubernetes oyang'anira magulu a database. Vladislav Klimenko (Altinity, 2019)

Patsala funso limodzi lomaliza. Tili kale ndi database ku Kubernetes, virtualization. Nanga bwanji momwe yankho ili, makamaka popeza ClickHouse imakonzedwa kuti igwire ntchito?

Yankho ndiloti zonse zili bwino! Sindifotokoza mwatsatanetsatane, uwu ndi mutu wa lipoti lapadera.

Ogwira ntchito ku Kubernetes oyang'anira magulu a database. Vladislav Klimenko (Altinity, 2019)

Koma pali ntchito ngati TSBS. Kodi ntchito yake yaikulu ndi yotani? Uku ndikuyesa magwiridwe antchito a database. Uku ndikuyesa kuyerekeza kutentha ndi kutentha, zofewa ndi zofewa.

Kodi amagwira ntchito bwanji? Seti imodzi ya data imapangidwa. Ndiye seti iyi ya data imayendetsedwa pamasamba osiyanasiyana pogwiritsa ntchito mayeso omwewo. Ndipo database iliyonse imathetsa vuto limodzi momwe imadziwira. Ndiyeno mukhoza kuyerekezera zotsatira.

Imathandizira kale gulu lalikulu la database. Ndazindikira zazikulu zitatu. Izi:

  • NthawiDB.
  • InfluxDB.
  • ClickHouse.

Ogwira ntchito ku Kubernetes oyang'anira magulu a database. Vladislav Klimenko (Altinity, 2019)

Kuyerekeza kunapangidwanso ndi yankho lina lofananalo. Kuyerekeza ndi RedShift. Kuyerekeza kunachitika pa Amazon. ClickHouse ilinso patsogolo pa aliyense pankhaniyi.

Ogwira ntchito ku Kubernetes oyang'anira magulu a database. Vladislav Klimenko (Altinity, 2019)

Ndi mfundo ziti zimene tingafikire pa zimene ndanenazi?

  • DB ku Kubernetes ndizotheka. Mwina chilichonse ndi chotheka, koma zonse zikuwoneka ngati zotheka. ClickHouse ku Kubernetes ndizotheka mothandizidwa ndi wogwiritsa ntchito.
  • Wogwira ntchitoyo amathandizira kusintha njira ndikupangitsa moyo kukhala wosavuta.
  • Magwiridwe ake ndi abwinobwino.
  • Ndipo zikuwoneka kwa ife kuti izi zitha ndipo ziyenera kugwiritsidwa ntchito.

Open source - agwirizane nafe!

Monga ndanenera kale, wogwiritsa ntchitoyo ndi chinthu chotseguka kwathunthu, ndiye kuti zingakhale zabwino kwambiri ngati anthu ambiri azigwiritsa ntchito. Titsatireni! Tikuyembekezera inu nonse!

Zikomo kwa nonse!

Mafunso anu

Ogwira ntchito ku Kubernetes oyang'anira magulu a database. Vladislav Klimenko (Altinity, 2019)

Zikomo chifukwa cha lipoti! Dzina langa ndine Anton. Ndimachokera ku SEMrush. Ndikudabwa kuti pali chiyani pakudula mitengo. Timamva za kuyang'anira, koma palibe chokhudza kudula mitengo, ngati tikukamba za gulu lonse. Mwachitsanzo, takweza gulu pa hardware. Ndipo timagwiritsa ntchito kudula mitengo pakati, kuwasonkhanitsa kukhala mulu wamba pogwiritsa ntchito njira zokhazikika. Ndiyeno kuchokera kumeneko timapeza deta yomwe imatisangalatsa.

Funso labwino, mwachitsanzo, kulowa mndandanda wa todo. Othandizira athu sapanga izi zokha. Ikukulabe, ntchitoyi ikadali yachichepere. Timamvetsa kufunika kodula mitengo. Uwunso ndi mutu wofunikira kwambiri. Ndipo mwina sikofunikira kwenikweni kuposa kuyang'anira. Koma choyamba pa mndandanda wa kukhazikitsidwa kunali kuyang'anira. Padzakhala kudula mitengo. Mwachidziwitso, timayesa kusintha mbali zonse za moyo wa gululo. Choncho, yankho ndiloti panthawiyo wogwiritsa ntchito, mwatsoka, sakudziwa momwe angachitire izi, koma ziri mu ndondomeko, tidzazichita. Ngati mukufuna kujowina, chonde kokerani pempho.

Moni! Zikomo chifukwa cha lipoti! Ndili ndi funso lokhazikika lokhudzana ndi Persistent Volumes. Tikapanga kasinthidwe ndi woyendetsa uyu, kodi wogwiritsa ntchitoyo amadziwa bwanji kuti tili ndi diski kapena foda inayake? Choyamba tiyenera kumufotokozera kuti chonde ikani ClickHouse yathu pamfundo izi zomwe zili ndi disk?

Momwe ndikumvera, funso ili ndikupitilira kusungirako komweko, makamaka gawo la hostPath. Izi zili ngati kufotokozera dongosolo lonse kuti pod imayenera kukhazikitsidwa pamtundu wotere, womwe tili ndi diski yokhudzana ndi thupi, yomwe imayikidwa panjira yotereyi. Ili ndi gawo lonse lomwe ndidakhudza mwachiphamaso chifukwa yankho lake ndi lalikulu kwambiri.

Mwachidule zikuwoneka ngati izi. Mwachibadwa, tiyenera kupereka mabuku ameneΕ΅a. Pakadali pano, palibe makonzedwe amphamvu pakusungirako komweko, chifukwa chake DevOps iyenera kudula ma disks okha, ma voliyumu awa. Ndipo ayenera kufotokozera Kubernetes kupereka kuti mudzakhala ndi Mavoliyumu Okhazikika a kalasi yotere, yomwe ili pazigawo zotere. Kenako muyenera kufotokozera Kubernetes kuti ma pods omwe amafunikira kalasi yosungirako yamtundu wotere ayenera kuyendetsedwa pogwiritsa ntchito zilembo kuzinthu zina. Pazifukwa izi, wogwiritsa ntchitoyo ali ndi kuthekera kopereka mtundu wina wa lebulo ndi imodzi pamwambo uliwonse. Ndipo zikuwonekeratu kuti ma pods adzayendetsedwa ndi Kubernetes kuti azithamanga pamanode okha omwe amakwaniritsa zofunikira, zolemba, m'mawu osavuta. Oyang'anira amagawira zilembo ndi ma disks operekera pamanja. Ndiyeno imakula.

Ndipo ndi njira yachitatu, yakumaloko, yomwe imathandizira kuti izi zikhale zosavuta. Monga ndanenera kale, iyi ndi ntchito yowawa kwambiri pakukonza, yomwe imathandiza kuti munthu azichita bwino kwambiri.

Ndili ndi funso lachiwiri lokhudzana ndi izi. Kubernetes adapangidwa mwanjira yoti zilibe kanthu kwa ife ngati titaya mfundo kapena ayi. Kodi tiyenera kuchita chiyani pamenepa ngati tataya mfundo imene shard yathu yapachikika?

Inde, Kubernetes poyamba adayikidwa kuti ubale wathu ndi nyemba zathu uli ngati ng'ombe, koma pano ndi ife disk iliyonse imakhala ngati chiweto. Pali vuto loti sitingathe kungowataya. Ndipo chitukuko cha Kubernetes chikupita ku njira yomwe sikungatheke kuisamalira mwanzeru, ngati kuti ndizotayidwa kwathunthu.

Tsopano funso lothandiza. Zoyenera kuchita ngati mwataya mfundo yomwe disk inali? Apa vuto likuthetsedwa pamlingo wapamwamba. Pankhani ya ClickHouse, tili ndi zolemba zomwe zimagwira ntchito pamlingo wapamwamba, i.e. pa ClickHouse level.

Zotsatira zake ndi zotani? DevOps ili ndi udindo wowonetsetsa kuti data isatayike. Ayenera kukhazikitsa kubwereza molondola ndikuwonetsetsa kuti kubwereza kukuyenda. Choyimira pa ClickHouse level chiyenera kukhala ndi deta yobwereza. Iyi si ntchito yomwe wogwiritsa ntchito amathetsa. Ndipo osati vuto lomwe Kubernetes amathetsa. Izi zili pa ClickHouse level.

Zoyenera kuchita ngati node yanu yachitsulo yagwa? Ndipo zikuwonekeratu kuti mudzafunika kukhazikitsa yachiwiri, kupereka bwino diskiyo, ndikuyika zilembo. Ndipo zitatha izi, zidzakwaniritsa zofunikira zomwe Kubernetes atha kuyambitsa chitsanzo cha pod. Kubernetes ayambitsa. Chiwerengero cha ma pod sikokwanira kukwaniritsa nambala yomwe mwasankha. Idutsa mkombero womwe ndidawonetsa. Ndipo pamlingo wapamwamba kwambiri, ClickHouse idzamvetsetsa kuti talowa choyimira, sichina kanthu ndipo tiyenera kuyamba kusamutsa deta kwa icho. Iwo. Njirayi sinadziwike bwino.

Zikomo chifukwa cha lipoti! Zoyipa zamtundu uliwonse zikachitika, wogwiritsa ntchitoyo amagwa ndikuyambiranso, ndipo nthawi yomweyo zochitika zikafika, kodi mumatha kuchita izi?

Kodi chimachitika ndi chiyani ngati wogwiritsa ntchitoyo agwa ndikuyambiranso, sichoncho?

Inde. Ndipo nthawi yomweyo zochitika zidafika.

Ntchito ya choti muchite pankhaniyi imagawidwa pang'ono pakati pa wogwiritsa ntchito ndi Kubernetes. Kubernetes ali ndi kuthekera kobwereza zomwe zachitika. Amabwereza. Ndipo ntchito ya wogwiritsa ntchito ndikuwonetsetsa kuti chipikacho chikabwerezedwanso pa iye, zochitika izi sizikhala zamphamvu. Ndipo kotero kuti mobwerezabwereza zochitika zomwezo sizikuphwanya dongosolo lathu. Ndipo woyendetsa wathu akulimbana ndi ntchitoyi.

Moni! Zikomo chifukwa cha lipoti! Wotchedwa Dmitry Zavyalov, kampani Smedova. Kodi pali mapulani owonjezera luso lokonzekera ndi haproxy kwa wogwiritsa ntchito? Ndikadakhala ndi chidwi ndi ena owerengera kupatula omwewo, kuti akhale anzeru ndikumvetsetsa kuti ClickHouse ilipo.

Mukunena za Ingress?

Inde, m'malo mwa Ingress ndi haproxy. Mu haproxy mutha kutchula topology ya cluster pomwe ili ndi zofananira.

Sitinaganizirebe za izo. Ngati mukuzifuna ndipo mutha kufotokoza chifukwa chake zikufunika, ndiye kuti zidzatheka kuzigwiritsa ntchito, makamaka ngati mukufuna kutenga nawo mbali. Tidzakhala okondwa kulingalira njirayo. Yankho lalifupi ndiloti ayi, pakadali pano tilibe magwiridwe antchito. Zikomo chifukwa cha malangizowa, tiwona nkhaniyi. Ndipo ngati mufotokozeranso vuto logwiritsa ntchito komanso chifukwa chake likufunika pochita, mwachitsanzo, pangani nkhani pa GitHub, ndiye kuti zidzakhala zabwino.

Zakhalapo kale.

Chabwino. Ndife omasuka ku malingaliro aliwonse. Ndipo haproxy yawonjezedwa pamndandanda wa todo. Mndandanda wa todo ukukula, osacheperabe. Koma izi ndi zabwino, zikutanthauza kuti malonda akufunika.

Source: www.habr.com

Kuwonjezera ndemanga