{"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\/da\/blog\/administrirovanie\/kafka-na-kubernetes-eto-horosho","title":{"rendered":"Er Kafka p\u00e5 Kubernetes en god id\u00e9?","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Velkommen til dig, Habr!<\/p>\n<p>Engang var vi de f\u00f8rste til at introducere emnet <noindex><a rel=\"nofollow\" href=\"https:\/\/www.piter.com\/collection\/all\/product\/apache-kafka-potokovaya-obrabotka-i-analiz-dannyh\">Kafka<\/a><\/noindex> og forts\u00e6tter <noindex><a rel=\"nofollow\" href=\"https:\/\/www.piter.com\/product_by_id\/132649774\">med at f\u00f8lge<\/a><\/noindex> dens udvikling. Is\u00e6r har emnet omkring interaktionen mellem Kafka og <noindex><a rel=\"nofollow\" href=\"https:\/\/www.piter.com\/product_by_id\/125705747\">Kubernetes<\/a><\/noindex>. En oversigt (og ganske forsigtig) <noindex><a rel=\"nofollow\" href=\"https:\/\/www.confluent.io\/blog\/apache-kafka-kubernetes-could-you-should-you\">artikel<\/a><\/noindex> om dette emne blev udgivet i bloggen fra Confluent tilbage i oktober sidste \u00e5r af Gwen Shapiro. I dag vil vi gerne henlede din opm\u00e6rksomhed p\u00e5 en mere aktuel artikel fra april af Johann Gyger, som, selvom han ikke undgik et sp\u00f8rgsm\u00e5lstegn i titlen, betragter emnet mere konkret og supplerer teksten med interessante links. Undskyld, hvis vi har oversat \"chaos monkey\" frit!<\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/piter\/blog\/462257\/\"><img decoding=\"async\" alt=\"Er Kafka p\u00e5 Kubernetes en god id\u00e9?\" 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>Introduktion<\/h4>\n<p>\nKubernetes er designet til at arbejde med belastninger, der ikke har en beholdning. Som regel er s\u00e5danne arbejdsbelastninger pr\u00e6senteret i form af en mikrotjenestearkitektur, de er lette, nemme at skalere horisontalt, f\u00f8lger principperne for 12-faktor applikationer og tillader arbejde med automatisk afbrydere (circuit breakers) og chaos monkeys.<\/p>\n<p>Kafka, derimod, fungerer i princippet som en distribueret database. Derfor skal du arbejde med tilstand, som er meget tungere end en mikrotjeneste. Kubernetes underst\u00f8tter tilstande med persistent lagring, men som Kelsey Hightower p\u00e5peger i sine to tweets, skal man v\u00e6re forsigtig med dem:<\/p>\n<blockquote><p>Nogle mener, at hvis man implementerer Kubernetes p\u00e5 en belastning med persistent lagring, s\u00e5 bliver det til en fuldt administreret database, der kan konkurrere med RDS. Det er ikke korrekt. M\u00e5ske, hvis man arbejder h\u00e5rdt nok, tilf\u00f8jer ekstra komponenter og inviterer et SRE-team, kan man f\u00e5 RDS til at fungere oven p\u00e5 Kubernetes.<\/p><\/blockquote>\n<blockquote><p>Jeg anbefaler altid at udvise ekstrem forsigtighed, n\u00e5r man k\u00f8rer belastninger med persistent lagring p\u00e5 Kubernetes. De fleste af dem, der sp\u00f8rger, \"kan jeg k\u00f8re belastninger med persistent lagring p\u00e5 Kubernetes\", har ikke tilstr\u00e6kkelig erfaring med Kubernetes, og ofte heller ikke med den belastning, de sp\u00f8rger om.<\/p><\/blockquote>\n<p> S\u00e5, skal Kafka k\u00f8re p\u00e5 Kubernetes? Det modsatte sp\u00f8rgsm\u00e5l er: Vil Kafka fungere bedre uden Kubernetes? Derfor vil jeg i denne artikel fremh\u00e6ve, hvordan Kafka og Kubernetes supplerer hinanden, samt hvilke faldgruber der kan opst\u00e5 ved deres kombination.<\/p>\n<h4>Udf\u00f8relsestid<\/h4>\n<p>\nLad os tale om den grundl\u00e6ggende ting - udf\u00f8relsesmilj\u00f8et som s\u00e5dan<\/p>\n<p><i><b>Proces<\/b><\/i><\/p>\n<p>Kafka-m\u00e6glere er effektive at arbejde med CPU. TLS kan tilf\u00f8re nogle overhead. Klienter til Kafka kan dog belaste CPU'en yderligere, hvis de bruger kryptering, men det p\u00e5virker ikke m\u00e6glere.<\/p>\n<p><i><b>Hukommelse<\/b><\/i><\/p>\n<p>Kafka-m\u00e6glere kr\u00e6ver meget hukommelse. St\u00f8rrelsen p\u00e5 JVM-haugen b\u00f8r typisk begr\u00e6nses til 4-5 GB, men du f\u00e5r ogs\u00e5 brug for meget systemhukommelse, da Kafka bruger side-cache meget aktivt. I Kubernetes skal du passende angive containerens ressourcegr\u00e6nser og -anmodninger.<\/p>\n<p><i><b>Datastore<\/b><\/i><\/p>\n<p>Datastore i containere er ephemeralt - data g\u00e5r tabt ved genstart. For Kafka-data kan du bruge et volumen <code>emptyDir<\/code>, og effekten vil v\u00e6re den samme: dine m\u00e6glers data vil g\u00e5 tabt efter afslutning. Dine beskeder kan stadig bevares p\u00e5 andre m\u00e6glere som replikaer. Derfor skal den fejlede m\u00e6gler f\u00f8rst replikere alle data efter genstart, og denne proces kan tage noget tid. <\/p>\n<p>Derfor b\u00f8r du bruge langsigtet datastore. Lad det v\u00e6re et ikke-lokalt langsigtet datastore med filsystemet XFS eller mere pr\u00e6cist ext4. Brug ikke NFS. Jeg advarer. NFS-versioner v3 eller v4 vil ikke fungere. Kort sagt, Kafka-m\u00e6gleren vil stoppe, hvis den ikke kan slette datakataloget p\u00e5 grund af problemer med 'dumme omd\u00f8bninger', der er relevante for NFS. Hvis jeg ikke har overbevist dig indtil nu, l\u00e6s denne artikel meget omhyggeligt <noindex><a rel=\"nofollow\" href=\"https:\/\/sbg.technology\/2018\/07\/10\/kafka-nfs\/\">. Datastore skal v\u00e6re ikke-lokal, s\u00e5 Kubernetes mere fleksibelt kan v\u00e6lge en ny node efter genstart eller relokation.<\/a><\/noindex>. Datalagringen skal v\u00e6re ikke-lokal, s\u00e5 Kubernetes mere fleksibelt kan v\u00e6lge en ny node efter genstart eller relokation.<\/p>\n<p><i><b>Netv\u00e6rk<\/b><\/i><\/p>\n<p>Som ligesom med de fleste distribuerede systemer afh\u00e6nger ydeevnen af Kafka st\u00e6rkt af, at netv\u00e6rksforsinkelsen er minimal, og b\u00e5ndbredden er maksimal. Fors\u00f8g ikke at placere alle brokere p\u00e5 samme node, da dette vil reducere tilg\u00e6ngeligheden. Hvis en Kubernetes-node fejler, vil hele Kafka-klusteret fejle. Spred heller ikke Kafka-klusteret over hele datacentre. Det samme g\u00e6lder for Kubernetes-klusteret. Et godt kompromis i dette tilf\u00e6lde er at v\u00e6lge forskellige tilg\u00e6ngelighedszoner.<\/p>\n<h4>Konfiguration<\/h4>\n<p>\n<i><b>Almindelige manifester<\/b><\/i><\/p>\n<p>P\u00e5 Kubernetes-websitet er der <noindex><a rel=\"nofollow\" href=\"https:\/\/kubernetes.io\/docs\/tutorials\/stateful-application\/zookeeper\/\">et meget godt vejledning<\/a><\/noindex> om, hvordan man konfigurerer ZooKeeper ved hj\u00e6lp af manifester. Da ZooKeeper er en del af Kafka, er det her, det er praktisk at begynde at blive bekendt med, hvilke koncepter Kubernetes der er anvendelige her. N\u00e5r du forst\u00e5r dette, kan du anvende de samme koncepter med Kafka-klusteret.<\/p>\n<ul>\n<li><i>Under<\/i>: en pod er den mindste deployerbare enhed i Kubernetes. En pod indeholder din arbejdsbyrde, og selve pod'en svarer til en proces i dit kluster. En pod indeholder en eller flere containere. Hver ZooKeeper-server i ensemblet og hver broker i Kafka-klusteret vil k\u00f8re i en separat pod.<\/li>\n<li><i>StatefulSet<\/i>: StatefulSet er et Kubernetes-objekt, der arbejder med flere arbejdsbyrder, der har tilstande, og s\u00e5danne byrder kr\u00e6ver koordinering. StatefulSet giver garantier for r\u00e6kkef\u00f8lgen af pods og deres unikke identiteter.<\/li>\n<li><i>Headless-tjenester<\/i>: Tjenester g\u00f8r det muligt at frakoble pods fra klienter ved hj\u00e6lp af et logisk navn. Kubernetes st\u00e5r i dette tilf\u00e6lde for belastningsfordelingen. Men ved h\u00e5ndtering af arbejdsbyrder med tilstand, som med ZooKeeper og Kafka, skal klienterne udveksle informationer med en bestemt instans. Det er her, headless-tjenesterne kommer ind i billedet: i dette tilf\u00e6lde vil klienten stadig have et logisk navn, men der vil ikke v\u00e6re behov for direkte at henvende sig til pod'en. <\/li>\n<li><i>Volume til langfristet opbevaring<\/i>: s\u00e5danne volumes er n\u00f8dvendige for at konfigurere ikke-lokal blok-lagring, som n\u00e6vnt ovenfor.<\/li>\n<\/ul>\n<p>\nP\u00e5 <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/Yolean\/kubernetes-kafka\">Yolean<\/a><\/noindex> tilbyder et omfattende s\u00e6t manifester, der g\u00f8r det nemt at komme i gang med Kafka p\u00e5 Kubernetes.<\/p>\n<p><i><b>Helm-diagrammer<\/b><\/i><\/p>\n<p>Helm er en pakkeh\u00e5ndterer til Kubernetes, som kan sammenlignes med pakkeh\u00e5ndtere til operativsystemer som yum, apt, Homebrew eller Chocolatey. Det g\u00f8r det nemt at installere foruddefinerede softwarepakker, beskrevet i Helm-diagrammer. Et veludformet Helm-diagram forenkler den komplekse opgave: hvordan man korrekt konfigurerer alle parametre til brug af Kafka p\u00e5 Kubernetes. Der er flere Kafka-diagrammer: den officielle er <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/helm\/charts\/tree\/master\/incubator\/kafka\">i inkubatortilstand<\/a><\/noindex>, der er en fra <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/confluentinc\/cp-helm-charts\/tree\/master\/charts\/cp-kafka\">Confluent<\/a><\/noindex>, og en anden fra <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/bitnami\/charts\/tree\/master\/bitnami\/kafka\">Bitnami<\/a><\/noindex>.<\/p>\n<p><i><b>Operat\u00f8rer<\/b><\/i><\/p>\n<p>Da Helm har visse ulemper, f\u00e5r et andet v\u00e6rkt\u00f8j, Kubernetes-operat\u00f8rer, en stor popularitet. En operat\u00f8r pakker ikke bare softwaren til Kubernetes, men giver ogs\u00e5 mulighed for at implementere og administrere denne software.<\/p>\n<p>Listen over <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/operator-framework\/awesome-operators\">fantastiske operat\u00f8rer<\/a><\/noindex> n\u00e6vner to operat\u00f8rer for Kafka. En af dem er <noindex><a rel=\"nofollow\" href=\"https:\/\/strimzi.io\/\">Strimzi<\/a><\/noindex>. Med Strimzi er det nemt at ops\u00e6tte et Kafka-kluster p\u00e5 f\u00e5 minutter. N\u00e6sten ingen konfiguration er n\u00f8dvendig, og operat\u00f8ren tilbyder ogs\u00e5 nogle gode funktioner, som f.eks. point-to-point TLS-kryptering inden for klusteret. Confluent tilbyder ogs\u00e5 <noindex><a rel=\"nofollow\" href=\"https:\/\/www.confluent.io\/confluent-operator\/\">sin egen operat\u00f8r<\/a><\/noindex>.<\/p>\n<p><b>Ydeevne<\/b><\/p>\n<p>Det er meget vigtigt at teste ydeevnen ved at udstyre den installerede Kafka-instans med kontrolpunkter. Disse tests hj\u00e6lper med at opdage potentielle flaskehalse, f\u00f8r problemerne opst\u00e5r. Heldigvis leverer Kafka allerede to v\u00e6rkt\u00f8jer til ydeevnetestning: <code>kafka-producer-perf-test.sh<\/code> og <code>kafka-consumer-perf-test.sh<\/code>. Brug dem aktivt. Du kan sammenligne dine resultater med dem, der er beskrevet af <noindex><a rel=\"nofollow\" href=\"https:\/\/engineering.linkedin.com\/kafka\/benchmarking-apache-kafka-2-million-writes-second-three-cheap-machines\">dette indl\u00e6g<\/a><\/noindex> Jay Kreps, eller henholde dig til <noindex><a rel=\"nofollow\" href=\"https:\/\/medium.com\/@stephane.maarek\/an-honest-review-of-aws-managed-apache-kafka-amazon-msk-94b1ff9459d8\">denne anmeldelse<\/a><\/noindex> af Amazon MSK fra St\u00e9phane Maarek.<\/p>\n<h4>Operationer<\/h4>\n<p>\n<i><b>Overv\u00e5gning<\/b><\/i><\/p>\n<p>Transparens i systemet er meget vigtigt \u2013 ellers forst\u00e5r du ikke, hvad der sker i det. I dag findes der et solidt v\u00e6rkt\u00f8js\u00e6t, der muligg\u00f8r overv\u00e5gning baseret p\u00e5 metrics i cloud-native stil. To popul\u00e6re v\u00e6rkt\u00f8jer til dette form\u00e5l er Prometheus og Grafana. Prometheus kan indsamle metrics fra alle Java-processer (Kafka, Zookeeper, Kafka Connect) ved hj\u00e6lp af en JMX-export\u00f8r \u2013 p\u00e5 den simpleste m\u00e5de. Hvis man tilf\u00f8jer cAdvisor-metrics, kan man f\u00e5 et mere komplet billede af, hvordan ressourcer bruges i Kubernetes.<\/p>\n<p>Strimzi har et meget praktisk Grafana-dashboard eksempel til Kafka. Det visualiserer n\u00f8glemetrikker, s\u00e5som ureplicerede partitioner eller dem, der er offline. Alt er meget klart. Disse metrikker suppleres med oplysninger om ressourceforbrug og ydeevne samt stabilitetsindikatorer. P\u00e5 den m\u00e5de f\u00e5r du grundl\u00e6ggende overv\u00e5gning af Kafka-klyngen helt gratis!<\/p>\n<p><img decoding=\"async\" alt=\"Er Kafka p\u00e5 Kubernetes en god id\u00e9?\" src=\"\/wp-content\/uploads\/2019\/08\/65ab468f7ebc0f376796990e41c62a48.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nKilde: <noindex><a rel=\"nofollow\" href=\"https:\/\/strimzi.io\/docs\/master\/#kafka_dashboard\">strimzi.io\/docs\/master\/#kafka_dashboard<\/a><\/noindex><\/p>\n<p>Det ville desuden v\u00e6re godt at supplere med klientmonitorering (metrikker for forbrugere og producenter) samt forsinkelsesoverv\u00e5gning (til dette findes der <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/linkedin\/Burrow\">Burrow<\/a><\/noindex>) og ende-til-ende overv\u00e5gning \u2013 brug <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/linkedin\/kafka-monitor\">Kafka Monitor<\/a><\/noindex>.<\/p>\n<p><i><b>Logf\u00f8ring<\/b><\/i><\/p>\n<p>Logning er en anden ekstremt vigtig opgave. S\u00f8rg for, at alle containere i din Kafka-installation logger til <code>stdout<\/code> og <code>stderr<\/code>, og s\u00f8rg ogs\u00e5 for, at din Kubernetes-klynge aggregerer alle logs i en central log-infrastruktur, s\u00e5som <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>Tjek af tilstand<\/b><\/i><\/p>\n<p>Kubernetes bruger livs- (liveness) og klarheds (readiness) probes til at tjekke, om dine pods fungerer korrekt. Hvis livstjekket mislykkes, stopper Kubernetes denne container og genstarter den automatisk, hvis genstartpolitikken er indstillet derefter. Hvis klarhedstjekket mislykkes, isolerer Kubernetes denne pod fra at h\u00e5ndtere anmodninger. P\u00e5 den m\u00e5de kr\u00e6ves der ikke l\u00e6ngere manuel indgriben i s\u00e5danne tilf\u00e6lde, hvilket er et stort plus. <\/p>\n<p><i><b>Udrulning af opdateringer<\/b><\/i><\/p>\n<p>StatefulSets underst\u00f8tter automatiske opdateringer: ved valg af strategien RollingUpdate vil hver Kafka-pod blive opdateret en ad gangen. P\u00e5 den m\u00e5de kan nedetiden reduceres til nul.<\/p>\n<p><i><b>Skalering<\/b><\/i><\/p>\n<p>Skalering af Kafka-klyngen er en udfordring. Men i Kubernetes er det meget enkelt at skalere pods til et bestemt antal replikaer, hvilket betyder, at du deklarativt kan definere s\u00e5 mange Kafka-brokere, som du \u00f8nsker. Det sv\u00e6reste i dette tilf\u00e6lde er omfordeling af partitioner efter at have skaleret op eller f\u00f8r at skale ned. Igen vil Kubernetes hj\u00e6lpe dig med denne opgave.<\/p>\n<p><i><b>Administration<\/b><\/i><\/p>\n<p>Opgaver relateret til administration af dit Kafka-klynge, specifikt oprettelse af emner og genfordeling af partitioner, kan udf\u00f8res med de tilg\u00e6ngelige shell-scripts ved at \u00e5bne kommandolinjegr\u00e6nsefladen i dine pods. Men denne l\u00f8sning er ikke s\u00e6rlig elegant. Strimzi underst\u00f8tter emnestyring med en anden operator. Her er der plads til forbedringer.<\/p>\n<p><i><b>Backup og gendannelse<\/b><\/i><\/p>\n<p>Nu vil tilg\u00e6ngeligheden af Kafka afh\u00e6nge af tilg\u00e6ngeligheden af Kubernetes. Hvis din Kubernetes-kluster falder, vil dit Kafka-kluster i v\u00e6rste fald ogs\u00e5 falde. Som Murphy's lov siger, vil det helt sikkert ske, og du vil miste data. For at minimere denne risiko er det en god id\u00e9 at have en solid backup-strategi. Du kan bruge MirrorMaker, en anden mulighed er at benytte S3 til dette, som beskrevet i denne <noindex><a rel=\"nofollow\" href=\"https:\/\/jobs.zalando.com\/tech\/blog\/backing-up-kafka-zookeeper\/\">indl\u00e6g<\/a><\/noindex> fra Zalando.<\/p>\n<h4>Konklusion<\/h4>\n<p>\nN\u00e5r du arbejder med sm\u00e5 eller mellemstore Kafka-klynger, er det bestemt fornuftigt at bruge Kubernetes, da det giver ekstra fleksibilitet og forenkler arbejdet med operat\u00f8rer. Hvis du st\u00e5r over for meget strenge ikke-funktionelle krav ang\u00e5ende forsinkelse og\/eller b\u00e5ndbredde, kan det v\u00e6re bedre at overveje et andet deploymentsalternativ.<br \/>\n<br \/>Kilde: <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.3 - 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\/da\/blog\/administrirovanie\/kafka-na-kubernetes-eto-horosho\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.3\" \/>\n\t\t<meta property=\"og:locale\" content=\"da_DK\" \/>\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\/da\/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 p\u00e5 Kubernetes \u2013 er det en god id\u00e9? | ProHoster","description":"Velkommen, Habr! Vi var de f\u00f8rste til at introducere emnet p\u00e5 det russiske marked","canonical_url":"https:\/\/prohoster.info\/da\/blog\/administrirovanie\/kafka-na-kubernetes-eto-horosho","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"da_DK","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\/da\/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\/da\/wp-json\/wp\/v2\/posts\/36822","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/comments?post=36822"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/posts\/36822\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/media\/27586"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/media?parent=36822"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/categories?post=36822"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/tags?post=36822"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}