{"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 eine gute Idee?","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Willkommen, Habr!<\/p>\n<p>Wir waren die Ersten, die 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 haben, und verfolgen weiterhin <noindex><a rel=\"nofollow\" href=\"https:\/\/www.piter.com\/product_by_id\/132649774\">seine Entwicklung. Besonders interessant fanden wir das Thema der Interaktion zwischen Kafka und<\/a><\/noindex> . Ein \u00dcberblick (und ziemlich vorsichtig) zu diesem Thema erschien bereits im Blog der Firma Confluent im Oktober letzten Jahres unter der Federf\u00fchrung von Gwen Shapiro. Heute m\u00f6chten wir Ihre Aufmerksamkeit auf einen neueren Artikel von Johann Gyger im April lenken, der, obwohl er nicht ohne Fragezeichen im Titel auskommt, das Thema in einem konkreteren Rahmen betrachtet und den Text mit interessanten Links erg\u00e4nzt. Bitte entschuldigen Sie uns die freie \u00dcbersetzung von \u201echaos monkey\u201c, wenn Sie k\u00f6nnen! <noindex><a rel=\"nofollow\" href=\"https:\/\/www.piter.com\/product_by_id\/125705747\">Kubernetes<\/a><\/noindex>Kubernetes ist f\u00fcr den Betrieb von zustandslosen Workloads konzipiert. Diese werden normalerweise in Form einer Mikroservice-Architektur dargestellt, sind leichtgewichtig, gut horizontal skalierbar, folgen den Prinzipien von 12-Factor-Apps, erm\u00f6glichen die Verwendung von automatischen Abschaltern (circuit breaker) und Chaosmonkeys. <noindex><a rel=\"nofollow\" href=\"https:\/\/www.confluent.io\/blog\/apache-kafka-kubernetes-could-you-should-you\">Artikel<\/a><\/noindex> Zu diesem Thema ver\u00f6ffentlichte das Unternehmen Confluent bereits im Oktober letzten Jahres einen Blogbeitrag von Gwen Shapiro. Heute m\u00f6chten wir Ihre Aufmerksamkeit auf einen neueren Artikel von Johann Gyger aus dem April lenken. Obwohl er in seinem Titel nicht ohne ein Fragezeichen auskommt, behandelt er das Thema mit einem konkreteren Ansatz und erg\u00e4nzt den Text mit interessanten Links. Bitte entschuldigen Sie unsere freie \u00dcbersetzung 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 eine gute Idee?\" 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 den Betrieb von zustandslosen Workloads konzipiert. In der Regel zeigen sich solche Workloads in Form von Microservice-Architekturen, die leichtgewichtig sind, sich gut horizontal skalieren lassen, den Prinzipien von 12-Faktor-Anwendungen entsprechen, den Einsatz von Circuit Breakern unterst\u00fctzen und mit Chaosmonkeys arbeiten.<\/p>\n<p>Kafka, der sich auf der anderen Seite befindet, fungiert im Wesentlichen als verteilte Datenbank. Daher m\u00fcssen Sie beim Arbeiten mit ihm den Zustand ber\u00fccksichtigen, der weitaus komplexer ist als bei einem Mikrodienst. Kubernetes unterst\u00fctzt zustandsbehaftete Workloads, aber wie Kelsey Hightower in zwei seiner Tweets anmerkt, sollte man mit ihnen vorsichtig umgehen:<\/p>\n<blockquote><p>Einige denken, dass, wenn man Kubernetes auf einen zustandsbehafteten Workload anwendet, es sich in eine vollst\u00e4ndig verwaltete Datenbank verwandelt, die mit RDS konkurrieren kann. Das ist nicht der Fall. Vielleicht, wenn man genug Aufwand betreibt, zus\u00e4tzliche Komponenten integriert und ein Team von SRE-Ingenieuren hinzuzieht, kann man RDS auf Kubernetes einrichten.<\/p><\/blockquote>\n<blockquote><p>Ich empfehle immer, beim Ausf\u00fchren zustandsbehafteter Workloads auf Kubernetes \u00e4u\u00dferst vorsichtig zu sein. Die meisten, die sich fragen: \"Kann ich zustandsbehaftete Workloads auf Kubernetes ausf\u00fchren?\", haben nicht gen\u00fcgend Erfahrung mit Kubernetes und oft auch nicht mit dem spezifischen Workload, nach dem sie fragen.<\/p><\/blockquote>\n<p> Sollte man Kafka also auf Kubernetes ausf\u00fchren? Eine Gegenfrage: W\u00fcrde Kafka besser ohne Kubernetes laufen? Deshalb m\u00f6chte ich in diesem Artikel betonen, wie Kafka und Kubernetes sich gegenseitig erg\u00e4nzen und welche Fallstricke bei ihrer Kombination auftreten k\u00f6nnen.<\/p>\n<h4>Laufzeit<\/h4>\n<p>\nLassen Sie uns \u00fcber eine grundlegende Sache sprechen \u2013 das Konzept der Laufzeitumgebung an sich.<\/p>\n<p><i><b>Prozess<\/b><\/i><\/p>\n<p>Kafka-Broker sind CPU-effizient. TLS kann einige Kosten verursachen. Gleichzeitig k\u00f6nnen Kafka-Clients die CPU st\u00e4rker belasten, wenn sie Verschl\u00fcsselung nutzen, doch dies hat keine Auswirkungen auf die Broker.<\/p>\n<p><i><b>Speicher<\/b><\/i><\/p>\n<p>Kafka-Broker verbrauchen viel RAM. Die JVM-Heap-Gr\u00f6\u00dfe sollte normalerweise auf 4\u20135 GB begrenzt werden, aber Sie ben\u00f6tigen auch viel Systemspeicher, da Kafka intensiv den Seiten-Cache nutzt. Stellen Sie in Kubernetes entsprechend Ressourcenlimits und -anforderungen f\u00fcr die Container ein.<\/p>\n<p><i><b>Datenspeicher<\/b><\/i><\/p>\n<p>Der Datenspeicher in Containern ist fl\u00fcchtig \u2013 Daten gehen beim Neustart verloren. F\u00fcr Kafka-Daten k\u00f6nnen Sie ein Volume verwenden. <code>emptyDir<\/code>, und der Effekt wird \u00e4hnlich sein: die Daten Ihres Brokers gehen nach der Beendigung verloren. Ihre Nachrichten k\u00f6nnen dennoch als Replikate bei anderen Brokern gespeichert bleiben. Daher muss der ausgefallene Broker nach dem Neustart als Erstes alle Daten replizieren, und dieser Prozess kann einige Zeit in Anspruch nehmen. <\/p>\n<p>Das ist der Grund, warum Sie einen langfristigen Datenspeicher verwenden sollten. Dies sollte ein nicht-lokales Langzeitdatenspeicher mit dem XFS-Dateisystem oder genauer gesagt, ext4 sein. Vermeiden Sie NFS. Ich habe gewarnt. NFS-Versionen v3 oder v4 werden nicht funktionieren. Kurz gesagt, der Kafka-Broker wird beendet, wenn er das Verzeichnis mit den Daten aufgrund von 'dummen Umbenennungen', die in NFS auftreten, nicht l\u00f6schen kann. Wenn ich Sie bis jetzt nicht \u00fcberzeugt habe, lesen Sie bitte <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 Relokation 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 Netzwerkverz\u00f6gerungen minimal und die Bandbreite maximal sind. Versuchen Sie nicht, alle Broker auf demselben Knoten zu platzieren, da dies die Verf\u00fcgbarkeit verringern kann. Wenn ein Kubernetes-Knoten ausf\u00e4llt, f\u00e4llt auch der gesamte Kafka-Cluster aus. Verteilen Sie den Kafka-Cluster auch nicht \u00fcber ganze Rechenzentren. Dasselbe gilt f\u00fcr den Kubernetes-Cluster. Ein guter Kompromiss in diesem Fall ist, verschiedene Verf\u00fcgbarkeitszonen zu w\u00e4hlen.<\/p>\n<h4>Konfiguration<\/h4>\n<p>\n<i><b>\u00dcbliche Manifeste<\/b><\/i><\/p>\n<p>Auf der Website von Kubernetes gibt es <noindex><a rel=\"nofollow\" href=\"https:\/\/kubernetes.io\/docs\/tutorials\/stateful-application\/zookeeper\/\">ein sehr gutes Handbuch<\/a><\/noindex> wie man ZooKeeper mit Manifesten konfiguriert. Da ZooKeeper Teil von Kafka ist, ist dies ein guter Ausgangspunkt, um sich mit den in Kubernetes verwendeten Konzepten vertraut zu machen. Wenn Sie dies verstanden haben, k\u00f6nnen Sie dieselben Konzepte auch f\u00fcr den Kafka-Cluster nutzen.<\/p>\n<ul>\n<li><i>Unter<\/i>: Ein Pod ist die kleinste implementierbare Einheit in Kubernetes. In einem Pod befindet sich Ihre Arbeitslast, w\u00e4hrend der Pod selbst dem Prozess in Ihrem Cluster entspricht. Ein Pod kann einen oder mehrere Container enthalten. Jeder ZooKeeper-Server in einem Ensemble und jeder Broker in einem Kafka-Cluster wird in einem eigenen Pod betrieben.<\/li>\n<li><i>StatefulSet<\/i>: Ein StatefulSet ist ein Kubernetes-Objekt, das mit mehreren zustandsbehafteten Arbeitslasten arbeitet, die Koordination erfordern. StatefulSets bieten Garantien hinsichtlich der Reihenfolge und der Einzigartigkeit der Pods.<\/li>\n<li><i>Headless-Dienste<\/i>: Dienste erm\u00f6glichen es, Pods von Clients \u00fcber einen logischen Namen zu trennen. Kubernetes \u00fcbernimmt in diesem Fall die Lastenverteilung. Bei der Arbeit mit zustandsbehafteten Arbeitslasten, wie bei ZooKeeper und Kafka, m\u00fcssen Clients jedoch mit einer bestimmten Instanz kommunizieren. Hier kommen die Headless-Dienste ins Spiel: In diesem Fall hat der Client zwar weiterhin einen logischen Namen, muss aber nicht direkt auf den Pod zugreifen. <\/li>\n<li><i>Volumen f\u00fcr die langfristige Speicherung<\/i>: Solche Volumes sind f\u00fcr die Konfiguration von nicht-lokalen Blockspeicherl\u00f6sungen erforderlich, die oben erw\u00e4hnt wurden.<\/li>\n<\/ul>\n<p>\nAuf <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/Yolean\/kubernetes-kafka\">Yolean<\/a><\/noindex> bietet eine umfassende Sammlung von Manifesten, die Ihnen den Einstieg mit Kafka auf Kubernetes erleichtern.<\/p>\n<p><i><b>Helm-Diagramme<\/b><\/i><\/p>\n<p>Helm ist ein Paketmanager f\u00fcr Kubernetes, vergleichbar mit Paketmanagern f\u00fcr Betriebssysteme wie yum, apt, Homebrew oder Chocolatey. Damit k\u00f6nnen Sie vorab definierte Softwarepakete installieren, die in Helm-Diagrammen beschrieben sind. Ein gut ausgew\u00e4hltes Helm-Diagramm vereinfacht die komplexe Aufgabe, wie man alle Parameter f\u00fcr die Nutzung von Kafka auf Kubernetes korrekt konfiguriert. Es gibt mehrere Kafka-Diagramme: das offizielle befindet sich <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/helm\/charts\/tree\/master\/incubator\/kafka\">im Inkubator<\/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>, und eines 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 Nachteile aufweist, gewinnt ein weiteres Tool an Popularit\u00e4t: Kubernetes-Operatoren. Ein Operator verpackt nicht nur Software f\u00fcr Kubernetes, sondern erm\u00f6glicht auch deren Bereitstellung und Verwaltung.<\/p>\n<p>In der Liste <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/operator-framework\/awesome-operators\">erstaunlicher 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 Strimzi ist es ein Kinderspiel, in wenigen Minuten ein Kafka-Cluster aufzusetzen. Praktisch keine Konfiguration ist notwendig, zudem bietet der Operator einige n\u00fctzliche Funktionen wie die End-to-End TLS-Verschl\u00fcsselung innerhalb des Clusters. Auch Confluent bietet <noindex><a rel=\"nofollow\" href=\"https:\/\/www.confluent.io\/confluent-operator\/\">seinen eigenen Operator<\/a><\/noindex>.<\/p>\n<p><b>Leistung<\/b><\/p>\n<p>. Es ist \u00e4u\u00dferst wichtig, die Leistung des installierten Kafka-Clusters mit Kontrollpunkten zu testen. Solche Tests helfen, potenzielle Engp\u00e4sse zu identifizieren, bevor Probleme auftreten. Gl\u00fccklicherweise stehen in Kafka bereits zwei Tools zur Verf\u00fcgung, um die Leistung zu testen: <code>kafka-producer-perf-test.sh<\/code> und <code>kafka-consumer-perf-test.sh<\/code>. Nutzen Sie diese aktiv. Zur Orientierung k\u00f6nnen Sie die Ergebnisse 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 nachlesen 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 von entscheidender Bedeutung \u2013 otherwise m\u00fcssen Sie verstehen, was darin geschieht. Heute stehen solide Werkzeuge zur Verf\u00fcgung, die Cloud-native-metrikbasierte \u00dcberwachung erm\u00f6glichen. Zwei beliebte Tools zu diesem Zweck sind Prometheus und Grafana. Prometheus kann Metriken von allen Java-Prozessen (Kafka, Zookeeper, Kafka Connect) ganz einfach mit dem JMX-Exporter sammeln. Wenn Sie die Metriken von cAdvisor hinzuf\u00fcgen, erhalten Sie ein vollst\u00e4ndigeres Bild davon, wie Ressourcen in Kubernetes genutzt werden.<\/p>\n<p>Strimzi bietet ein sehr benutzerfreundliches Grafana-Dashboard-Beispiel f\u00fcr Kafka. Es visualisiert wichtige Metriken, wie z.B. nicht replizierte Partitionen oder solche, die offline sind. Alles ist sehr klar. Diese Metriken werden durch Informationen \u00fcber Ressourcennutzung und Leistung sowie Stabilit\u00e4tsindikatoren erg\u00e4nzt. So erhalten Sie eine grundlegende \u00dcberwachung des Kafka-Clusters zum Nulltarif!<\/p>\n<p><img decoding=\"async\" alt=\"Ist Kafka auf Kubernetes eine gute Idee?\" 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>Das Ganze k\u00f6nnte durch die \u00dcberwachung von Clients (Metriken zu Verbrauchern und Produzenten) sowie durch die \u00dcberwachung der Latenzzeit erg\u00e4nzt werden (daf\u00fcr gibt es <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/linkedin\/Burrow\">Burrow<\/a><\/noindex>) und durch eine durchg\u00e4ngige \u00dcberwachung \u2013 verwenden Sie daf\u00fcr <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 grundlegende Aufgabe. Stellen Sie sicher, dass alle Container in Ihrer Kafka-Installation protokolliert werden, <code>stdout<\/code> und <code>stderr<\/code>und sorgen Sie daf\u00fcr, dass Ihr Kubernetes-Cluster alle Protokolle in einer zentralen Logging-Infrastruktur aggregiert, wie 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>\u00dcberpr\u00fcfung der Funktionsf\u00e4higkeit<\/b><\/i><\/p>\n<p>Kubernetes verwendet \u201eLiveness\u201c- und \u201eReadiness\u201c-Sonden, um zu \u00fcberpr\u00fcfen, ob Ihre Pods ordnungsgem\u00e4\u00df funktionieren. Wenn die Liveness-Pr\u00fcfung fehlschl\u00e4gt, beendet Kubernetes diesen Container und startet ihn automatisch neu, sofern die Restart-Policy entsprechend festgelegt ist. Bei einem Fehlschlag der Readiness-Pr\u00fcfung isoliert Kubernetes diesen Pod von eingehenden Anfragen. In solchen F\u00e4llen ist kein manuelles Eingreifen mehr erforderlich, was einen gro\u00dfen Vorteil darstellt. <\/p>\n<p><i><b>Rollout von Updates<\/b><\/i><\/p>\n<p>StatefulSets unterst\u00fctzen automatische Updates: Bei der Wahl der Strategie RollingUpdate wird jeder Kafka-Pod nacheinander aktualisiert. So kann die Dauer von Ausfallzeiten auf null reduziert werden.<\/p>\n<p><i><b>Skalierung<\/b><\/i><\/p>\n<p>Das Skalieren eines Kafka-Clusters ist eine anspruchsvolle Aufgabe. In Kubernetes hingegen ist es sehr einfach, Pods auf eine bestimmte Anzahl von Replikaten zu skalieren. Das bedeutet, dass Sie deklarativ so viele Kafka-Broker definieren k\u00f6nnen, wie Sie m\u00f6chten. Die gr\u00f6\u00dfte Herausforderung besteht in der Umverteilung der Partitionen nach einem Hochskalieren oder vor einem Herunterskalieren. Auch hier kann Ihnen Kubernetes helfen.<\/p>\n<p><i><b>Administration<\/b><\/i><\/p>\n<p>Aufgaben, die mit der Verwaltung Ihres Kafka-Clusters zusammenh\u00e4ngen, insbesondere die Erstellung von Topics und die Umverteilung von Partitionen, k\u00f6nnen durch die vorhandenen Shell-Skripte durchgef\u00fchrt werden, indem Sie die Befehlszeilenschnittstelle in Ihren Pods \u00f6ffnen. Diese L\u00f6sung ist jedoch nicht besonders elegant. Strimzi unterst\u00fctzt die Verwaltung von Topics durch 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 k\u00fcnftig auch von der Verf\u00fcgbarkeit von Kubernetes ab. F\u00e4llt Ihr Kubernetes-Cluster aus, wird im schlimmsten Fall auch der Kafka-Cluster ausfallen. Murphy's Gesetz besagt, dass dies zwangsl\u00e4ufig passieren wird, und Sie werden Daten verlieren. Um das Risiko zu minimieren, planen Sie ein robustes Backup-Konzept. Sie k\u00f6nnen MirrorMaker nutzen oder S3 f\u00fcr diese Zwecke einsetzen, wie in diesem beschrieben. <noindex><a rel=\"nofollow\" href=\"https:\/\/jobs.zalando.com\/tech\/blog\/backing-up-kafka-zookeeper\/\">haben wir erl\u00e4utert, wie wir standardisierte Kundenvirtualmaschinen vorbereiten, und am Beispiel unseres neuen Tarifs Ultralight f\u00fcr 120 Rubel gezeigt, wie wir ein standardm\u00e4\u00dfiges Abbild von Windows Server 2019 Core erstellt haben.<\/a><\/noindex> von Zalando.<\/p>\n<h4>Fazit<\/h4>\n<p>\nBei der Arbeit mit kleinen oder mittleren Kafka-Clustern ist der Einsatz von Kubernetes auf jeden Fall sinnvoll, da es zus\u00e4tzliche Flexibilit\u00e4t bietet und die Zusammenarbeit mit Operatoren erleichtert. Sollten Sie sehr strenge nicht-funktionale Anforderungen an Latenz und\/oder Durchsatz haben, k\u00f6nnte es sinnvoller sein, eine alternative Bereitstellungsmethode in Betracht zu 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 4.9.10 - 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 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\" \/>\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) 4.9.10\" \/>\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 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\" \/>\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! Wir waren damals die Ersten, die das Thema Kafka auf den russischen Markt gebracht haben und verfolgen weiterhin seine Entwicklung. Besonders interessant fanden wir die Interaktion zwischen Kafka und Kubernetes. Ein \u00dcberblick (und recht vorsichtiger) Artikel zu diesem Thema erschien bereits im Oktober letzten Jahres im Blog von Confluent, verfasst von Gwen Shapira. Heute m\u00f6chten wir","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 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","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"},"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}]}}