{"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\/sl\/blog\/administrirovanie\/kafka-na-kubernetes-eto-horosho","title":{"rendered":"Je Kafka na Kubernetes dobra ideja?","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Pozdravljamo vas, Habr!<\/p>\n<p>V svoj \u010das smo prvi predstavili temo na ruski trg <noindex><a rel=\"nofollow\" href=\"https:\/\/www.piter.com\/collection\/all\/product\/apache-kafka-potokovaya-obrabotka-i-analiz-dannyh\">Kafka<\/a><\/noindex> in \u0161e vedno <noindex><a rel=\"nofollow\" href=\"https:\/\/www.piter.com\/product_by_id\/132649774\">slediti<\/a><\/noindex> smo njeno razvijanje. Zlasti se nam je zdelo zanimivo sodelovanje med Kafka in <noindex><a rel=\"nofollow\" href=\"https:\/\/www.piter.com\/product_by_id\/125705747\">Kubernetes<\/a><\/noindex>. Pregledna (in precej previdna) <noindex><a rel=\"nofollow\" href=\"https:\/\/www.confluent.io\/blog\/apache-kafka-kubernetes-could-you-should-you\">\u010dlanek<\/a><\/noindex> o tej temi je bila objavljena na blogu podjetja Confluent \u017ee oktobra lani, avtorica je bila Gwen Shapira. Danes bi vam \u017eeleli opozoriti na nekoliko novej\u0161i aprilski \u010dlanek Johann Gygerja, ki\u010de obstaja s vpra\u0161ajem v naslovu, obravnava temo na bolj vsebinski na\u010din, in spremlja besedilo z zanimivimi povezavami. Opravi\u010dujemo se za prosto prevajanje \"chaos monkey\", \u010de lahko!<\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/piter\/blog\/462257\/\"><img decoding=\"async\" alt=\"Je Kafka na Kubernetes dobra ideja?\" 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>Uvod<\/h4>\n<p>\nKubernetes je zasnovan za delo z obremenitvami, ki ne ohranjajo stanja. Obi\u010dajno so tak\u0161ne delovne obremenitve predstavljene v obliki mikroservisne arhitekture, so lahke, dobro se raz\u0161irijo horizontalno, spo\u0161tujejo na\u010dela 12 faktor aplikacij, omogo\u010dajo delovanje z avtomatskimi odklopniki (circuit breaker) in kaos opicami (chaos monkeys).<\/p>\n<p>Kafka pa z druge strani v resnici deluje kot razdeljena baza podatkov. Tako ob delu naletite na stanje, ki je precej te\u017eje od mikroservisa. Kubernetes podpira obremenitve z ohranjanjem stanja, vendar, kot opozarja Kelsey Hightower v dveh svojih tweetih, je s temi potrebno ravnati previdno:<\/p>\n<blockquote><p>Nekaterim se zdi, da \u010de se na obremenitev z ohranjanjem stanja namesti Kubernetes, ta postane popolnoma upravljana baza podatkov, ki je zmo\u017ena tekmovati z RDS. To ne dr\u017ei. Morda, \u010de se dovolj potrudite, dodate dodatne komponente in pritegnete ekipo SRE in\u017eenirjev, lahko uspete ustvariti RDS na vrhu Kubernetesa.<\/p><\/blockquote>\n<blockquote><p>Vedno priporo\u010dam izjemno previdnost pri zagonu obremenitev z ohranjanjem stanja na Kubernetesu. Ve\u010dina tistih, ki se spra\u0161ujejo: \"Ali lahko na Kubernetesu zagnati obremenitve z ohranjanjem stanja\" nima dovolj izku\u0161enj z delom s Kubernetesom, v mnogih primerih pa tudi z obremenitvijo, o kateri spra\u0161ujejo.<\/p><\/blockquote>\n<p> Torej, ali naj se Kafka poganja na Kubernetesu? Nasprotno vpra\u0161anje: ali bi Kafka delovala bolje brez Kubernetes? Zato \u017eelim v tem \u010dlanku poudariti, kako se Kafka in Kubernetes dopolnjujeta ter katere pasti se lahko pojavijo pri njunem kombiniranju.<\/p>\n<h4>Vreme izvo\u0111enja<\/h4>\n<p>\nPogovorimo se o osnovni stvari \u2014 o okolju za izvr\u0161evanje kot takem.<\/p>\n<p><i><b>Postopek<\/b><\/i><\/p>\n<p>Brokerski stre\u017eniki Kafka so priro\u010dni pri delu s procesorjem. TLS lahko prinese dolo\u010dene stro\u0161ke. Hkrati lahko stranke Kafka mo\u010dneje obremenijo procesor, \u010de uporabljajo \u0161ifriranje, a to ne vpliva na brokerje.<\/p>\n<p><i><b>Pomnilnik<\/b><\/i><\/p>\n<p>Brokerski stre\u017eniki Kafka hitro zasedejo pomnilnik. Velikost JVM kupa je obi\u010dajno omejena na 4\u20135 GB, vendar boste potrebovali tudi veliko sistemskega pomnilnika, saj Kafka zelo aktivno uporablja predpomnilnik strani. V Kubernetesu ustrezno nastavite omejitve virov in zahteve za kontejner.<\/p>\n<p><i><b>Shramba podatkov<\/b><\/i><\/p>\n<p>Shramba podatkov v kontejnerjih je efemerna \u2013 podatki se izgubijo ob ponovnem zagonu. Za podatke Kafka lahko uporabite volumen <code>emptyDir<\/code>, in u\u010dinek bo podoben: podatki va\u0161ega brokerja bodo izgubljeni po kon\u010danem delu. Va\u0161a sporo\u010dila se vseeno lahko ohranijo na drugih brokerjih kot replike. Zato mora broker, ki je odpovedal, najprej replicirati vse podatke, kar lahko traja kar nekaj \u010dasa. <\/p>\n<p>Zato je treba uporabiti dolgoro\u010dno shrambo podatkov. Naj bo to neolokalna dolgoro\u010dna shramba s datote\u010dnim sistemom XFS ali, natan\u010dneje, ext4. Nefunkcionirajte NFS. Opozoril sem vas. NFS razli\u010dic v3 ali v4 ne bo delovala. Na kratko, broker Kafka bo kon\u010dal delo, \u010de ne bo mogel izbrisati imenika s podatki zaradi te\u017eave z \"neumnimi preimeni\u010denji\", ki velja za NFS. \u010ce vas do sedaj \u0161e nisem prepri\u010dal, bodite zelo pozorni <noindex><a rel=\"nofollow\" href=\"https:\/\/sbg.technology\/2018\/07\/10\/kafka-nfs\/\">preberite ta \u010dlanek<\/a><\/noindex>. Shramba podatkov mora biti neolokalna, da bo Kubernetes lahko bolj fleksibilno izbral nov vozli\u0161\u010de po ponovnem zagonu ali preselitvi.<\/p>\n<p><i><b>Omre\u017eje<\/b><\/i><\/p>\n<p>Kot v primeru ve\u010dine distribuiranih sistemov, je uspe\u0161nost Kafke mo\u010dno odvisna od minimalnih zamud v omre\u017eju in maksimalne pasovne \u0161irine. Ne posku\u0161ajte spraviti vseh posrednikov na isto vozli\u0161\u010de, saj se bo s tem zmanj\u0161ala razpolo\u017eljivost. \u010ce se vozli\u0161\u010de Kubernetes ustavi, bo celoten grozd Kafke prav tako odpovedal. Prav tako ne porazdeli energijo Kafke \u010dez celotna podatkovna sredi\u0161\u010da. Enako velja za grozd Kubernetes. Dober kompromis v tem primeru je izbira razli\u010dnih obmo\u010dij dostopnosti.<\/p>\n<h4>\u041a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044f<\/h4>\n<p>\n<i><b>Obi\u010dajni manifesti<\/b><\/i><\/p>\n<p>Na spletni strani Kubernetes je <noindex><a rel=\"nofollow\" href=\"https:\/\/kubernetes.io\/docs\/tutorials\/stateful-application\/zookeeper\/\">zelo dobra smernica<\/a><\/noindex> o tem, kako nastaviti ZooKeeper s pomo\u010djo manifestov. Ker je ZooKeeper del Kafke, je to dobro izhodi\u0161\u010de za spoznavanje konceptov, ki se tukaj uporabljajo v Kuberneteseu. Ko se s tem teko\u010de spoznate, boste lahko uporabili iste koncepte tudi za grozd Kafke.<\/p>\n<ul>\n<li><i>Pod<\/i>: pod - to je najmanj\u0161a enota, ki jo je mogo\u010de razporediti v Kubernetesu. V podu se nahaja va\u0161a delovna obremenitev, pod pa ustreza procesu v va\u0161em grozdu. V podu je lahko en ali ve\u010d vsebnika. Vsaka stre\u017enik ZooKeeper v ansamblu in vsak posrednik v grozdu Kafke delujeta v lo\u010denem podu.<\/li>\n<li><i>StatefulSet<\/i>: StatefulSet je Kubernetes objekt, ki deluje z ve\u010d delovnimi obremenitvami, ki ohranjajo stanje, kar te obremenitve zahtevajo usklajevanje. StatefulSet zagotavlja zagotovila glede zaporedja podov in njihove edinstvenosti.<\/li>\n<li><i>Bezne storitve<\/i>: Storitve omogo\u010dajo lo\u010devanje podov od strank z uporabo logi\u010dnega imena. Kubernetes v tem primeru skrbi za obremenitev. Vendar pa, pri delovnih obremenitvah, ki ohranjajo stanje, kot so ZooKeeper in Kafka, morajo stranke komunicirati s specifi\u010dno instanco. Takrat pridejo prav bezne storitve: v tem primeru bo stranka \u0161e vedno imela logi\u010dno ime, vendar se ne bo treba neposredno povezati s podom. <\/li>\n<li><i>Prostor za dolgotrajno shranjevanje<\/i>: take prostori so potrebni za konfiguracijo nelokalnega blokiranega dolgotrajnega shranjevanja, ki je bilo omenjena zgoraj.<\/li>\n<\/ul>\n<p>\nNa <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/Yolean\/kubernetes-kafka\">Yolean<\/a><\/noindex> ponuja iz\u010drpen nabor manifestov, s katerimi se enostavno za\u010dnete ukvarjati s Kafko v Kubernetesu.<\/p>\n<p><i><b>Helm-diagrami<\/b><\/i><\/p>\n<p>Helm je upravitelj paketa za Kubernetes koji se mo\u017ee usporediti s upraviteljima paketa za operacijske sustave, poput yum, apt, Homebrew ili Chocolatey. Uz njegovu pomo\u0107, lako je instalirati unaprijed definirane programske pakete opisane u Helm dijagramima. Dobro osmi\u0161ljen Helm dijagram olak\u0161ava slo\u017een zadatak: kako pravilno konfigurirati sve postavke za kori\u0161tenje Kafke na Kubernetesu. Postoji nekoliko dijagrama Kafke: slu\u017ebeni se nalazi <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/helm\/charts\/tree\/master\/incubator\/kafka\">u inkubacijskom stanju<\/a><\/noindex>, jedan dolazi od <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/confluentinc\/cp-helm-charts\/tree\/master\/charts\/cp-kafka\">Confluent<\/a><\/noindex>, a jo\u0161 jedan od <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/bitnami\/charts\/tree\/master\/bitnami\/kafka\">Bitnami<\/a><\/noindex>.<\/p>\n<p><i><b>Operaterji<\/b><\/i><\/p>\n<p>Budu\u0107i da Helm ima odre\u0111ene nedostatke, drugo sredstvo postaje sve popularnije: operateri Kubernetes-a. Operater ne samo da pakuje softver za Kubernetes, ve\u0107 vam omogu\u0107uje i njegovo implementiranje i upravljanje njime.<\/p>\n<p>Na popisu <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/operator-framework\/awesome-operators\">izvrsnih operatera<\/a><\/noindex> spominju se dva operatera za Kafku. Jedan od njih je <noindex><a rel=\"nofollow\" href=\"https:\/\/strimzi.io\/\">Strimzi<\/a><\/noindex>. Uz pomo\u0107 Strimzija nije te\u0161ko pokrenuti Kafkin klaster u nekoliko minuta. Prakti\u010dki nije potrebno nikakvo pode\u0161avanje, osim toga, sam operater nudi nekoliko ugodnih mogu\u0107nosti, poput TLS enkripcije tipa \"to\u010dka-to\u010dka\" unutar klastera. Confluent tako\u0111er pru\u017ea <noindex><a rel=\"nofollow\" href=\"https:\/\/www.confluent.io\/confluent-operator\/\">svoj operater<\/a><\/noindex>.<\/p>\n<p><b>Performansa<\/b><\/p>\n<p>Vrlo je va\u017eno testirati performanse, opskrbljuju\u0107i va\u0161 instalirani primjerak Kafke kontrolnim to\u010dkama. Takva testiranja \u0107e vam pomo\u0107i otkriti potencijalna uska grla prije nego \u0161to problemi po\u010dnu. Na sre\u0107u, Kafka ve\u0107 ima dva alata za testiranje performansi: <code>kafka-producer-perf-test.sh<\/code> in <code>kafka-consumer-perf-test.sh<\/code>. Aktivno ih koristite. Za referencu se mo\u017eete usporediti s rezultatima opisanim u <noindex><a rel=\"nofollow\" href=\"https:\/\/engineering.linkedin.com\/kafka\/benchmarking-apache-kafka-2-million-writes-second-three-cheap-machines\">ovom postu<\/a><\/noindex> Jaya Krepsa, ili se usmjeriti na <noindex><a rel=\"nofollow\" href=\"https:\/\/medium.com\/@stephane.maarek\/an-honest-review-of-aws-managed-apache-kafka-amazon-msk-94b1ff9459d8\">ovu recenziju<\/a><\/noindex> Amazon MSK od St\u00e9phanea Maareka.<\/p>\n<h4>Operacije<\/h4>\n<p>\n<i><b>Nadzor<\/b><\/i><\/p>\n<p>Transparentnost u sustavu je izuzetno va\u017ena \u2013 ina\u010de ne\u0107ete razumjeti \u0161to se u njemu doga\u0111a. Danas postoji solidan set alata koji pru\u017eaju nadzor na temelju mjernih podataka u stilu cloud native. Dva popularna alata za ovu svrhu su Prometheus i Grafana. Prometheus mo\u017ee prikupljati mjerni podaci sa svih Java procesa (Kafka, Zookeeper, Kafka Connect) koriste\u0107i JMX izvo\u0111a\u010d \u2013 na najjednostavniji na\u010din. Ako pridru\u017eite metrike cAdvisor-a, mo\u0107i \u0107ete bolje razumjeti kako se resursi koriste u Kubernetesu.<\/p>\n<p>Strimzi ima vrlo korisnu Grafana nadzornu plo\u010du za Kafka. Vizualizira klju\u010dne metrike, kao \u0161to su nedovoljno replikirani sektori ili oni koji su izvan mre\u017ee. Sve je to vrlo jasno. Ove metrike se dopunjuju informacijama o kori\u0161\u0107enju resursa i performansama, kao i indikatorima stabilnosti. Tako dobijate osnovni nadzor nad Kafka klasterom potpuno besplatno!<\/p>\n<p><img decoding=\"async\" alt=\"Je Kafka na Kubernetes dobra ideja?\" src=\"\/wp-content\/uploads\/2019\/08\/65ab468f7ebc0f376796990e41c62a48.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nIzvor: <noindex><a rel=\"nofollow\" href=\"https:\/\/strimzi.io\/docs\/master\/#kafka_dashboard\">strimzi.io\/docs\/master\/#kafka_dashboard<\/a><\/noindex><\/p>\n<p>Sve ovo bi bilo dobro dopuniti pra\u0107enjem klijenata (metrike za konzumente i producite), kao i monitoringom latencije (za to postoji <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/linkedin\/Burrow\">Burrow<\/a><\/noindex>) i sveobuhvatnim monitoringom \u2013 za to koristite <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/linkedin\/kafka-monitor\">Kafka Monitor<\/a><\/noindex>.<\/p>\n<p><i><b>Zapisovanje<\/b><\/i><\/p>\n<p>Logiranje je jo\u0161 jedan veoma va\u017ean zadatak. Uverite se da svi kontejneri u va\u0161oj Kafka instalaciji logiraju u <code>stdout<\/code> in <code>stderr<\/code>, a tako\u0111e se postarajte da va\u0161 Kubernetes klaster agregira sve logove u centralnu infrastrukturu za logove, na primer, u <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>Preverjanje delovanja<\/b><\/i><\/p>\n<p>Kubernetes koristi probe \u201e\u017eivotnosti\u201c (liveness) i spremnosti (readiness) kako bi proverio da li su va\u0161i podovi u normalnom stanju. Ako proba \u017eivotnosti ne uspe, Kubernetes \u0107e zaustaviti taj kontejner, a zatim ga automatski ponovo pokrenuti, ako je politika ponovnog pokretanja pode\u0161ena odgovaraju\u0107e. Ako proba spremnosti ne uspe, Kubernetes \u0107e izolovati taj pod od obrada zahteva. Tako u takvim slu\u010dajevima vi\u0161e nije potrebno ru\u010dno intervenirati, a to je velika prednost. <\/p>\n<p><i><b>Provo\u0111enje a\u017euriranja<\/b><\/i><\/p>\n<p>StatefulSet podr\u017eava automatska a\u017euriranja: pri izboru strategije RollingUpdate svaki pod Kafka \u0107e se a\u017eurirati jedan po jedan. Tako se mo\u017ee smanjiti vreme zastoja na nulu.<\/p>\n<p><i><b>Skaliranje<\/b><\/i><\/p>\n<p>\u0160irenje Kafka klastera nije lak zadatak. Me\u0111utim, u Kubernetes-u je veoma lako skalirati podove na odre\u0111eni broj replika, \u0161to zna\u010di da mo\u017eete deklarativno odrediti koliko god \u017eelite Kafka brokera. Najte\u017ei deo u ovom slu\u010daju je ponovna dodela sektora nakon pove\u0107anja ili smanjenja skaliranja. Ponovo, Kubernetes \u0107e vam pomo\u0107i u ovom zadatku.<\/p>\n<p><i><b>Administracija<\/b><\/i><\/p>\n<p>Naloge, povezane z upravljanjem va\u0161ega Kafka klasterja, kot so ustvarjanje tem in prerazporejanje particij, lahko opravite s pomo\u010djo obstoje\u010dih shell skriptov, tako da odprete ukazno vrstico v va\u0161ih podih. Vendar to ni najbolj estetska re\u0161itev. Strimzi podpira upravljanje tem z drugim operaterjem. Tu je \u0161e veliko prostora za izbolj\u0161ave.<\/p>\n<p><i><b>Varnostno kopiranje in obnova<\/b><\/i><\/p>\n<p>Zdaj bo na\u0161a razpolo\u017eljivost Kafka odvisna tudi od razpolo\u017eljivosti Kubernetes. \u010ce pride do odpovedi va\u0161ega Kubernetes klasterja, bo v najslab\u0161em primeru odpovedal tudi klaster Kafka. Po Murphyjevem zakonu se to nujno zgodi in tako boste izgubili podatke. Da bi zmanj\u0161ali tveganje tak\u0161nega dogodka, skrbno na\u010drtujte koncept varnostnega kopiranja. Lahko uporabite MirrorMaker, druga mo\u017enost pa je uporaba S3, kot je opisano v tem <noindex><a rel=\"nofollow\" href=\"https:\/\/jobs.zalando.com\/tech\/blog\/backing-up-kafka-zookeeper\/\">objavi<\/a><\/noindex> od Zalanda.<\/p>\n<h4>Zaklju\u010dek<\/h4>\n<p>\nPri delu z manj\u0161imi ali srednjimi klasterji Kafka je zagotovo smiselno uporabljati Kubernetes, saj omogo\u010da dodatno prilagodljivost in poenostavi delo z operaterji. \u010ce imate resne nefunkcionalne zahteve glede zakasnitve in\/ali propustnosti, bi morda bilo bolje razmisliti o drugi mo\u017enosti uvajanja.<br \/>\n<br \/>Izvor: <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.4 - 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\/sl\/blog\/administrirovanie\/kafka-na-kubernetes-eto-horosho\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.4\" \/>\n\t\t<meta property=\"og:locale\" content=\"sl_SI\" \/>\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\/sl\/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 na Kubernetes \u2014 je to dobro? | ProHoster","description":"Pozdravljamo vas, Habr! V nekem trenutku smo prvi predstavili temo","canonical_url":"https:\/\/prohoster.info\/sl\/blog\/administrirovanie\/kafka-na-kubernetes-eto-horosho","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"sl_SI","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\/sl\/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\/sl\/wp-json\/wp\/v2\/posts\/36822","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/sl\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/sl\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sl\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sl\/wp-json\/wp\/v2\/comments?post=36822"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/sl\/wp-json\/wp\/v2\/posts\/36822\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sl\/wp-json\/wp\/v2\/media\/27586"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/sl\/wp-json\/wp\/v2\/media?parent=36822"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/sl\/wp-json\/wp\/v2\/categories?post=36822"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/sl\/wp-json\/wp\/v2\/tags?post=36822"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}