{"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\/de\/blog\/administrirovanie\/kafka-na-kubernetes-eto-horosho","title":{"rendered":"Ist Kafka auf Kubernetes gut?","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Willkommen, Habr!<\/p>\n<p>Zu seiner Zeit haben wir als erste das Thema <noindex><a rel=\"nofollow\" href=\"https:\/\/www.piter.com\/collection\/all\/product\/apache-kafka-potokovaya-obrabotka-i-analiz-dannyh\">Kafka<\/a><\/noindex> auf den russischen Markt gebracht <noindex><a rel=\"nofollow\" href=\"https:\/\/www.piter.com\/product_by_id\/132649774\">und verfolgen<\/a><\/noindex> seine Entwicklung. Besonders interessant fanden wir das Thema der Interaktion zwischen Kafka und <noindex><a rel=\"nofollow\" href=\"https:\/\/www.piter.com\/product_by_id\/125705747\">Kubernetes<\/a><\/noindex>. Ein \u00dcberblick (und ziemlich vorsichtig) <noindex><a rel=\"nofollow\" href=\"https:\/\/www.confluent.io\/blog\/apache-kafka-kubernetes-could-you-should-you\">Artikel<\/a><\/noindex> zu diesem Thema erschien im Blog des Unternehmens Confluent bereits im Oktober letzten Jahres unter der Autorenschaft von Gwen Shapiro. Heute m\u00f6chten wir Ihre Aufmerksamkeit auf einen aktuelleren Artikel von Johann Gyger lenken, der, obwohl er im Titel nicht ohne Fragezeichen auskommt, das Thema aus einem konkreteren Blickwinkel betrachtet und den Text mit interessanten Links erg\u00e4nzt. Bitte entschuldigen Sie uns den freien \u00dcbersetzungsversuch von \u201echaos monkey\u201c, wenn Sie k\u00f6nnen!<\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/piter\/blog\/462257\/\"><img decoding=\"async\" alt=\"Ist Kafka auf Kubernetes gut?\" 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>Einf\u00fchrung<\/h4>\n<p>\nKubernetes ist f\u00fcr die Arbeit mit zustandslosen Lasten konzipiert. In der Regel werden solche Arbeitslasten in Form einer Microservices-Architektur dargestellt, sie sind leichtgewichtig, gut horizontal skalierbar, folgen den Prinzipien der 12-Faktor-Anwendungen, erm\u00f6glichen den Einsatz von automatischen Schaltern (circuit breaker) und Chaos-Monkeys.<\/p>\n<p>Kafka hingegen fungiert im Wesentlichen als verteilte Datenbank. Somit muss man bei der Arbeit mit ihn sich mit Zustand befassen, der deutlich schwerer wiegt als ein Microservice. Kubernetes unterst\u00fctzt workloads mit Zustand, aber wie Kelsey Hightower in zwei seiner Tweets anmerkt, ist mit ihnen vorsichtig umzugehen:<\/p>\n<blockquote><p>Einige glauben, wenn Kubernetes auf eine zustandsbehaftete Last angewandt wird, wird es zu einer vollst\u00e4ndig verwalteten Datenbank, die mit RDS konkurrieren kann. Das ist nicht der Fall. Vielleicht gelingt es, wenn man gen\u00fcgend M\u00fche investiert, zus\u00e4tzliche Komponenten anf\u00fcgt und ein Team von SRE-Ingenieuren einbezieht, ein RDS \u00fcber Kubernetes zu erstellen.<\/p><\/blockquote>\n<blockquote><p>Ich empfehle immer, bei der Ausf\u00fchrung zustandsbehafteter Lasten auf Kubernetes au\u00dfergew\u00f6hnlich vorsichtig zu sein. Die meisten, die sich fragen, \u201eKann ich zustandsbehaftete Lasten auf Kubernetes ausf\u00fchren\u201c, haben nicht gen\u00fcgend Erfahrung mit Kubernetes, und oft auch nicht mit der spezifischen Last, nach der gefragt wird.<\/p><\/blockquote>\n<p> Sollte man Kafka auf Kubernetes ausf\u00fchren? Eine Gegenfrage: Wird Kafka besser ohne Kubernetes funktionieren? Deshalb m\u00f6chte ich in diesem Artikel hervorheben, wie Kafka und Kubernetes sich gegenseitig erg\u00e4nzen und welche Fallstricke beim Zusammenspiel dieser beiden Technologien auftreten k\u00f6nnen.<\/p>\n<h4>Ausf\u00fchrungszeit<\/h4>\n<p>\nLass uns \u00fcber eine grundlegende Sache sprechen \u2013 die Ausf\u00fchrungsumgebung an sich.<\/p>\n<p><i><b>Prozess<\/b><\/i><\/p>\n<p>Kafka-Broker sind CPU-freundlich. TLS kann einige Kosten verursachen. Dabei k\u00f6nnen Kafka-Clients die CPU st\u00e4rker belasten, wenn sie Verschl\u00fcsselung verwenden, was sich jedoch nicht auf die Broker auswirkt.<\/p>\n<p><i><b>Speicher<\/b><\/i><\/p>\n<p>Kafka-Broker nehmen Speicher in Anspruch. Die JVM-Haupthaltestgr\u00f6\u00dfe sollte normalerweise auf 4-5 GB begrenzt werden, aber Sie ben\u00f6tigen auch viel Systemspeicher, da Kafka den Seiten-Cache sehr aktiv nutzt. Stellen Sie in Kubernetes die Containerlimits f\u00fcr Ressourcen und Anfragen entsprechend ein.<\/p>\n<p><i><b>Datenspeicherung<\/b><\/i><\/p>\n<p>Die Datenspeicherung in Containern ist fl\u00fcchtig \u2013 Daten gehen bei einem Neustart verloren. F\u00fcr Kafka-Daten kann ein Volume verwendet werden <code>emptyDir<\/code>, und der Effekt wird \u00e4hnlich sein: Die Daten Ihres Brokers gehen nach dem Herunterfahren verloren. Ihre Nachrichten k\u00f6nnen jedoch als Replikate von anderen Brokern erhalten bleiben. Daher muss der ausgefallene Broker nach dem Neustart zun\u00e4chst alle Daten replizieren, was einige Zeit in Anspruch nehmen kann. <\/p>\n<p>Deshalb sollte man ein dauerhaftes Datenspeicher verwenden. Lassen Sie es ein nicht-lokales, dauerhaftes Speichersystem mit XFS oder genauer gesagt ext4 sein. Verwenden Sie kein NFS. Ich warne Sie. NFS-Versionen v3 oder v4 werden nicht funktionieren. Kurz gesagt, der Kafka-Broker wird abbrechen, wenn er das Datenverzeichnis aufgrund eines Problems mit den \u201edummen Umbenennungen\u201c, die bei NFS auftreten, nicht l\u00f6schen kann. Falls ich Sie bis jetzt nicht \u00fcberzeugt habe, lesen Sie bitte sehr aufmerksam <noindex><a rel=\"nofollow\" href=\"https:\/\/sbg.technology\/2018\/07\/10\/kafka-nfs\/\">diesen Artikel<\/a><\/noindex>. Der Datenspeicher sollte nicht lokal sein, damit Kubernetes flexibler einen neuen Knoten nach einem Neustart oder einer Neuplatzierung ausw\u00e4hlen kann.<\/p>\n<p><i><b>Netzwerk<\/b><\/i><\/p>\n<p>Wie bei den meisten verteilten Systemen h\u00e4ngt die Leistung von Kafka stark davon ab, dass die Netzwerklatenzen minimal und die Bandbreiten maximal sind. Versuchen Sie nicht, alle Broker auf demselben Knoten zu platzieren, da die Verf\u00fcgbarkeit dadurch verringert wird. Wenn ein Kubernetes-Knoten ausf\u00e4llt, f\u00e4llt der gesamte Kafka-Cluster aus. Verteilen Sie auch den Kafka-Cluster nicht \u00fcber ganze Rechenzentren. Das Gleiche gilt f\u00fcr den Kubernetes-Cluster. Ein guter Kompromiss in diesem Fall ist, verschiedene Verf\u00fcgbarkeitszonen auszuw\u00e4hlen.<\/p>\n<h4>Konfiguration<\/h4>\n<p>\n<i><b>\u00dcbliche Manifeste<\/b><\/i><\/p>\n<p>Auf der Kubernetes-Website gibt es <noindex><a rel=\"nofollow\" href=\"https:\/\/kubernetes.io\/docs\/tutorials\/stateful-application\/zookeeper\/\">ein sehr gutes Handbuch<\/a><\/noindex> dar\u00fcber, wie man ZooKeeper mit Hilfe von Manifesten konfiguriert. Da ZooKeeper Teil von Kafka ist, ist es sinnvoll, hiermit zu beginnen, um herauszufinden, welche Konzepte von Kubernetes hier anwendbar sind. Nachdem Sie dies verstanden haben, k\u00f6nnen Sie dieselben Konzepte auch im Kafka-Cluster anwenden.<\/p>\n<ul>\n<li><i>Pod<\/i>: Pod \u2013 das ist die kleinste deploybare Einheit in Kubernetes. Im Pod befindet sich Ihre Arbeitslast, und der Pod selbst entspricht einem Prozess in Ihrem Cluster. Im Pod gibt es einen oder mehrere Container. Jeder ZooKeeper-Server im Ensemble und jeder Broker im Kafka-Cluster wird in einem separaten Pod betrieben.<\/li>\n<li><i>StatefulSet<\/i>: StatefulSet ist ein Kubernetes-Objekt, das mit mehreren zustandsbehafteten Arbeitslasten arbeitet, wobei solche Arbeitslasten Koordination erfordern. StatefulSets bieten Garantien hinsichtlich der Reihenfolge der Pods und ihrer Einzigartigkeit.<\/li>\n<li><i>Headless-Dienste<\/i>: Dienste erm\u00f6glichen es, Pods von Clients durch einen logischen Namen zu trennen. Kubernetes ist in diesem Fall f\u00fcr die Lastverteilung zust\u00e4ndig. Bei staatlichen Arbeitslasten, wie bei ZooKeeper und Kafka, m\u00fcssen die Clients jedoch Informationen mit einer bestimmten Instanz austauschen. Hier kommen die headless-Dienste ins Spiel: In diesem Fall hat der Client immer noch einen logischen Namen, aber es ist nicht notwendig, direkt auf den Pod zuzugreifen. <\/li>\n<li><i>Volumen f\u00fcr die langfristige Speicherung<\/i>: solche Volumen sind erforderlich, um eine nicht lokale blockbasierte langfristige Speicherung zu konfigurieren, die oben erw\u00e4hnt wurde.<\/li>\n<\/ul>\n<p>\nAuf <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/Yolean\/kubernetes-kafka\">Yolean<\/a><\/noindex> stellt ein umfassendes Set an Manifesten zur Verf\u00fcgung, mit denen Sie bequem mit Kafka auf Kubernetes beginnen k\u00f6nnen.<\/p>\n<p><i><b>Helm-Diagramme<\/b><\/i><\/p>\n<p>Helm ist ein Paketmanager f\u00fcr Kubernetes, der mit Paketmanagern f\u00fcr Betriebssysteme wie yum, apt, Homebrew oder Chocolatey verglichen werden kann. Damit lassen sich vordefinierte Softwarepakete, die in Helm-Diagrammen beschrieben sind, einfach installieren. Ein gut gestaltetes Helm-Diagramm erleichtert die komplexe Aufgabe, alle Parameter zur Nutzung von Kafka auf Kubernetes richtig zu konfigurieren. Es gibt mehrere Kafka-Diagramme: das offizielle befindet sich <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/helm\/charts\/tree\/master\/incubator\/kafka\">im Inkubatorzustand<\/a><\/noindex>, es gibt eines von <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/confluentinc\/cp-helm-charts\/tree\/master\/charts\/cp-kafka\">Confluent<\/a><\/noindex>, ein weiteres von <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/bitnami\/charts\/tree\/master\/bitnami\/kafka\">Bitnami<\/a><\/noindex>.<\/p>\n<p><i><b>Operatoren<\/b><\/i><\/p>\n<p>Da Helm bestimmte M\u00e4ngel aufweist, gewinnt ein weiteres Werkzeug, die Kubernetes-Operatoren, zunehmend an Beliebtheit. Ein Operator verpackt nicht nur Software f\u00fcr Kubernetes, sondern erm\u00f6glicht es Ihnen auch, diese Software bereitzustellen und zu verwalten.<\/p>\n<p>In der Liste <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/operator-framework\/awesome-operators\">fantastischer Operatoren<\/a><\/noindex> werden zwei Operatoren f\u00fcr Kafka erw\u00e4hnt. Einer von ihnen ist <noindex><a rel=\"nofollow\" href=\"https:\/\/strimzi.io\/\">Strimzi<\/a><\/noindex>. Mit Hilfe von Strimzi ist es ein Kinderspiel, innerhalb weniger Minuten ein Kafka-Cluster aufzubauen. Praktisch keine Konfiguration ist erforderlich, dar\u00fcber hinaus bietet der Operator einige angenehme Funktionen, wie z. B. Punkt-zu-Punkt-TLS-Verschl\u00fcsselung innerhalb des Clusters. Confluent bietet ebenfalls <noindex><a rel=\"nofollow\" href=\"https:\/\/www.confluent.io\/confluent-operator\/\">einen eigenen Operator<\/a><\/noindex>.<\/p>\n<p><b>Leistung<\/b><\/p>\n<p>Es ist sehr wichtig, die Performance zu testen, indem Sie Ihrem installierten Kafka-Exemplar Kontrollpunkte hinzuf\u00fcgen. Solche Tests helfen Ihnen, potenzielle Engp\u00e4sse zu erkennen, bevor Probleme auftreten. Gl\u00fccklicherweise bietet Kafka bereits zwei Werkzeuge zum Testen der Leistung an: <code>kafka-producer-perf-test.sh<\/code> und <code>kafka-consumer-perf-test.sh<\/code>. Verwenden Sie sie aktiv. Zur Referenz k\u00f6nnen Sie die Ergebnisse, die in <noindex><a rel=\"nofollow\" href=\"https:\/\/engineering.linkedin.com\/kafka\/benchmarking-apache-kafka-2-million-writes-second-three-cheap-machines\">diesem Beitrag<\/a><\/noindex> von Jay Kreps beschrieben sind, \u00fcberpr\u00fcfen oder sich an <noindex><a rel=\"nofollow\" href=\"https:\/\/medium.com\/@stephane.maarek\/an-honest-review-of-aws-managed-apache-kafka-amazon-msk-94b1ff9459d8\">dieser \u00dcbersicht<\/a><\/noindex> von St\u00e9phane Maarek \u00fcber Amazon MSK orientieren.<\/p>\n<h4>Operationen<\/h4>\n<p>\n<i><b>\u00dcberwachung<\/b><\/i><\/p>\n<p>Transparenz im System ist sehr wichtig - andernfalls verstehen Sie nicht, was darin vor sich geht. Heutzutage gibt es eine solide Palette von Tools f\u00fcr die \u00dcberwachung basierend auf cloud-nativen Metriken. Zwei beliebte Werkzeuge zu diesem Zweck sind Prometheus und Grafana. Prometheus kann Metriken von allen Java-Prozessen (Kafka, Zookeeper, Kafka Connect) sehr einfach \u00fcber den JMX-Exporter sammeln. Wenn Sie die cAdvisor-Metriken hinzuf\u00fcgen, bekommen Sie ein umfassenderes Bild davon, wie Ressourcen in Kubernetes genutzt werden.<\/p>\n<p>Strimzi bietet ein sehr praktisches Beispiel f\u00fcr ein Grafana-Dashboard f\u00fcr Kafka. Es visualisiert wichtige Metriken, zum Beispiel zu nicht replizierten Partitionen oder zu denen, die offline sind. Alles ist sehr \u00fcbersichtlich. Diese Metriken werden durch Informationen zur Ressourcennutzung und Leistung sowie Stabilit\u00e4tsindikatoren erg\u00e4nzt. So erhalten Sie eine grundlegende \u00dcberwachung des Kafka-Clusters v\u00f6llig kostenlos!<\/p>\n<p><img decoding=\"async\" alt=\"Ist Kafka auf Kubernetes gut?\" src=\"\/wp-content\/uploads\/2019\/08\/65ab468f7ebc0f376796990e41c62a48.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nQuelle: <noindex><a rel=\"nofollow\" href=\"https:\/\/strimzi.io\/docs\/master\/#kafka_dashboard\">strimzi.io\/docs\/master\/#kafka_dashboard<\/a><\/noindex><\/p>\n<p>All dies w\u00e4re gut durch ein Client-Monitoring (Metriken zu Consumer und Producer) sowie ein Monitoring der Verz\u00f6gerung zu erg\u00e4nzen (daf\u00fcr gibt es <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/linkedin\/Burrow\">Burrow<\/a><\/noindex>) und ganzheitliches Monitoring \u2013 hierf\u00fcr nutzen Sie <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/linkedin\/kafka-monitor\">Kafka Monitor<\/a><\/noindex>.<\/p>\n<p><i><b>Protokollierung<\/b><\/i><\/p>\n<p>Logging ist eine weitere sehr wichtige Aufgabe. Stellen Sie sicher, dass alle Container in Ihrer Kafka-Installation in <code>stdout<\/code> und <code>stderr<\/code>, und sorgen Sie daf\u00fcr, dass Ihr Kubernetes-Cluster alle Logs in einer zentralen Logging-Infrastruktur aggregiert, zum Beispiel in <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>Healthcheck<\/b><\/i><\/p>\n<p>Kubernetes verwendet 'Liveness'- und 'Readiness'-Probes, um zu \u00fcberpr\u00fcfen, ob Ihre Pods ordnungsgem\u00e4\u00df funktionieren. Wenn der Liveness-Check fehlschl\u00e4gt, stoppt Kubernetes diesen Container und startet ihn automatisch neu, sofern die Neustart-Richtlinie entsprechend konfiguriert ist. Wenn der Readiness-Check fehlschl\u00e4gt, isoliert Kubernetes diesen Pod von der Bearbeitung von Anfragen. In solchen F\u00e4llen ist also kein manuelles Eingreifen mehr erforderlich, was ein gro\u00dfer Vorteil ist. <\/p>\n<p><i><b>Rollout von Updates<\/b><\/i><\/p>\n<p>StatefulSets unterst\u00fctzen automatische Updates: Bei Wahl der RollingUpdate-Strategie wird jeder Kafka-Pod nacheinander aktualisiert. So k\u00f6nnen Ausfallzeiten auf null reduziert werden.<\/p>\n<p><i><b>Skalierung<\/b><\/i><\/p>\n<p>Das Skalieren des Kafka-Clusters ist eine herausfordernde Aufgabe. Allerdings ist es in Kubernetes sehr einfach, Pods auf eine bestimmte Anzahl von Replikaten zu skalieren, was bedeutet, dass Sie deklarativ so viele Kafka-Broker definieren k\u00f6nnen, wie Sie m\u00f6chten. Die schwierigste Aufgabe in diesem Fall ist die Neuzuweisung der Partitionen nach dem Hochskalieren oder vor dem Herunterskalieren. Auch hierbei kann Ihnen Kubernetes helfen.<\/p>\n<p><i><b>Administration<\/b><\/i><\/p>\n<p>Die Aufgaben, die mit der Administration Ihres Kafka-Clusters verbunden sind, insbesondere das Erstellen von Topics und das Neuzuordnen von Partitionen, k\u00f6nnen mit den vorhandenen Shell-Skripten \u00fcber die Befehlszeilenschnittstelle in Ihren Pods durchgef\u00fchrt werden. Diese L\u00f6sung ist jedoch nicht besonders elegant. Strimzi unterst\u00fctzt die Verwaltung von Topics \u00fcber einen anderen Operator. Hier gibt es noch Verbesserungsbedarf.<\/p>\n<p><i><b>Backup und Wiederherstellung<\/b><\/i><\/p>\n<p>Die Verf\u00fcgbarkeit von Kafka h\u00e4ngt nun auch von der Verf\u00fcgbarkeit von Kubernetes ab. Wenn Ihr Kubernetes-Cluster ausf\u00e4llt, wird im schlimmsten Fall auch der Kafka-Cluster ausfallen. Murphy's Gesetz besagt, dass dies zwangsl\u00e4ufig geschehen wird und Sie Daten verlieren werden. Um das Risiko dieser Art zu verringern, sollten Sie ein durchdachtes Backup-Konzept entwickeln. Sie k\u00f6nnen MirrorMaker verwenden, eine andere Option besteht darin, daf\u00fcr S3 zu nutzen, wie in diesem <noindex><a rel=\"nofollow\" href=\"https:\/\/jobs.zalando.com\/tech\/blog\/backing-up-kafka-zookeeper\/\">Beitrag<\/a><\/noindex> von Zalando.<\/p>\n<h4>Fazit<\/h4>\n<p>\nBei der Arbeit mit kleinen oder mittleren Kafka-Clustern ist es auf jeden Fall sinnvoll, Kubernetes zu verwenden, da es zus\u00e4tzliche Flexibilit\u00e4t bietet und die Arbeit mit Operatoren erleichtert. Wenn Sie sehr strenge nichtfunktionale Anforderungen in Bezug auf Latenz und\/oder Durchsatz haben, sollten Sie m\u00f6glicherweise eine andere Bereitstellungsoption in Betracht ziehen.<br \/>\n<br \/>Quelle: <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.1.1 - 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\/de\/blog\/administrirovanie\/kafka-na-kubernetes-eto-horosho\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.1.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"de_DE\" \/>\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\/de\/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\udd47Ist Kafka auf Kubernetes gut? | ProHoster","description":"Willkommen, Habr! Zu meiner Zeit haben wir als erste das Thema in den russischen Markt eingef\u00fchrt","canonical_url":"https:\/\/prohoster.info\/de\/blog\/administrirovanie\/kafka-na-kubernetes-eto-horosho","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"de_DE","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\/de\/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\/de\/wp-json\/wp\/v2\/posts\/36822","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/comments?post=36822"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/posts\/36822\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/media\/27586"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/media?parent=36822"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/categories?post=36822"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/tags?post=36822"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}