Ir-rapport huwa ddedikat għal kwistjonijiet prattiċi tal-iżvilupp ta 'operatur f'Kubernetes, id-disinn tal-arkitettura tiegħu u l-prinċipji operattivi bażiċi.
Fl-ewwel parti tar-rapport se nikkunsidraw:
- x'inhu operatur f'Kubernetes u għaliex huwa meħtieġ;
- kif eżattament l-operatur jissimplifika l-ġestjoni ta 'sistemi kumplessi;
- x'jista' u ma jistax jagħmel l-operatur.
Sussegwentement, ejja nkomplu niddiskutu l-istruttura interna tal-operatur. Ejja nħarsu lejn l-arkitettura u l-operat tal-operatur pass pass. Ejja nħarsu lejha fid-dettall:
- interazzjoni bejn l-operatur u Kubernetes;
- liema funzjonijiet jieħu l-operatur u liema funzjonijiet jiddelega lil Kubernetes.
Ejja nħarsu lejn il-ġestjoni tal-frak u r-repliki tad-database f'Kubernetes.
Sussegwentement, ser niddiskutu kwistjonijiet dwar il-ħażna tad-dejta:
- kif taħdem ma' Ħażna Persistenti mill-aspett ta' operatur;
- in-nases tal-użu tal-Ħażna Lokali.
Fl-aħħar parti tar-rapport, se nikkunsidraw eżempji prattiċi ta’ applikazzjoni
Video:
Jisimni Vladislav Klimenko. Illum ridt nitkellem dwar l-esperjenza tagħna fl-iżvilupp u l-operat ta’ operatur, u dan huwa operatur speċjalizzat għall-ġestjoni ta’ clusters ta’ database. Pereżempju
Għaliex għandna l-opportunità li nitkellmu dwar l-operatur u ClickHouse?
- Aħna nappoġġjaw u niżviluppaw ClickHouse.
- Bħalissa, qed nippruvaw nagħtu l-kontribut tagħna bil-mod għall-iżvilupp ta’ ClickHouse. U aħna qegħdin it-tieni wara Yandex f'termini tal-volum ta 'bidliet li saru lil ClickHouse.
- Qed nippruvaw nagħmlu proġetti addizzjonali għall-ekosistema ClickHouse.
Nixtieq ngħidlek dwar wieħed minn dawn il-proġetti. Dan huwa dwar ClickHouse-operatur għal Kubernetes.
Fir-rapport tiegħi nixtieq inmiss żewġ suġġetti:
- L-ewwel suġġett huwa kif jaħdem l-operatur tal-ġestjoni tad-database ClickHouse tagħna f'Kubernetes.
- It-tieni suġġett huwa kif jaħdem kwalunkwe operatur, jiġifieri kif jinteraġixxi ma 'Kubernetes.
Madankollu, dawn iż-żewġ mistoqsijiet se jaqsmu tul ir-rapport tiegħi.
Min ikun interessat jisma’ dak li qed nipprova ngħid?
- Ikun tal-aktar interess għal dawk li joperaw operaturi.
- Jew għal dawk li jridu jagħmlu tagħhom stess sabiex jifhmu kif taħdem internament, kif l-operatur jinteraġixxi ma 'Kubernetes, u x'iżvantaġġi jistgħu jidhru.
Biex nifhmu bl-aħjar mod dak li ser niddiskutu llum, hija idea tajba li tkun taf kif jaħdem Kubernetes u jkollok xi taħriġ bażiku tal-cloud.
X'inhu ClickHouse? Din hija database ta' kolonni b'karatteristiċi speċifiċi għall-ipproċessar onlajn ta' mistoqsijiet analitiċi. U huwa sors kompletament miftuħ.
U huwa importanti għalina li nkunu nafu biss żewġ affarijiet. Trid tkun taf li din hija database, allura dak li se ngħidlek ikun applikabbli għal kważi kull database. U l-fatt li l-ClickHouse DBMS tiskali tajjeb ħafna, tagħti skalabbiltà kważi lineari. U għalhekk, l-istat tal-cluster huwa stat naturali għal ClickHouse. U aħna l-aktar interessati li niddiskutu kif naqdu l-cluster ClickHouse f'Kubernetes.
Għaliex hemm bżonnu hemm? Għaliex ma nistgħux inkomplu nħaddmuh aħna? U t-tweġibiet huma parzjalment tekniċi u parzjalment organizzattivi.
- Fil-prattika, qed niltaqgħu dejjem aktar ma 'sitwazzjoni fejn f'kumpaniji kbar kważi l-komponenti kollha huma diġà fil-Kubernetes. Id-databases jibqgħu barra.
- U l-mistoqsija qed issir dejjem aktar: "Dan jista 'jitqiegħed ġewwa?" Għalhekk, kumpaniji kbar qed jippruvaw jiksbu unifikazzjoni massima tal-ġestjoni sabiex malajr ikunu jistgħu jimmaniġġjaw l-imħażen tad-dejta tagħhom.
- U dan jgħin speċjalment jekk għandek bżonn l-opportunità massima biex tirrepeti l-istess ħaġa f'post ġdid, jiġifieri l-portabbiltà massima.
Kemm hu faċli jew diffiċli? Dan, ovvjament, jista 'jsir bl-idejn. Iżda mhuwiex daqshekk sempliċi, għaliex għandna l-kumplessità miżjuda tal-ġestjoni ta 'Kubernetes innifsu, iżda fl-istess ħin l-ispeċifiċitajiet ta' ClickHouse huma sovraposti. U tali aggregazzjoni tirriżulta.
U dan kollu flimkien jagħti sett pjuttost kbir ta 'teknoloġiji, li jsir pjuttost diffiċli biex jiġi mmaniġġjat, minħabba li Kubernetes iġib il-kwistjonijiet ta' kuljum tiegħu stess għall-operat, u ClickHouse ġġib il-kwistjonijiet tiegħu stess għall-operat ta 'kuljum. Speċjalment jekk ikollna diversi ClickHouses, u għandna bżonn kontinwament nagħmlu xi ħaġa magħhom.
B'konfigurazzjoni dinamika, ClickHouse għandha numru pjuttost kbir ta 'kwistjonijiet li joħolqu tagħbija kostanti fuq DevOps:
- Meta rridu nibdlu xi ħaġa f'ClickHouse, pereżempju, żid replika jew shard, allura għandna bżonn niġġestixxu l-konfigurazzjoni.
- Imbagħad ibdel l-iskema tad-dejta, minħabba li ClickHouse għandha metodu ta 'sharding speċifiku. Hemm bżonn li tfassal id-dijagramma tad-dejta, tfassal il-konfigurazzjonijiet.
- Għandek bżonn twaqqaf il-monitoraġġ.
- Ġbir ta 'zkuk għal frak ġodda, għal repliki ġodda.
- Ħu ħsieb ir-restawr.
- U terġa 'tibda.
Dawn huma ħidmiet ta' rutina li nixtieq tassew li nagħmel aktar faċli biex tużahom.
Kubernetes innifsu jgħin tajjeb fl-operat, iżda fuq affarijiet bażiċi tas-sistema.
Kubernetes huwa tajjeb biex jiffaċilita u awtomat affarijiet bħal:
- Irkupru.
- Erġa ibda.
- Ġestjoni tas-sistema tal-ħażna.
Dak tajjeb, dik hija d-direzzjoni t-tajba, iżda huwa kompletament clueless dwar kif tħaddem cluster ta 'database.
Irridu aktar, irridu li d-database kollha taħdem f'Kubernetes.
Nixtieq nikseb xi ħaġa bħal buttuna ħamra maġika waħda kbira li tagħfas u raggruppament b'kompiti ta 'kuljum li jeħtieġ li jiġu solvuti jiġi skjerat u miżmum matul iċ-ċiklu kollu tal-ħajja tiegħu. Cluster ClickHouse f'Kubernetes.
U ppruvajna nagħmlu soluzzjoni li tgħin biex ix-xogħol ikun aktar faċli. Dan huwa operatur ClickHouse għal Kubernetes minn Altinity.
Operatur huwa programm li l-kompitu ewlieni tiegħu huwa li jamministra programmi oħra, jiġifieri huwa maniġer.
U fih mudelli ta 'mġieba. Tista' ssejjaħ dan l-għarfien kodifikat dwar il-qasam tas-suġġett.
U l-kompitu ewlieni tiegħu huwa li jagħmel il-ħajja ta 'DevOps aktar faċli u jnaqqas il-mikroġestjoni, sabiex hu (DevOps) diġà jaħseb f'termini ta' livell għoli, jiġifieri, sabiex hu (DevOps) ma jidħolx f'mikroġestjoni, sabiex ma jikkonfigurax. id-dettalji kollha manwalment.
U biss l-operatur huwa assistent robotiku li jittratta l-mikrotasks u jgħin lil DevOps.
Għaliex għandek bżonn operatur? Huwa jaħdem partikolarment tajjeb f'żewġ oqsma:
- Meta l-ispeċjalista li jittratta ClickHouse ma jkollux biżżejjed esperjenza, iżda diġà jeħtieġ li jopera ClickHouse, l-operatur jiffaċilita l-operazzjoni u jippermettilek topera cluster ClickHouse b'konfigurazzjoni pjuttost kumplessa, mingħajr ma tidħol f'ħafna dettall dwar kif taħdem kollox. ġewwa. Inti biss tagħtih kompiti ta 'livell għoli, u taħdem.
- U t-tieni kompitu li fih twettaq l-aħjar huwa meta jkun meħtieġ li jiġi awtomatizzat numru kbir ta 'kompiti tipiċi. Tneħħi l-mikrotasks mill-amministraturi tas-sistema.
Dan huwa l-aktar meħtieġ jew minn dawk li għadhom kemm jibdew il-vjaġġ tagħhom, jew minn dawk li għandhom bżonn jagħmlu ħafna awtomazzjoni.
Kif huwa differenti l-approċċ ibbażat fuq l-operatur minn sistemi oħra? Hemm Helm. Jgħin ukoll biex tinstalla ClickHouse; tista' tfassal charts tat-tmun, li saħansitra se tinstalla cluster sħiħ ta' ClickHouse. X'inhu allura d-differenza bejn l-operatur u l-istess, per eżempju, Helm?
Id-differenza fundamentali ewlenija hija li Helm huwa l-immaniġġjar tal-pakketti u l-Operatur imur pass 'il quddiem. Dan huwa appoġġ għaċ-ċiklu tal-ħajja kollu. Din mhix biss installazzjoni, dawn huma ħidmiet ta 'kuljum li jinkludu skalar, sharding, jiġifieri dak kollu li jeħtieġ li jsir matul iċ-ċiklu tal-ħajja (jekk meħtieġ, imbagħad tħassir ukoll) - dan kollu huwa deċiż mill-operatur. Jipprova awtomat u jżomm iċ-ċiklu kollu tal-ħajja tas-softwer. Din hija d-differenza fundamentali tagħha minn soluzzjonijiet oħra li huma ppreżentati.
Dik kienet il-parti introduttorja, ejja nkomplu.
Kif nibnu l-operatur tagħna? Qed nippruvaw nersqu lejn il-kwistjoni biex niġġestixxu l-cluster ClickHouse bħala riżorsa waħda.
Hawnhekk għandna dejta tal-input fuq in-naħa tax-xellug tal-istampa. Dan huwa YAML bi speċifikazzjoni ta 'cluster, li hija mgħoddija lil Kubernetes bil-mod klassiku permezz ta' kubectl. Hemmhekk l-operatur tagħna jiġbor u jagħmel il-maġija tiegħu. U fl-output nikseb l-iskema li ġejja. Din hija implimentazzjoni ta' ClickHouse f'Kubernetes.
U mbagħad se nħarsu bil-mod lejn kif jaħdem eżattament l-operatur, liema kompiti tipiċi jistgħu jiġu solvuti. Aħna se nikkunsidraw biss ħidmiet tipiċi għax għandna żmien limitat. U mhux se jiġi diskuss dak kollu li jista’ jiddeċiedi l-operatur.
Nibdew mill-prattika. Il-proġett tagħna huwa sors kompletament miftuħ, sabiex tkun tista' tara kif taħdem fuq GitHub. U inti tista 'tipproċedi mill-kunsiderazzjonijiet li jekk inti biss trid tniedi, allura inti tista' tibda bil-Gwida Quick Start.
Jekk trid tifhem fid-dettall, allura nippruvaw inżommu d-dokumentazzjoni f'forma xi ftit jew wisq deċenti.
Nibdew bi problema prattika. L-ewwel kompitu, fejn ilkoll irridu nibdew, huwa li nmexxi l-ewwel eżempju b'xi mod. Kif nista' nniedi ClickHouse bl-użu tal-operatur, anke jekk ma nafx verament kif taħdem? Qed niktbu manifest, għax... Il-komunikazzjoni kollha ma 'k8s hija komunikazzjoni permezz ta' manifesti.
Dan huwa manifest tant kumpless. Dak li enfasizzajna bl-aħmar huwa dak li rridu niffukaw fuqu. Nitolbu lill-operatur biex joħloq cluster bl-isem demo.
Dawn huma eżempji bażiċi għalissa. Il-ħażna għadha ma ġietx deskritta, iżda se nerġgħu lura għall-ħażna ftit aktar tard. Għalissa, se nosservaw id-dinamika tal-iżvilupp tal-cluster.
Ħloqna dan il-manifest. Aħna għalf lill-operatur tagħna. Ħadem, għamel il-maġija.
Aħna nħarsu lejn il-console. Tliet komponenti huma ta 'interess: Pod, żewġ Servizzi, u StatefulSet.
L-operatur ħadem, u nistgħu naraw eżattament x'ħoloq.
Huwa joħloq xi ħaġa bħal din. Għandna StatefulSet, Pod, ConfigMap għal kull replika, ConfigMap għall-cluster kollu. Is-servizzi huma meħtieġa bħala punti ta' dħul fil-cluster.
Is-servizzi huma s-Servizz ċentrali tal-Load Balancer u jistgħu jintużaw ukoll għal kull replika, għal kull shard.
Il-cluster bażiku tagħna jidher xi ħaġa bħal din. Huwa minn nodu wieħed.
Ejja mmorru aktar u nikkomplikaw l-affarijiet. Għandna bżonn li shard-cluster.
Il-kompiti tagħna qed jikbru, id-dinamika qed tibda. Irridu nżidu shard. Aħna nsegwu l-iżvilupp. Qed nibdlu l-ispeċifikazzjoni tagħna. Nindikaw li rridu żewġ shards.
Dan huwa l-istess fajl li jiżviluppa b'mod dinamiku mat-tkabbir tas-sistema. Ħażna le, il-ħażna se tiġi diskussa aktar, dan huwa suġġett separat.
Aħna għalf lill-operatur YAML u naraw x'jiġri.
L-operatur ħaseb u għamel l-entitajiet li ġejjin. Diġà għandna żewġ Pods, tliet Servizzi u, f'daqqa waħda, 2 StatefulSets. Għaliex 2 StatefulSets?
Fuq id-dijagramma kien bħal dan - dan huwa l-istat inizjali tagħna, meta kellna pod wieħed.
Sar hekk. S'issa kollox huwa sempliċi, ġie duplikat.
U għaliex saru żewġ StatefulSets? Hawnhekk irridu nidħlu u niddiskutu l-kwistjoni ta 'kif il-Pods huma ġestiti f'Kubernetes.
Hemm oġġett imsejjaħ StatefulSet li jippermettilek toħloq sett ta' Pods minn mudell. Il-fattur ewlieni hawnhekk huwa Template. U tista 'tniedi ħafna Pods billi tuża mudell wieħed fi StatefulSet wieħed. U l-frażi ewlenija hawnhekk hija "ħafna Pods għal mudell wieħed."
U kien hemm tentazzjoni kbira li tagħmel il-cluster kollu, ippakkjah f'StatefulSet wieħed. Se taħdem, m'hemm l-ebda problema magħha. Iżda hemm twissija waħda. Jekk irridu niġbru raggruppament eteroġenju, jiġifieri minn diversi verżjonijiet ta 'ClickHouse, allura jibdew iqumu mistoqsijiet. Iva, StatefulSet jista 'jagħmel aġġornament rolling, u hemmhekk tista' toħroġ verżjoni ġdida, spjega li għandek bżonn tipprova mhux aktar minn tant nodi fl-istess ħin.
Imma jekk nestrapolaw il-kompitu u ngħidu li rridu nagħmlu cluster kompletament eteroġenju u ma rridux nibdlu mill-verżjoni l-qadima għal waħda ġdida billi tuża aġġornament rolling, iżda sempliċement irridu noħolqu cluster eteroġenju kemm f'termini ta' verżjonijiet differenti ta' ClickHouse u f'termini ta' ħażna differenti. Irridu, pereżempju, nagħmlu xi repliki fuq diski separati, fuq dawk bil-mod, b'mod ġenerali, biex nibnu kompletament cluster eteroġenju. U minħabba l-fatt li StatefulSet jagħmel soluzzjoni standardizzata minn mudell wieħed, m'hemm l-ebda mod kif tagħmel dan.
Wara ftit ħsieb, ġie deċiż li se nagħmluh b'dan il-mod. Għandna kull replika fi StatefulSet tagħha stess. Hemm xi żvantaġġi għal din is-soluzzjoni, iżda fil-prattika hija kollha kompletament inkapsulata mill-operatur. U hemm ħafna vantaġġi. Nistgħu nibnu l-cluster eżatt li rridu, pereżempju, wieħed assolutament eteroġenju. Għalhekk, fi cluster li fih għandna żewġ shards b'replika waħda, se jkollna 2 StatefulSets u 2 Pods preċiżament għaliex għażilna dan l-approċċ għar-raġunijiet imsemmija hawn fuq biex inkunu nistgħu nibnu cluster eteroġenju.
Ejja nerġgħu lura għall-problemi prattiċi. Fil-cluster tagħna għandna bżonn nikkonfiguraw l-utenti, i.e. trid tagħmel xi konfigurazzjoni ta' ClickHouse f'Kubernetes. L-operatur jipprovdi l-possibbiltajiet kollha għal dan.
Nistgħu niktbu dak li rridu direttament f'YAML. L-għażliet kollha ta’ konfigurazzjoni huma mmappjati direttament minn dan YAML f’konfigurazzjonijiet ta’ ClickHouse, li mbagħad jitqassmu fil-cluster.
Tista’ tiktebha hekk. Dan huwa per eżempju. Il-password tista 'tiġi encrypted. Assolutament l-għażliet kollha ta 'konfigurazzjoni ta' ClickHouse huma appoġġjati. Hawn biss eżempju.
Il-konfigurazzjoni tal-cluster hija mqassma bħala ConfigMap. Fil-prattika, l-aġġornament tal-ConfigMap ma jseħħx istantanjament, għalhekk jekk ir-raggruppament huwa kbir, allura l-proċess tal-imbuttar tal-konfigurazzjoni jieħu xi żmien. Iżda dan kollu huwa konvenjenti ħafna biex jintuża.
Ejja nikkomplikaw il-kompitu. Il-cluster qed jiżviluppa. Irridu nirreplikaw id-data. Jiġifieri diġà għandna żewġ shards, replika waħda kull wieħed, u l-utenti huma kkonfigurati. Qed nikbru u rridu nagħmlu replikazzjoni.
X'għandna bżonn għar-replikazzjoni?
Għandna bżonn ZooKeeper. F'ClickHouse, ir-replikazzjoni tinbena bl-użu ta' ZooKeeper. ZooKeeper huwa meħtieġ sabiex repliki differenti ta' ClickHouse jkollhom kunsens dwar liema blokki tad-dejta huma fuq liema ClickHouse.
ZooKeeper jista' jintuża minn kulħadd. Jekk l-intrapriża għandha ZooKeeper estern, allura tista 'tintuża. Jekk le, tista' tinstallah mir-repożitorju tagħna. Hemm installatur li jagħmel din il-ħaġa sħiħa aktar faċli.
U d-dijagramma ta 'interazzjoni tas-sistema kollha tirriżulta bħal din. Għandna Kubernetes bħala pjattaforma. Hija tesegwixxi l-operatur ClickHouse. Istampa ZooKeeper hawn. U l-operatur jinteraġixxi kemm ma 'ClickHouse kif ukoll ma' ZooKeeper. Jiġifieri, ir-riżultati tal-interazzjoni.
U dan kollu huwa meħtieġ biex ClickHouse tirreplika b'suċċess id-dejta f'k8s.
Ejja issa nħarsu lejn il-kompitu innifsu, lejn kif se jidher il-manifest għar-replikazzjoni.
Qed inżidu żewġ taqsimiet mal-manifest tagħna. L-ewwel huwa fejn tikseb ZooKeeper, li jista 'jkun jew ġewwa Kubernetes jew estern. Din hija biss deskrizzjoni. U aħna jordnaw repliki. Dawk. irridu żewġ repliki. B'kollox, għandu jkollna 4 imżiewed fl-output. Niftakru dwar il-ħażna, se terġa 'lura ftit aktar tard. Il-ħażna hija storja separata.
Kien hekk.
Isir hekk. Repliki huma miżjuda. Ir-4 wieħed ma kienx joqgħod, nemmnu li jista’ jkun hemm ħafna minnhom. U ZooKeeper huwa miżjud mal-ġenb. L-iskemi qed isiru aktar kumplessi.
U wasal iż-żmien li żżid il-kompitu li jmiss. Aħna se nżidu Ħażna Persistenti.
Għal Ħażna Persistenti għandna diversi għażliet.
Jekk qed inħaddmu f'fornitur tas-sħab, pereżempju, bl-użu ta 'Amazon, Google, allura hemm tentazzjoni kbira li tuża l-ħażna tas-sħab. Huwa konvenjenti ħafna, huwa tajjeb.
U hemm it-tieni għażla. Dan huwa għall-ħażna lokali, meta jkollna diski lokali fuq kull node. Din l-għażla hija ħafna aktar diffiċli biex timplimenta, iżda fl-istess ħin hija aktar produttiva.
Ejja naraw x'għandna dwar il-ħażna tas-sħab.
Hemm vantaġġi. Huwa faċli ħafna li jiġi kkonfigurat. Aħna sempliċiment tordna mill-fornitur tal-cloud li jekk jogħġbok agħtina ħażna ta 'tali u tali kapaċità, ta' tali u tali klassi. Il-klassijiet huma skedati minn fornituri b'mod indipendenti.
U hemm żvantaġġ. Għal xi wħud, dan huwa żvantaġġ mhux kritiku. Naturalment, se jkun hemm xi kwistjonijiet ta 'prestazzjoni. Huwa konvenjenti ħafna biex tużah u affidabbli, iżda hemm xi żvantaġġi potenzjali fil-prestazzjoni.
U għax ClickHouse jiffoka speċifikament fuq il-produttività, wieħed jista 'saħansitra jgħid li tagħfas dak kollu li jista', u huwa għalhekk li ħafna klijenti jippruvaw jaqilbu l-produttività massima.
U biex nieħdu l-aħjar minnha, għandna bżonn ħażna lokali.
Kubernetes jipprovdi tliet astrazzjonijiet għall-użu tal-ħażna lokali f'Kubernetes. Dan:
- EmptyDir
- HostPath.
- Lokali
Ejja nħarsu lejn kif huma differenti u kif huma simili.
L-ewwelnett, fit-tliet approċċi kollha għandna ħażna - dawn huma diski lokali li jinsabu fuq l-istess node fiżiku k8s. Iżda għandhom xi differenzi.
Nibdew bl-aktar waħda sempliċi, jiġifieri emptyDir. X'inhu dan fil-prattika? Fl-ispeċifikazzjoni tagħna, nitolbu lis-sistema tal-kontejners (l-aktar spiss Docker) biex tagħtina aċċess għal folder fuq id-diska lokali.
Fil-prattika, Docker joħloq folder temporanju x'imkien tul il-mogħdijiet tiegħu stess u jsejjaħlu hash twil. U jipprovdi interface biex taċċessah.
Kif se taħdem dan il-prestazzjoni għaqli? Dan se jaħdem bil-veloċità tad-disk lokali, i.e. Dan huwa aċċess sħiħ għall-kamin tiegħek.
Iżda dan il-każ għandu l-iżvantaġġ tiegħu. Persistenti hija pjuttost dubjuża f'din il-kwistjoni. L-ewwel darba li Docker jiċċaqlaq b'kontenituri, Persistent jintilef. Jekk Kubernetes irid imexxi dan il-Pod għal disk ieħor għal xi raġuni, id-dejta tintilef.
Dan l-approċċ huwa tajjeb għat-testijiet, minħabba li diġà juri veloċità normali, iżda għal xi ħaġa serja din l-għażla mhix adattata.
Għalhekk hemm it-tieni approċċ. Dan huwa hostPath. Jekk tħares lejn is-slide ta 'qabel u din, tista' tara differenza waħda biss. Il-folder tagħna mxiet minn Docker direttament għan-node Kubernetes. Huwa ftit aktar sempliċi hawn. Aħna nispeċifikaw direttament il-mogħdija fis-sistema tal-fajls lokali fejn nixtiequ naħżnu d-dejta tagħna.
Dan il-metodu għandu vantaġġi. Din hija diġà Persistenti reali, u waħda klassika f'dak. Se jkollna data rreġistrata fuq id-diska f'xi indirizz.
Hemm ukoll żvantaġġi. Din hija l-kumplessità tal-ġestjoni. Kubernetes tagħna jistgħu jkunu jridu jċaqalqu l-Pod għal nodu fiżiku ieħor. U dan huwa fejn jidħol DevOps. Huwa għandu jispjega b'mod korrett lis-sistema kollha li dawn il-miżwed jistgħu jiġu mċaqalqa biss għal dawk in-nodi li fuqhom għandek xi ħaġa immuntata tul dawn il-mogħdijiet, u mhux aktar minn nodu wieħed kull darba. Huwa pjuttost diffiċli.
Speċjalment għal dawn l-iskopijiet, għamilna mudelli fl-operatur tagħna sabiex naħbu din il-kumplessità kollha. U tista 'sempliċement tgħid: "Irrid li jkolli eżempju wieħed ta' ClickHouse għal kull nodu fiżiku u tul tali jew tali mogħdija."
Imma aħna mhux l-uniċi li għandhom bżonn din il-ħtieġa, għalhekk is-rġulija minn Kubernetes stess jifhmu wkoll li n-nies iridu jkollhom aċċess għal diski fiżiċi, u għalhekk jipprovdu t-tielet saff.
Tissejjaħ lokali. M'hemm prattikament l-ebda differenza mill-pjastra ta 'qabel. Biss qabel kien meħtieġ li nikkonfermaw manwalment li ma nistgħux nittrasferixxu dawn il-miżwed minn node għal nodu, minħabba li għandhom ikunu mwaħħla tul xi triq għal disk fiżika lokali, iżda issa dan l-għarfien kollu huwa inkapsulat f'Kubernetes innifsu. U jirriżulta li huwa ħafna aktar faċli biex jiġi kkonfigurat.
Ejja nerġgħu lura għall-problema prattika tagħna. Ejja nerġgħu lura għall-mudell YAML. Hawnhekk għandna ħażna reali. Aħna lura fuqha. Aħna waqqafna l-mudell klassiku tal-VolumeClaim bħal f'k8s. U niddeskrivu x'tip ta 'ħażna rridu.
Wara dan, k8s se jitlob ħażna. Se jallokah lilna fl-StatefulSet. U fl-aħħar se tkun għad-dispożizzjoni ta’ ClickHouse.
Kellna din l-iskema. Il-Ħażna Persistenti tagħna kienet ħamra, li deher li tagħti ħjiel li hemm bżonn li jsir.
U jsir aħdar. Issa l-iskema tal-clusters ClickHouse fuq k8s hija kompletament iffinalizzata. Għandna shards, repliki, ZooKeeper, għandna Persistenti reali, li hija implimentata b'xi mod jew ieħor. L-iskema diġà hija kompletament operattiva.
Inkomplu ngħixu. Il-cluster tagħna qed jiżviluppa. U Alexey jipprova, u joħroġ verżjoni ġdida ta’ ClickHouse.
Tqum kompitu prattiku - biex tittestja l-verżjoni l-ġdida ta’ ClickHouse fuq il-cluster tagħna. U, naturalment, ma tridx tirrumbla kollox; trid tpoġġi verżjoni ġdida f'replika waħda x'imkien fil-kantuniera 'l bogħod, u forsi mhux verżjoni ġdida waħda, iżda tnejn f'daqqa, għax joħorġu spiss.
X’nistgħu ngħidu dwar dan?
Hawnhekk għandna biss opportunità bħal din. Dawn huma mudelli pod. Tista 'tikteb li l-operatur tagħna kompletament jippermettilek li tibni cluster eteroġenju. Dawk. kkonfigurat, li jibda mir-repliki kollha f'mazz, li jispiċċa b'kull replika personali, liema verżjoni rridu ClickHouse, liema verżjoni rridu ħażna. Nistgħu kkonfiguraw bis-sħiħ il-cluster bil-konfigurazzjoni li neħtieġu.
Ejja mmorru ftit aktar fil-fond. Qabel dan, tkellimna dwar kif jaħdem l-operatur ClickHouse fir-rigward tal-ispeċifiċitajiet ta 'ClickHouse.
Issa nixtieq ngħid ftit kliem dwar kif jaħdem kwalunkwe operatur b'mod ġenerali, kif ukoll kif jinteraġixxi ma 'K8s.
Ejja nħarsu lejn l-interazzjoni mal-K8s l-ewwel. X'jiġri meta napplikaw kubectl? L-oġġetti tagħna jidhru fl-etcd permezz tal-API.
Pereżempju, oġġetti bażiċi ta 'Kubernetes: pod, StatefulSet, servizz, u l-bqija fil-lista.
Fl-istess ħin, għadu ma jiġri xejn fiżiku. Dawn l-oġġetti għandhom jiġu mmaterjalizzati fil-cluster.
Għal dan il-għan, jidher kontrollur. Il-kontrollur huwa komponent k8s speċjali li jista 'jimmaterjalizza dawn id-deskrizzjonijiet. Jaf kif u x'għandu jagħmel fiżikament. Jaf kif imexxi kontenituri, x'għandu jiġi kkonfigurat hemm sabiex is-server jaħdem.
U jimmaterjalizza l-oġġetti tagħna f'K8s.
Imma rridu noperaw mhux biss bil-miżwed u StatefulSets, irridu noħolqu ClickHouseInstallation, jiġifieri oġġett tat-tip ClickHouse, sabiex naħdmu magħha bħala ħaġa waħda. S'issa m'hemm l-ebda possibbiltà bħal din.
Iżda K8s għandu l-ħaġa sabiħa li ġejja. Irridu li jkollna x'imkien bħal din l-entità kumplessa li fiha l-cluster tagħna jkun assemblat minn imżiewed u StatefulSet.
U x’għandu jsir għal dan? L-ewwel, id-Definizzjoni tar-Riżorsi tad-Dwana tidħol fl-istampa. X'inhu? Din hija deskrizzjoni għall-K8s, li ser ikollok tip ta 'dejta ieħor, li rridu nżidu riżors tad-dwana mal-pod, StatefulSet, li se jkun kumpless ġewwa. Din hija deskrizzjoni tal-istruttura tad-data.
Nibagħtuha wkoll hemmhekk permezz ta 'kubectl apply. Kubernetes ħaduha bil-ferħ.
U issa fil-ħażna tagħna, l-oġġett f'etcd għandu l-opportunità li jirreġistra riżors personalizzat imsejjaħ ClickHouseInstallation.
Imma għalissa mhu se jiġri xejn aktar. Jiġifieri, jekk issa noħolqu l-fajl YAML li ħares lejn li jiddeskrivi shards u repliki u ngħidu "kubectl applika," allura Kubernetes jaċċettah, ipoġġih f'etcd u jgħid: "Kbir, imma ma nafx x'għandek tagħmel. magħha. Ma nafx kif inżomm ClickHouseInstallation.”
Għaldaqstant, għandna bżonn xi ħadd biex jgħin lil Kubernetes iservi t-tip ta 'dejta l-ġdid. Fuq ix-xellug għandna kontrollur Kubernetes nattiv li jaħdem ma 'tipi ta' dejta indiġeni. U fuq il-lemin għandu jkollna kontrollur tad-dwana li jista 'jaħdem ma' tipi ta 'dejta personalizzati.
U b'mod ieħor jissejjaħ operatur. Inkludejtha speċifikament hawn bħala Kubernetes, minħabba li tista 'tiġi eżegwita wkoll barra K8s. Ħafna drabi, ovvjament, l-operaturi kollha huma eżegwiti f'Kubernetes, iżda xejn ma jipprevjenih milli joqgħod barra, għalhekk hawnhekk huwa mċaqlaq apposta barra.
U mbagħad, il-kontrollur tad-dwana, magħruf ukoll bħala l-operatur, jinteraġixxi ma 'Kubernetes permezz tal-API. Diġà jaf kif jinteraġixxi mal-API. U diġà jaf kif jimmaterjalizza ċ-ċirkwit kumpless li rridu nagħmlu minn riżors tad-dwana. Dan huwa eżattament dak li jagħmel l-operatur.
Kif jaħdem l-operatur? Ejja nħarsu lejn in-naħa tal-lemin biex naraw kif jagħmel dan. Ejja nsiru nafu kif l-operatur jimmaterjalizza dan kollu u kif isseħħ aktar interazzjoni ma 'K8s.
Operatur huwa programm. Hija orjentata lejn l-avvenimenti. L-operatur jissottoskrivi għal avvenimenti billi juża l-API Kubernetes. Il-Kubernetes API għandha punti ta' dħul fejn tista' tabbona għal avvenimenti. U jekk xi ħaġa tinbidel fil-K8s, allura Kubernetes jibgħat avvenimenti lil kulħadd, i.e. min ikun abbona għal dan il-punt API jirċievi notifiki.
L-operatur jissottoskrivi għall-avvenimenti u għandu jagħmel xi tip ta 'reazzjoni. Il-kompitu tiegħu huwa li jirrispondi għal avvenimenti emerġenti.
L-avvenimenti huma ġġenerati minn ċerti aġġornamenti. Jasal il-fajl YAML tagħna b'deskrizzjoni ta' ClickHouseInstallation. Huwa mar għal etcd permezz ta 'kubectl apply. Ġie attivat avveniment hemmhekk, u bħala riżultat dan l-avveniment wasal għand l-operatur ClickHouse. L-operatur irċieva din id-deskrizzjoni. U jrid jagħmel xi ħaġa. Jekk wasal aġġornament għall-oġġett ClickHouseInstallation, allura trid taġġorna l-cluster. U l-kompitu tal-operatur huwa li jaġġorna l-cluster.
X'inhu jagħmel? L-ewwel, irridu nfasslu pjan ta’ azzjoni għal x’se nagħmlu b’dan l-aġġornament. L-aġġornamenti jistgħu jkunu żgħar ħafna, i.e. żgħir fl-eżekuzzjoni YAML, iżda jista 'jinvolvi bidliet kbar ħafna fuq il-cluster. Għalhekk, l-operatur joħloq pjan, u mbagħad iżomm miegħu.
Skont dan il-pjan, jibda jsajjar din l-istruttura minn ġewwa sabiex jimmaterjalizza l-imżiewed, is-servizzi, i.e. jagħmel dak li hu l-kompitu ewlieni tiegħu. Dan huwa kif tibni cluster ClickHouse f'Kubernetes.
Issa ejja tmiss fuq ħaġa daqshekk interessanti. Din hija diviżjoni tar-responsabbiltà bejn Kubernetes u l-operatur, i.e. x'jagħmel Kubernetes, x'jagħmel l-operatur, u kif jinteraġixxu ma' xulxin.
Kubernetes huwa responsabbli għall-affarijiet tas-sistema, i.e. għal sett bażiku ta’ oġġetti li jistgħu jiġu interpretati bħala ambitu tas-sistema. Kubernetes jaf kif iniedi l-imżiewed, kif terġa 'tibda kontenituri, kif timmonta volumi, kif taħdem ma' ConfigMap, i.e. dak kollu li jista’ jissejjaħ sistema.
L-operaturi joperaw f'oqsma. Kull operatur huwa magħmul għall-qasam tas-suġġett tiegħu stess. Għamilna għal ClickHouse.
U l-operatur jinteraġixxi b'mod preċiż f'termini tal-qasam tas-suġġett, bħaż-żieda ta 'replika, tagħmel dijagramma, twaqqaf monitoraġġ. Dan jirriżulta f'diviżjoni.
Ejja nħarsu lejn eżempju prattiku ta 'kif din id-diviżjoni tar-responsabbiltà sseħħ meta nagħmlu l-azzjoni add replica.
L-operatur jirċievi kompitu - biex iżid replika. X'jagħmel l-operatur? L-operatur se jikkalkula li jeħtieġ li jinħoloq StatefulSet ġdid, li fih iridu jiġu deskritti mudelli bħal dawn, pretensjoni tal-volum.
Huwa ħejja kollox u jgħaddih lil K8s. Jgħid li għandu bżonn ConfigMap, StatefulSet, Volum. Kubernetes qed jaħdem. Huwa jimmaterjalizza l-unitajiet bażiċi li magħhom jopera.
U mbagħad l-operatur ClickHouse jerġa' jidħol. Huwa diġà għandu pod fiżiku li fuqu diġà jista 'jagħmel xi ħaġa. U ClickHouse-operatur għal darb'oħra jaħdem f'termini ta 'dominju. Dawk. Speċifikament ClickHouse, sabiex tinkludi replika fi cluster, trid, l-ewwel, tikkonfigura l-iskema tad-dejta li teżisti f'dan il-cluster. U, it-tieni, din ir-replika għandha tkun inkluża fil-monitoraġġ sabiex tkun tista 'tiġi traċċata b'mod ċar. L-operatur diġà jikkonfigura dan.
U biss wara li tidħol fis-seħħ ClickHouse stess, i.e. entità oħra ta’ livell ogħla. Din hija diġà database. Għandu l-istanza tiegħu stess, replika oħra kkonfigurata li hija lesta biex tingħaqad mal-cluster.
Jirriżulta li katina ta 'eżekuzzjoni u diviżjoni tar-responsabbiltà meta żżid replika hija pjuttost twila.
Inkomplu bil-kompiti prattiċi tagħna. Jekk diġà għandek cluster, tista' temigra l-konfigurazzjoni.
Għamilna sabiex tkun tista' tippejstja direttament f'xml eżistenti, li ClickHouse jifhem.
Tista 'tirfina ClickHouse. L-iskjerament f'żoni biss huwa dak li tkellimt dwaru meta spjega hostPath, ħażna lokali. Dan huwa kif tagħmel l-iskjerament taż-żoni b'mod korrett.
Il-kompitu prattiku li jmiss huwa l-monitoraġġ.
Jekk il-cluster tagħna jinbidel, allura għandna bżonn nikkonfiguraw perjodikament il-monitoraġġ.
Ejja nħarsu lejn id-dijagramma. Diġà ħares lejn il-vleġeġ ħodor hawn. Issa ejja nħarsu lejn il-vleġeġ ħomor. Dan huwa kif irridu nissorveljaw il-cluster tagħna. Kif il-metriċi mill-cluster ClickHouse jidħlu fi Prometheus, u mbagħad fi Grafana.
X'inhi d-diffikultà bil-monitoraġġ? Għaliex dan huwa ppreżentat bħala xi tip ta 'kisba? Id-diffikultà tinsab fid-dinamika. Meta jkollna cluster wieħed u jkun statiku, nistgħu nwaqqfu monitoraġġ darba u ma niddejqux aktar.
Imma jekk ikollna ħafna raggruppamenti, jew xi ħaġa qed tinbidel kontinwament, allura l-proċess huwa dinamiku. U l-konfigurazzjoni kontinwa tal-monitoraġġ hija ħela ta 'riżorsi u ħin, i.e. anke biss għażżien. Dan jeħtieġ li jkun awtomatizzat. Id-diffikultà tinsab fid-dinamika tal-proċess. U l-operatur awtomat dan tajjeb ħafna.
Kif żviluppa l-cluster tagħna? Fil-bidu kien hekk.
Imbagħad kien bħal dan.
Fl-aħħar, sar hekk.
U l-monitoraġġ isir awtomatikament mill-operatur. Punt uniku tad-dħul.
U eżatt mal-ħruġ inħarsu lejn id-dashboard ta’ Grafana biex naraw kif il-ħajja tal-cluster tagħna qed tagħli ġewwa.
Mill-mod, dashboard Grafana huwa wkoll imqassam mal-operatur tagħna direttament fil-kodiċi tas-sors. Tista 'tqabbad u tuża. Id-DevOps tagħna tani din il-screenshot.
Fejn nixtiequ mmorru jmiss? Dan:
- Żviluppa l-awtomazzjoni tat-test. Il-kompitu ewlieni huwa l-ittestjar awtomatizzat ta 'verżjonijiet ġodda.
- Aħna rridu wkoll verament nawtomatizzaw l-integrazzjoni ma' ZooKeeper. U hemm pjanijiet biex jintegraw mal-operatur ZooKeeper. Dawk. Operatur inkiteb għal ZooKeeper u huwa loġiku li ż-żewġ operaturi jibdew jintegraw biex jibnu soluzzjoni aktar konvenjenti.
- Irridu nagħmlu sinjali vitali aktar kumplessi.
- Jiena enfasizzajt bl-aħdar li qed noqorbu għall-wirt ta’ Templates - DONE, jiġifieri bir-rilaxx li jmiss tal-operatur diġà se jkollna wirt ta’ mudelli. Din hija għodda qawwija li tippermettilek tibni konfigurazzjonijiet kumplessi minn biċċiet.
- U rridu awtomazzjoni ta 'kompiti kumplessi. Il-wieħed ewlieni huwa Re-sharding.
Ejja nieħdu xi riżultati intermedji.
X'nieħdu bħala riżultat? U ta’ min jagħmel jew le? Huwa saħansitra meħtieġ li tipprova tkaxkar id-database fil-Kubernetes u tuża l-operatur b'mod ġenerali u l-operatur Alitnity b'mod partikolari?
Fl-output nikseb:
- Simplifikazzjoni u awtomazzjoni sinifikanti tal-konfigurazzjoni, l-iskjerament u l-manutenzjoni.
- Immedjatament mibnija fil-monitoraġġ.
- U mudelli kodifikati lesti għall-użu għal sitwazzjonijiet kumplessi. Azzjoni bħaż-żieda ta' replika m'għandhiex għalfejn issir manwalment. L-operatur jagħmel dan.
Fadal biss l-aħħar mistoqsija. Diġà għandna database f'Kubernetes, virtwalizzazzjoni. Xi ngħidu dwar il-prestazzjoni ta 'tali soluzzjoni, speċjalment peress li ClickHouse hija ottimizzata għall-prestazzjoni?
It-tweġiba hija kollox tajjeb! Mhux se nidħol fid-dettall; dan huwa s-suġġett ta’ rapport separat.
Iżda hemm proġett bħal TSBS. X'inhu l-kompitu ewlieni tiegħu? Dan huwa test tal-prestazzjoni tad-database. Dan huwa tentattiv biex tqabbel sħun ma sħun, artab ma artab.
Kif jaħdem? Jiġi ġġenerat sett wieħed tad-dejta. Imbagħad dan is-sett ta' dejta jitmexxa fuq databases differenti bl-użu tal-istess sett ta' testijiet. U kull database ssolvi problema waħda bil-mod kif taf kif. U mbagħad tista 'tqabbel ir-riżultati.
Diġà jappoġġja mazz kbir ta 'databases. Identifikajt tlieta ewlenin. Dan:
- TimecaleDB.
- InfluxDB.
- ClickHouse.
Sar ukoll paragun ma’ soluzzjoni oħra simili. Tqabbil ma 'RedShift. Sar paragun fuq Amazon. ClickHouse huwa wkoll ferm qabel kulħadd f'din il-kwistjoni.
Liema konklużjonijiet jistgħu jittieħdu minn dak li għedt?
- DB f'Kubernetes huwa possibbli. Probabbilment kwalunkwe huwa possibbli, iżda b'mod ġenerali jidher li huwa possibbli. ClickHouse f'Kubernetes huwa definittivament possibbli bl-għajnuna tal-operatur tagħna.
- L-operatur jgħin l-awtomazzjoni tal-proċessi u verament jagħmel il-ħajja aktar faċli.
- Il-prestazzjoni hija normali.
- U jidhirna li dan jista' u għandu jintuża.
Sors miftuħ - ingħaqad magħna!
Kif diġà għedt, l-operatur huwa prodott kompletament miftuħ, għalhekk ikun tajjeb ħafna jekk in-numru massimu ta 'nies użah. Ingħaqad magħna! Qed nistennewkom ilkoll!
Grazzi lilek kollha!
mistoqsijiet
Grazzi tar-rapport! Jisimni Anton. Jien minn SEMrush. Qed nistaqsi x'hemm mal-qtugħ. Nisimgħu dwar il-monitoraġġ, iżda xejn dwar il-qtugħ, jekk nitkellmu dwar il-cluster kollu. Pereżempju, qajjimna cluster dwar il-ħardwer. U nużaw logging ċentralizzat, niġbruhom f'munzelli komuni bl-użu ta 'mezzi standard. U mbagħad minn hemm niksbu d-data li tinteressana.
Mistoqsija tajba, jiġifieri illoggjar f'todo list. L-operatur tagħna għadu ma awtomatx dan. Għadu qed jiżviluppa, il-proġett għadu pjuttost żgħir. Aħna nifhmu l-ħtieġa għall-qtugħ. Dan huwa wkoll suġġett importanti ħafna. U probabbilment mhux inqas importanti mill-monitoraġġ. Iżda l-ewwel fuq il-lista għall-implimentazzjoni kien il-monitoraġġ. Se jkun hemm logging. Naturalment, nippruvaw nawtomatizzaw l-aspetti kollha tal-ħajja tal-cluster. Għalhekk, it-tweġiba hija li bħalissa l-operatur, sfortunatament, ma jafx kif jagħmel dan, iżda huwa fil-pjanijiet, se nagħmluh. Jekk trid tissieħeb, imbagħad iġbed it-talba, jekk jogħġbok.
Bongu! Grazzi tar-rapport! Għandi mistoqsija standard relatata mal-Volumi Persistenti. Meta noħolqu konfigurazzjoni ma 'dan l-operatur, kif l-operatur jiddetermina fuq liema node għandna diska jew folder partikolari mehmuża? L-ewwel irridu nispjegalu li jekk jogħġbok poġġi l-ClickHouse tagħna fuq dawn in-nodi li għandhom disk?
Sa fejn nifhem, din il-mistoqsija hija kontinwazzjoni tal-ħażna lokali, speċjalment il-parti hostPath tagħha. Dan huwa bħal tispjega lis-sistema kollha li l-pod jeħtieġ li jiġi mniedi fuq tali u tali node, li għandna diska fiżikament konnessa, li hija mmuntata tul tali jew tali mogħdija. Din hija taqsima sħiħa li missejt b'mod superfiċjali ħafna għax it-tweġiba hemm hija pjuttost kbira.
Fil-qosor jidher bħal dan. Naturalment, irridu nfornu dawn il-volumi. Bħalissa, m'hemm l-ebda dispożizzjoni dinamika fil-ħażna lokali, għalhekk DevOps għandu jaqta 'd-diski nfushom, dawn il-volumi. U għandhom jispjegaw il-provvediment ta 'Kubernetes li ser ikollok volumi Persistenti ta' tali u tali klassi, li jinsabu fuq tali u tali nodi. Imbagħad ikollok bżonn tispjega lil Kubernetes li l-imżiewed li jeħtieġu tali jew tali klassi ta 'ħażna lokali jeħtieġ li jkunu diretti biss lejn tali u tali nodi bl-użu ta' tikketti. Għal dawn il-finijiet, l-operatur għandu l-abbiltà li jassenja xi tip ta 'tikketta u waħda għal kull istanza ospitanti. U jirriżulta li l-imżiewed se jiġu mgħoddija minn Kubernetes biex jaħdmu biss fuq nodi li jissodisfaw ir-rekwiżiti, tikketti, f'termini sempliċi. L-amministraturi jassenjaw tikketti u diski tal-provvista manwalment. U mbagħad tiskali.
U hija t-tielet għażla, lokali, li tgħin biex tagħmel dan ftit aktar faċli. Kif diġà enfasizzajt, dan huwa xogħol iebes fuq l-irfinar, li fl-aħħar mill-aħħar jgħin biex tinkiseb prestazzjoni massima.
Għandi t-tieni mistoqsija relatata ma' dan. Kubernetes kien iddisinjat b'tali mod li ma jimpurtax għalina jekk nitilfux node jew le. X'għandna nagħmlu f'dan il-każ jekk aħna tlifna n-node fejn shard tagħna prekarja?
Iva, Kubernetes inizjalment kien pożizzjonat li r-relazzjoni tagħna mal-imżiewed tagħna hija bħall-baqar, iżda hawn magħna kull disk isir xi ħaġa bħal pet. Hemm problema bħal din li ma nistgħux narmihom biss. U l-iżvilupp ta 'Kubernetes sejjer fid-direzzjoni li huwa impossibbli li tiġi trattata kompletament b'mod filosofiku, bħallikieku kienet riżorsa kompletament skartata.
Issa għal mistoqsija prattika. X'għandek tagħmel jekk tlift in-node li fuqu kien hemm id-diska? Hawnhekk il-problema qed tissolva f'livell ogħla. Fil-każ ta’ ClickHouse, għandna repliki li jaħdmu f’livell ogħla, i.e. fil-livell ClickHouse.
X'inhi d-dispożizzjoni li tirriżulta? DevOps huwa responsabbli biex jiżgura li d-dejta ma tintilifx. Huwa għandu jwaqqaf ir-replikazzjoni b'mod korrett u għandu jiżgura li r-replikazzjoni tkun qed taħdem. Ir-replika fil-livell ClickHouse għandu jkollha data duplikata. Dan mhuwiex il-kompitu li l-operatur isolvi. U mhux il-problema li Kubernetes innifsu jsolvi. Dan huwa fil-livell ClickHouse.
X'għandek tagħmel jekk in-nodu tal-ħadid tiegħek jaqa'? U jirriżulta li ser ikollok bżonn tinstalla t-tieni waħda, tipprovdi d-diska sew fuqha, u tapplika tikketti. U wara dan, se jissodisfa r-rekwiżiti li Kubernetes jista 'jniedi pod ta' istanza fuqha. Kubernetes se jniediha. In-numru ta 'miżwed tiegħek mhuwiex biżżejjed biex jilħaq in-numru speċifikat. Se tgħaddi miċ-ċiklu li wrejt. U fl-ogħla livell, ClickHouse jifhem li dħalna replika, għadha vojta u rridu nibdew nittrasferixxu d-dejta lejha. Dawk. Dan il-proċess għadu mhux awtomatizzat sew.
Grazzi tar-rapport! Meta jiġri kull xorta ta 'affarijiet koroh, l-operatur jiġġarraf u jerġa' jibda, u f'dak il-mument jaslu l-avvenimenti, b'xi mod timmaniġġja dan?
X'jiġri jekk l-operatur iġġarraf u jerġa' jibda, hux?
Iva. U f’dak il-mument waslu l-ġrajjiet.
Il-kompitu ta 'x'għandu jsir f'dan il-każ huwa parzjalment maqsum bejn l-operatur u Kubernetes. Kubernetes għandu l-abbiltà li jerġa' jwettaq avveniment li jkun seħħ. Replays. U l-kompitu ta 'l-operatur huwa li jiżgura li meta l-ġurnal ta' l-avvenimenti jerġa 'jdaqq fuqu, dawn l-avvenimenti jkunu idempotenti. U sabiex l-okkorrenza ripetuta tal-istess avveniment ma tkisserx is-sistema tagħna. U l-operatur tagħna jlaħħaq ma 'dan il-kompitu.
Bongu! Grazzi tar-rapport! Dmitry Zavyalov, kumpanija Smedova. Hemm pjanijiet biex tiżdied il-kapaċità li jiġi kkonfigurat b'haproxy lill-operatur? Inkun interessat f'xi balancer ieħor minbarra dak standard, sabiex ikun intelliġenti u jifhem li ClickHouse verament hemm.
Qed titkellem dwar Ingress?
Iva, ibdel Ingress b'haproxy. F'haproxy tista' tispeċifika t-topoloġija tar-raggruppament fejn għandu repliki.
Għadna ma ħsibniex dwarha. Jekk għandek bżonnha u tista' tispjega għaliex hija meħtieġa, allura jkun possibbli li timplimentaha, speċjalment jekk trid tipparteċipa. Aħna se nkunu kuntenti li nikkunsidraw l-għażla. It-tweġiba qasira hija le, bħalissa m'għandniex tali funzjonalità. Grazzi tal-ponta, aħna ser inħarsu lejn din il-kwistjoni. U jekk tispjega wkoll il-każ ta 'użu u għaliex huwa meħtieġ fil-prattika, pereżempju, toħloq kwistjonijiet fuq GitHub, allura dan ikun kbir.
Diġà.
Multa. Aħna miftuħa għal kull suġġeriment. U haproxy huwa miżjud mal-lista todo. Il-lista todo qed tikber, għadha ma tiċkienx. Iżda dan huwa tajjeb, ifisser li l-prodott huwa fid-domanda.
Sors: www.habr.com