{"id":36822,"date":"2019-10-31T22:14:01","date_gmt":"2019-10-31T19:14:01","guid":{"rendered":"https:\/\/prohoster.info\/blog\/kafka-na-kubernetes-eto-horosho\/"},"modified":"2019-10-31T22:14:01","modified_gmt":"2019-10-31T19:14:01","slug":"kafka-na-kubernetes-eto-horosho","status":"publish","type":"post","link":"https:\/\/prohoster.info\/lv\/blog\/administrirovanie\/kafka-na-kubernetes-eto-horosho","title":{"rendered":"Vai Kafka uz Kubernetes ir laba lieta?","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Sveicin\u0101m j\u016bs, Habr!<\/p>\n<p>Savam laikam m\u0113s pirmie ievies\u0101m t\u0113mu Krievijas tirg\u016b <noindex><a rel=\"nofollow\" href=\"https:\/\/www.piter.com\/collection\/all\/product\/apache-kafka-potokovaya-obrabotka-i-analiz-dannyh\">Kafka<\/a><\/noindex> un turpin\u0101m <noindex><a rel=\"nofollow\" href=\"https:\/\/www.piter.com\/product_by_id\/132649774\">sekot<\/a><\/noindex> sektora att\u012bst\u012bbu. \u012apa\u0161i m\u016bs ieinteres\u0113ja t\u0113ma par Kafka un <noindex><a rel=\"nofollow\" href=\"https:\/\/www.piter.com\/product_by_id\/125705747\">Kubernetes<\/a><\/noindex>. Ievie\u0161ams (un diezgan piesardz\u012bgs) <noindex><a rel=\"nofollow\" href=\"https:\/\/www.confluent.io\/blog\/apache-kafka-kubernetes-could-you-should-you\">raksts<\/a><\/noindex> raksts par \u0161o t\u0113mu tika public\u0113ts Confluent uz\u0146\u0113muma blog\u0101 v\u0113l pag\u0101ju\u0161\u0101 gada oktobr\u012b, autors ir Gvens \u0160apira. \u0160odien m\u0113s v\u0113lamies piev\u0113rst j\u016bsu uzman\u012bbu jaun\u0101kam, apr\u012b\u013ca rakstam no Johann Giger, kur\u0161, lai ar\u012b nav izticis bez jaut\u0101juma z\u012bmes virsrakst\u0101, apl\u016bko t\u0113mu konkr\u0113t\u0101k, papildinot tekstu ar interesant\u0101m saites. Piedodiet mums l\u016bdzu br\u012bvo tulkojumu \"chaos monkey\", ja iesp\u0113jams!<\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/piter\/blog\/462257\/\"><img decoding=\"async\" alt=\"Vai Kafka uz Kubernetes ir laba lieta?\" src=\"\/wp-content\/uploads\/2019\/08\/a7c9b9f2f2e0a2f55d69da18020440e6.png\" style=\"display:block;margin: 0 auto;\" \/><\/a><\/noindex><br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex> <\/p>\n<h4>Ievads<\/h4>\n<p>\nKubernetes ir paredz\u0113ts darbam ar slodz\u0113m, kas nesaglab\u0101 st\u0101vokli. Parasti \u0161\u0101das darba slodzes ir att\u0113lotas mikroservisu arhitekt\u016br\u0101, t\u0101s ir vieglas, labi horizont\u0101li m\u0113rogojamas, pak\u013caujas 12 faktoru lietojumu principiem, \u013cauj str\u0101d\u0101t ar autom\u0101tiskajiem p\u0101rtrauc\u0113jiem (circuit breaker) un haosa p\u0113rti\u0137iem (chaos monkeys).<\/p>\n<p>Kafka, atrodoties otr\u0101 pus\u0113, b\u016bt\u012bb\u0101 darbojas k\u0101 sadal\u012bta datu b\u0101ze. T\u0101d\u0113j\u0101di, str\u0101d\u0101jot, jums j\u0101tiek gal\u0101 ar st\u0101vokli, kas ir daudz smag\u0101ks par mikroservisu. Kubernetes atbalsta slodzes ar saglab\u0101to st\u0101vokli, bet, k\u0101 nor\u0101da Kelsi Hightower divos savos tv\u012btos, ar t\u0101m j\u0101uzman\u0101s:<\/p>\n<blockquote><p>Da\u017eiem \u0161\u0137iet, ka, ja uzliks Kubernetes uz slodzes ar saglab\u0101to st\u0101vokli, t\u0101 k\u013c\u016bst par piln\u012bb\u0101 p\u0101rvald\u012btu datu b\u0101zi, kas sp\u0113j sacensties ar RDS. T\u0101 nav. Varb\u016bt, ja pietiekami gr\u016bti str\u0101d\u0101, piesaisti papildu komponentus un pieaicini SRE in\u017eenieru komandu, var izveidot RDS virs Kubernetes.<\/p><\/blockquote>\n<blockquote><p>Vienm\u0113r visiem iesaku b\u016bt \u0101rk\u0101rt\u012bgi uzman\u012bgiem, uzs\u0101kot slodzes ar saglab\u0101to st\u0101vokli uz Kubernetes. Liel\u0101k\u0101 da\u013ca no tiem, kas jaut\u0101: \"Vai es varu palaist slodzes ar saglab\u0101to st\u0101vokli uz Kubernetes?\", nenodro\u0161ina pietiekamu pieredzi darb\u0101 ar Kubernetes, un bie\u017ei ar\u012b ar konkr\u0113to slodzi, par kuru jaut\u0101.<\/p><\/blockquote>\n<p> T\u0101tad, vai ir v\u0113rts palaist Kafka uz Kubernetes? Pretjaut\u0101jums: vai Kafka darbosies lab\u0101k bez Kubernetes? T\u0101p\u0113c es v\u0113los uzsv\u0113rt \u0161aj\u0101 rakst\u0101, k\u0101 Kafka un Kubernetes papildina viens otru un k\u0101das ir t\u0101m kop\u0113j\u0101s probl\u0113mas.<\/p>\n<h4>Izpildes laiks<\/h4>\n<p>\nP\u0101rskat\u012bsim pamata lietu \u2014 izpildes laika vidi kopum\u0101<\/p>\n<p><i><b>Process<\/b><\/i><\/p>\n<p>Kafka brokeri ir \u0113rti, str\u0101d\u0101jot ar CPU. TLS var rad\u012bt da\u017eas izmaksas. Taj\u0101 pa\u0161\u0101 laik\u0101, Kafka klienti var stipri noslogot CPU, ja izmanto \u0161ifr\u0113\u0161anu, ta\u010du tas neietekm\u0113 brokerus.<\/p>\n<p><i><b>Atmi\u0146a<\/b><\/i><\/p>\n<p>Kafka brokeri pat\u0113r\u0113 daudz atmi\u0146as. JVM kaudzes lielumu parasti var ierobe\u017eot l\u012bdz 4\u20135 GB, ta\u010du jums vajadz\u0113s ar\u012b daudz sist\u0113mas atmi\u0146as, jo Kafka intens\u012bvi izmanto lapu ke\u0161u. Kubernetes attiec\u012bgi nosakiet konteineru resursu ierobe\u017eojumus un piepras\u012bjumus.<\/p>\n<p><i><b>Datu glab\u0101\u0161ana<\/b><\/i><\/p>\n<p>Datu glab\u0101\u0161ana konteineros ir efemeriska \u2014 dati tiek zaud\u0113ti restart\u0113jot. Kafka datiem varat izmantot apjomu <code>emptyDir<\/code>, un efekts b\u016bs l\u012bdz\u012bgs: j\u016bsu brokera dati tiks zaud\u0113ti p\u0113c izn\u0101k\u0161anas. J\u016bsu zi\u0146ojumi tom\u0113r var saglab\u0101ties citiem brokeriem k\u0101 replikas. T\u0101p\u0113c, p\u0113c restart\u0113\u0161anas neveiksm\u012bgais brokeris vispirms ir j\u0101replik\u0113 visi dati, un \u0161im procesam var b\u016bt nepiecie\u0161ams ilgs laiks. <\/p>\n<p>T\u0101p\u0113c ir svar\u012bgi izmantot ilgtermi\u0146a datu glab\u0101\u0161anu. Tas j\u0101b\u016bt ne-lok\u0101lam ilgtermi\u0146a glab\u0101\u0161anai ar XFS failu sist\u0113mu vai prec\u012bz\u0101k, ext4. Neizmantojiet NFS. Es j\u016bs br\u012bdin\u0101ju. NFS versijas v3 vai v4 nedarbosies. \u012asum\u0101, Kafka brokeris tiks aptur\u0113ts, ja tas nesp\u0113s dz\u0113st datu katalogu 'mu\u013c\u0137\u012bgu p\u0101rsauk\u0161anu' probl\u0113mu d\u0113\u013c, kas aktu\u0101la NFS. Ja es j\u016bs joproj\u0101m neesmu p\u0101rliecin\u0101jis, \u013coti uzman\u012bgi <noindex><a rel=\"nofollow\" href=\"https:\/\/sbg.technology\/2018\/07\/10\/kafka-nfs\/\">izlasiet \u0161o rakstu<\/a><\/noindex>. Datu glab\u0101\u0161anai j\u0101b\u016bt ne-lok\u0101lai, lai Kubernetes var\u0113tu elast\u012bg\u0101k izv\u0113l\u0113ties jaunu mezglu p\u0113c restart\u0113\u0161anas vai relok\u0101cijas.<\/p>\n<p><i><b>T\u012bkls<\/b><\/i><\/p>\n<p>K\u0101 jau tas ir ar liel\u0101ko da\u013cu izplat\u012bto sist\u0113mu, Kafka veiktsp\u0113ja \u013coti atkar\u012bga no t\u0101, lai t\u012bkla aizture b\u016btu minim\u0101la, bet joslas platums maksim\u0101ls. Nem\u0113\u0123iniet izvietot visus brokerus vien\u0101 un taj\u0101 pa\u0161\u0101 mezgl\u0101, jo tas samazin\u0101s pieejam\u012bbu. Ja Kubernetes mezgls neizdosies, neizdosies ar\u012b visa Kafka klase. Ar\u012b nestr\u0101d\u0101jiet ar Kafka klasi da\u017e\u0101d\u0101s datu centros. Tas pats attiecas uz Kubernetes klas\u0113m. Labs kompromiss \u0161aj\u0101 gad\u012bjum\u0101 ir izv\u0113l\u0113ties da\u017e\u0101das pieejam\u012bbas zonas.<\/p>\n<h4>Konfigur\u0101cija<\/h4>\n<p>\n<i><b>Parastie manifesti<\/b><\/i><\/p>\n<p>Kubernetes vietn\u0113 ir <noindex><a rel=\"nofollow\" href=\"https:\/\/kubernetes.io\/docs\/tutorials\/stateful-application\/zookeeper\/\">\u013coti labs ce\u013cvedis<\/a><\/noindex> k\u0101 iestat\u012bt ZooKeeper, izmantojot manifestus. T\u0101 k\u0101 ZooKeeper ir da\u013ca no Kafka, \u0113rti ir s\u0101kt iepaz\u012b\u0161anos ar to, k\u0101das Kubernetes koncepcijas \u0161eit ir piem\u0113rojamas. Sapratu\u0161i to, j\u016bs var\u0113siet pielietot t\u0101s pa\u0161as koncepcijas ar\u012b Kafka klas\u0113.<\/p>\n<ul>\n<li><i>Zem<\/i>: pods \u2013 tas ir minim\u0101lais izvietojamais vienums Kubernetes. Pod\u0101 atrodas j\u016bsu darba slodze, bet pats pods atbilst procesam j\u016bsu klas\u0113. Pod\u0101 var b\u016bt viens vai vair\u0101ki konteineri. Katrs ZooKeeper serveris ansambl\u012b un katrs brokers Kafka klas\u0113 darbosies atsevi\u0161\u0137\u0101 pod\u0101.<\/li>\n<li><i>StatefulSet<\/i>: StatefulSet \u2013 t\u0101 ir Kubernetes objekts, kas str\u0101d\u0101 ar vair\u0101kiem darba slodzi, kas saglab\u0101 st\u0101vokli, un \u0161\u0101d\u0101m slodz\u0113m ir nepiecie\u0161ama koordin\u0101cija. StatefulSet nodro\u0161ina garantijas par podu sec\u012bbu un to unik\u0101lumu.<\/li>\n<li><i>Headless pakalpojumi<\/i>: Pakalpojumi \u013cauj atvienot podus no klientiem, izmantojot lo\u0123isko nosaukumu. Kubernetes \u0161aj\u0101 gad\u012bjum\u0101 atbild par slodzes l\u012bdzsvaro\u0161anu. Tom\u0113r, str\u0101d\u0101jot ar st\u0101vok\u013ca saglab\u0101jo\u0161\u0101m slodz\u0113m, k\u0101 tas ir ar ZooKeeper un Kafka, klientiem ir nepiecie\u0161ams apmain\u012bties ar inform\u0101ciju ar konkr\u0113tu instanci. Tie\u0161i \u0161eit noder\u0113s headless pakalpojumi: \u0161\u0101d\u0101 gad\u012bjum\u0101 klientam b\u016bs lo\u0123isks nosaukums, bet tie\u0161i pie poda var neb\u016bt j\u0101piev\u0113r\u0161as. <\/li>\n<li><i>Ilgtermi\u0146a glab\u0101\u0161anas apjoms<\/i>: \u0161\u0101di apjomi nepiecie\u0161ami, lai konfigur\u0113tu ne-lok\u0101lo blokveida ilgtermi\u0146a glab\u0101\u0161anas risin\u0101jumu, par kuru tika run\u0101ts iepriek\u0161.<\/li>\n<\/ul>\n<p>\nUz <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/Yolean\/kubernetes-kafka\">Yolean<\/a><\/noindex> nodro\u0161ina izsme\u013co\u0161u manifestu kopumu, ar kura pal\u012bdz\u012bbu \u0113rti uzs\u0101kt darbu ar Kafka uz Kubernetes.<\/p>\n<p><i><b>Helm diagrammas<\/b><\/i><\/p>\n<p>Helm \u2013 ir pakot\u0146u p\u0101rvaldnieks Kubernetes, ko var sal\u012bdzin\u0101t ar oper\u0113t\u0101jsist\u0113mu pakot\u0146u p\u0101rvaldniekiem, piem\u0113ram, yum, apt, Homebrew vai Chocolatey. To ir \u0113rti izmantot, lai instal\u0113tu iepriek\u0161 defin\u0113tus programmat\u016bras paketus, kas aprakst\u012bti Helm diagramm\u0101s. Labi izstr\u0101d\u0101ta Helm diagramma atvieglo sare\u017e\u0123\u012btu uzdevumu: k\u0101 pareizi konfigur\u0113t visus parametrus, lai izmantotu Kafka Kubernetes. Ir vair\u0101kas Kafka diagrammas: ofici\u0101l\u0101 atrodas <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/helm\/charts\/tree\/master\/incubator\/kafka\">inkubatoru st\u0101vokl\u012b<\/a><\/noindex>, ir viena no <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/confluentinc\/cp-helm-charts\/tree\/master\/charts\/cp-kafka\">Confluent<\/a><\/noindex>, v\u0113l viena \u2013 no <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/bitnami\/charts\/tree\/master\/bitnami\/kafka\">Bitnami<\/a><\/noindex>.<\/p>\n<p><i><b>Operatori<\/b><\/i><\/p>\n<p>T\u0101 k\u0101 Helm ir noteikti tr\u016bkumi, arvien vair\u0101k popularit\u0101tes ieg\u016bst v\u0113l viens r\u012bks: Kubernetes operatori. Operators ne tikai iesai\u0146o programmat\u016bru Kubernetes, bet ar\u012b \u013cauj jums to izvietot un p\u0101rvald\u012bt.<\/p>\n<p>Sarakst\u0101 <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/operator-framework\/awesome-operators\">p\u0101rsteidzo\u0161u operatoru<\/a><\/noindex> tiek min\u0113ti divi operatori Kafka. Viens no tiem ir <noindex><a rel=\"nofollow\" href=\"https:\/\/strimzi.io\/\">Strimzi<\/a><\/noindex>. Ar Strimzi nav gr\u016bti izveidot Kafka klasteri da\u017e\u0101s min\u016bt\u0113s. Praktiski nav nepiecie\u0161ama papildu konfigur\u0101cija, turkl\u0101t pats operators pied\u0101v\u0101 da\u017eas pat\u012bkamas iesp\u0113jas, piem\u0113ram, TLS \u0161ifr\u0113\u0161anu \u201epunktu uz punktu\u201d klaster\u012b. Confluent ar\u012b pied\u0101v\u0101 <noindex><a rel=\"nofollow\" href=\"https:\/\/www.confluent.io\/confluent-operator\/\">savu operatoru<\/a><\/noindex>.<\/p>\n<p><b>Veiktsp\u0113ja<\/b><\/p>\n<p>\u013boti svar\u012bgi ir test\u0113t veiktsp\u0113ju, apr\u012bkojot j\u016bsu uzst\u0101d\u012bto Kafka instance ar kontrolpunktiem. \u0160\u0101di testi pal\u012bdz\u0113s atkl\u0101t potenci\u0101los \u0161aurus vietas, pirms rodas probl\u0113mas. Par laimi, Kafka jau pied\u0101v\u0101 divus r\u012bkus veiktsp\u0113jas test\u0113\u0161anai: <code>kafka-producer-perf-test.sh<\/code> un <code>kafka-consumer-perf-test.sh<\/code>. Akt\u012bvi izmantojiet tos. J\u016bs varat atsaukties uz rezult\u0101tiem, ko aprakst\u012bjis <noindex><a rel=\"nofollow\" href=\"https:\/\/engineering.linkedin.com\/kafka\/benchmarking-apache-kafka-2-million-writes-second-three-cheap-machines\">\u0161aj\u0101 posten\u012b<\/a><\/noindex> D\u017eijs Krepss, vai ar\u012b orient\u0113ties uz <noindex><a rel=\"nofollow\" href=\"https:\/\/medium.com\/@stephane.maarek\/an-honest-review-of-aws-managed-apache-kafka-amazon-msk-94b1ff9459d8\">\u0161o p\u0101rskatu<\/a><\/noindex> Amazon MSK no St\u00e9phane Maarek.<\/p>\n<h4>Darb\u012bbas<\/h4>\n<p>\n<i><b>Uzraudz\u012bba<\/b><\/i><\/p>\n<p>Caursp\u012bd\u012bba sist\u0113m\u0101 ir \u013coti svar\u012bga \u2013 cit\u0101di j\u016bs nesaprat\u012bsiet, kas taj\u0101 notiek. \u0160odien ir pamat\u012bgs r\u012bku kopums, kas nodro\u0161ina metrik\u0101m balst\u012btu monitoringu cloud native stil\u0101. Divi popul\u0101ri r\u012bki \u0161im m\u0113r\u0137im ir Prometheus un Grafana. Prometheus var v\u0101kt metrikas no vis\u0101m Java procesiem (Kafka, Zookeeper, Kafka Connect) ar JMX eksport\u0113t\u0101ju \u2013 visvienk\u0101r\u0161\u0101kaj\u0101 veid\u0101. Ja pievienosiet cAdvisor metrikas, j\u016bs var\u0113siet piln\u012bg\u0101k saprast, k\u0101 Kubernetes tiek izmantoti resursi.<\/p>\n<p>Strimzi pied\u0101v\u0101 \u013coti \u0113rti izmantojamu Grafana d\u0113li Kafka. Tas vizualiz\u0113 galvenos metriku punktus, piem\u0113ram, par nedoreplic\u0113tiem sektoriem vai tiem, kas ir off-line. Viss ir \u013coti saprotams. \u0160ie metri tiek papildin\u0101ti ar inform\u0101ciju par resursu izmanto\u0161anu un veiktsp\u0113ju, k\u0101 ar\u012b stabilit\u0101tes indik\u0101toriem. T\u0101d\u0113j\u0101di j\u016bs sa\u0146emat pamata Kafka klastera uzraudz\u012bbu bez maksas!<\/p>\n<p><img decoding=\"async\" alt=\"Vai Kafka uz Kubernetes ir laba lieta?\" src=\"\/wp-content\/uploads\/2019\/08\/65ab468f7ebc0f376796990e41c62a48.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nAvots: <noindex><a rel=\"nofollow\" href=\"https:\/\/strimzi.io\/docs\/master\/#kafka_dashboard\">strimzi.io\/docs\/master\/#kafka_dashboard<\/a><\/noindex><\/p>\n<p>Visu to b\u016btu labi papildin\u0101t ar klientu uzraudz\u012bbu (metriku par pat\u0113r\u0113t\u0101jiem un ra\u017eot\u0101jiem), k\u0101 ar\u012b ar aizkavas uzraudz\u012bbu (tam ir <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/linkedin\/Burrow\">Burrow<\/a><\/noindex>) un caursp\u012bd\u012bgu uzraudz\u012bbu \u2013 t\u0101p\u0113c izmantojiet <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/linkedin\/kafka-monitor\">Kafka Monitor<\/a><\/noindex>.<\/p>\n<p><i><b>Datu pieraksts<\/b><\/i><\/p>\n<p>\u017durn\u0101lvad\u012bba ir v\u0113l viena \u013coti svar\u012bga uzdevuma. P\u0101rliecinieties, ka visi konteineri j\u016bsu Kafka instal\u0101cij\u0101 ir re\u0123istr\u0113ti <code>stdout<\/code> un <code>stderr<\/code>, k\u0101 ar\u012b r\u016bp\u0113jieties, lai j\u016bsu Kubernetes klasteris apkopotu visus \u017eurn\u0101lus centr\u0101laj\u0101 \u017eurn\u0101lu infrastrukt\u016br\u0101, piem\u0113ram, <noindex><a rel=\"nofollow\" href=\"https:\/\/www.piter.com\/collection\/all\/product\/elasticsearch-kibana-logstash-i-poiskovye-sistemy-novogo-pokoleniya\">Elasticsearch<\/a><\/noindex>.<\/p>\n<p><i><b>Statusa p\u0101rbaude<\/b><\/i><\/p>\n<p>Kubernetes izmanto \"dz\u012bvotsp\u0113jas\" (liveness) un gatav\u012bbas (readiness) zondus, lai p\u0101rbaud\u012btu, vai j\u016bsu podi darbojas norm\u0101li. Ja dz\u012bves p\u0101rbaude neizdodas, Kubernetes aptur\u0113s \u0161o konteineru un tad autom\u0101tiski to restart\u0113s, ja restart\u0113\u0161anas politika ir pareizi iestat\u012bta. Ja gatav\u012bbas p\u0101rbaude neizdodas, Kubernetes izol\u0113s \u0161o podu no piepras\u012bjumu apkalpo\u0161anas. T\u0101d\u0113j\u0101di \u0161\u0101dos gad\u012bjumos vairs nav nepiecie\u0161ama manu\u0101la iejauk\u0161an\u0101s, kas ir liela priek\u0161roc\u012bba. <\/p>\n<p><i><b>Atjaunin\u0101jumu izlaide<\/b><\/i><\/p>\n<p>StatefulSet atbalsta autom\u0101tiskos atjaunin\u0101jumus: izv\u0113loties RollingUpdate strat\u0113\u0123iju, katrs Kafka pods tiks atjaunin\u0101ts sec\u012bgi. T\u0101d\u0113j\u0101di var samazin\u0101t d\u012bkst\u0101ves laiku l\u012bdz nullei.<\/p>\n<p><i><b>M\u0113rogo\u0161ana<\/b><\/i><\/p>\n<p>Kafka klastera m\u0113rogo\u0161ana ir sare\u017e\u0123\u012bta uzdevums. Tom\u0113r Kubernetes \u013coti viegli var m\u0113rogot podus l\u012bdz noteiktam repliku skaitam, kas noz\u012bm\u0113, ka j\u016bs varat deklarat\u012bvi noteikt tik daudz Kafka brokeru, cik v\u0113laties. Gr\u016bt\u0101kais \u0161aj\u0101 proces\u0101 ir sektoru p\u0101rdale p\u0113c aug\u0161up m\u0113rogo\u0161anas vai pirms lejup m\u0113rogo\u0161anas. Atkal, \u0161aj\u0101 uzdevum\u0101 jums pal\u012bdz\u0113s Kubernetes.<\/p>\n<p><i><b>Administr\u0101cija<\/b><\/i><\/p>\n<p>Uzdevumi, kas saist\u012bti ar j\u016bsu Kafka klastera administr\u0113\u0161anu, tostarp t\u0113mu veido\u0161anu un sektoru p\u0101rdali, var tikt veikti, izmantojot pieejamos shell skriptus, atverot komandu l\u012bnijas saskarni j\u016bsu podos. Tom\u0113r \u0161\u0101ds risin\u0101jums nav p\u0101r\u0101k est\u0113tisks. Strimzi atbalsta t\u0113mu p\u0101rvald\u012bbu, izmantojot citu operatoru. \u0160eit ir, ko uzlabot.<\/p>\n<p><i><b>Datu dubl\u0113\u0161ana un atjauno\u0161ana<\/b><\/i><\/p>\n<p>Tagad m\u016bsu Kafka pieejam\u012bba b\u016bs atkar\u012bga ar\u012b no Kubernetes pieejam\u012bbas. Ja j\u016bsu Kubernetes klasteris sabruks, tad slikt\u0101kaj\u0101 gad\u012bjum\u0101 var sabrukt ar\u012b Kafka klasteris. Saska\u0146\u0101 ar M\u0113rfija likumu tas noteikti notiks, un j\u016bs zaud\u0113siet datus. Lai samazin\u0101tu \u0161\u0101da riska iesp\u0113jam\u012bbu, r\u016bp\u012bgi izstr\u0101d\u0101jiet dubl\u0113\u0161anas koncepciju. Varat izmantot MirrorMaker, cita iesp\u0113ja ir izmantot S3, k\u0101 aprakst\u012bts \u0161aj\u0101 <noindex><a rel=\"nofollow\" href=\"https:\/\/jobs.zalando.com\/tech\/blog\/backing-up-kafka-zookeeper\/\">ierakst\u0101<\/a><\/noindex> no Zalando.<\/p>\n<h4>Secin\u0101jums<\/h4>\n<p>\nStr\u0101d\u0101jot ar maz\u0101kiem vai vid\u0113jiem Kafka klasteriem, noteikti ir lietder\u012bgi izmantot Kubernetes, jo tas nodro\u0161ina papildu elast\u012bbu un vienk\u0101r\u0161o darbu ar operatoriem. Ja jums ir \u013coti nopietni nefunkcion\u0101lie pras\u012bjumi, kas attiecas uz aizturi un\/vai caurlaidsp\u0113ju, varat apsv\u0113rt k\u0101du citu izvieto\u0161anas risin\u0101jumu.<br \/>\n<br \/>Avots: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/piter\/blog\/462257\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041f\u0440\u0438\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u0435\u043c \u0432\u0430\u0441, \u0425\u0430\u0431\u0440! \u0412 \u0441\u0432\u043e\u0435 \u0432\u0440\u0435\u043c\u044f \u043c\u044b \u043f\u0435\u0440\u0432\u044b\u043c\u0438 \u0432\u044b\u0432\u0435\u043b\u0438 \u043d\u0430 \u0440\u043e\u0441\u0441\u0438\u0439\u0441\u043a\u0438\u0439 \u0440\u044b\u043d\u043e\u043a \u0442\u0435\u043c\u0443 Kafka \u0438 \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0430\u0435\u043c \u0441\u043b\u0435\u0434\u0438\u0442\u044c \u0437\u0430 \u0435\u0435 \u0440\u0430\u0437\u0432\u0438\u0442\u0438\u0435\u043c. \u0412 \u0447\u0430\u0441\u0442\u043d\u043e\u0441\u0442\u0438, \u043d\u0430\u043c \u043f\u043e\u043a\u0430\u0437\u0430\u043b\u0430\u0441\u044c \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u043e\u0439 \u0442\u0435\u043c\u0430 \u0432\u0437\u0430\u0438\u043c\u043e\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f Kafka \u0438 Kubernetes. \u041e\u0431\u0437\u043e\u0440\u043d\u0430\u044f (\u0438 \u0434\u043e\u0432\u043e\u043b\u044c\u043d\u043e \u043e\u0441\u0442\u043e\u0440\u043e\u0436\u043d\u0430\u044f) \u0441\u0442\u0430\u0442\u044c\u044f \u043d\u0430 \u044d\u0442\u0443 \u0442\u0435\u043c\u0443 \u0432\u044b\u0445\u043e\u0434\u0438\u043b\u0430 \u0432 \u0431\u043b\u043e\u0433\u0435 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438 Confluent \u0435\u0449\u0435 \u0432 \u043e\u043a\u0442\u044f\u0431\u0440\u0435 \u043f\u0440\u043e\u0448\u043b\u043e\u0433\u043e \u0433\u043e\u0434\u0430 \u043f\u043e\u0434 \u0430\u0432\u0442\u043e\u0440\u0441\u0442\u0432\u043e\u043c \u0413\u0432\u0435\u043d \u0428\u0430\u043f\u0438\u0440\u044b. \u0421\u0435\u0433\u043e\u0434\u043d\u044f \u0436\u0435 \u043c\u044b [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":27586,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-36822","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.5 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u041f\u0440\u0438\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u0435\u043c \u0432\u0430\u0441, \u0425\u0430\u0431\u0440! \u0412 \u0441\u0432\u043e\u0435 \u0432\u0440\u0435\u043c\u044f \u043c\u044b \u043f\u0435\u0440\u0432\u044b\u043c\u0438 \u0432\u044b\u0432\u0435\u043b\u0438 \u043d\u0430 \u0440\u043e\u0441\u0441\u0438\u0439\u0441\u043a\u0438\u0439 \u0440\u044b\u043d\u043e\u043a \u0442\u0435\u043c\u0443\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/lv\/blog\/administrirovanie\/kafka-na-kubernetes-eto-horosho\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.5\" \/>\n\t\t<meta property=\"og:locale\" content=\"lv_LV\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47Kafka \u043d\u0430 Kubernetes \u2014 \u044d\u0442\u043e \u0445\u043e\u0440\u043e\u0448\u043e? | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041f\u0440\u0438\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u0435\u043c \u0432\u0430\u0441, \u0425\u0430\u0431\u0440! \u0412 \u0441\u0432\u043e\u0435 \u0432\u0440\u0435\u043c\u044f \u043c\u044b \u043f\u0435\u0440\u0432\u044b\u043c\u0438 \u0432\u044b\u0432\u0435\u043b\u0438 \u043d\u0430 \u0440\u043e\u0441\u0441\u0438\u0439\u0441\u043a\u0438\u0439 \u0440\u044b\u043d\u043e\u043a \u0442\u0435\u043c\u0443\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/lv\/blog\/administrirovanie\/kafka-na-kubernetes-eto-horosho\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2019-10-31T19:14:01+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2019-10-31T19:14:01+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Kafka uz Kubernetes \u2014 vai tas ir labi? | ProHoster","description":"Sveicin\u0101m j\u016bs, Habr! Savulaik m\u0113s pirmie ievies\u0101m t\u0113mu Krievijas tirg\u016b","canonical_url":"https:\/\/prohoster.info\/lv\/blog\/administrirovanie\/kafka-na-kubernetes-eto-horosho","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"lv_LV","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47Kafka \u043d\u0430 Kubernetes \u2014 \u044d\u0442\u043e \u0445\u043e\u0440\u043e\u0448\u043e? | ProHoster","og:description":"\u041f\u0440\u0438\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u0435\u043c \u0432\u0430\u0441, \u0425\u0430\u0431\u0440! \u0412 \u0441\u0432\u043e\u0435 \u0432\u0440\u0435\u043c\u044f \u043c\u044b \u043f\u0435\u0440\u0432\u044b\u043c\u0438 \u0432\u044b\u0432\u0435\u043b\u0438 \u043d\u0430 \u0440\u043e\u0441\u0441\u0438\u0439\u0441\u043a\u0438\u0439 \u0440\u044b\u043d\u043e\u043a \u0442\u0435\u043c\u0443","og:url":"https:\/\/prohoster.info\/lv\/blog\/administrirovanie\/kafka-na-kubernetes-eto-horosho","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2019-10-31T19:14:01+00:00","article:modified_time":"2019-10-31T19:14:01+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"36822","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":"2026-01-22 04:58:19","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-03-01 01:38:24","updated":"2026-01-22 04:58:19","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/lv\/wp-json\/wp\/v2\/posts\/36822","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/lv\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/lv\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/lv\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/lv\/wp-json\/wp\/v2\/comments?post=36822"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/lv\/wp-json\/wp\/v2\/posts\/36822\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/lv\/wp-json\/wp\/v2\/media\/27586"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/lv\/wp-json\/wp\/v2\/media?parent=36822"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/lv\/wp-json\/wp\/v2\/categories?post=36822"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/lv\/wp-json\/wp\/v2\/tags?post=36822"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}