{"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\/fr\/blog\/administrirovanie\/kafka-na-kubernetes-eto-horosho","title":{"rendered":"Kafka sur Kubernetes \u2014 est-ce une bonne chose ?","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Bienvenue, Habr !<\/p>\n<p>Nous avons \u00e9t\u00e9 les premiers \u00e0 introduire le th\u00e8me sur le march\u00e9 russe <noindex><a rel=\"nofollow\" href=\"https:\/\/www.piter.com\/collection\/all\/product\/apache-kafka-potokovaya-obrabotka-i-analiz-dannyh\">Kafka<\/a><\/noindex> et nous continuons <noindex><a rel=\"nofollow\" href=\"https:\/\/www.piter.com\/product_by_id\/132649774\">\u00e0 surveiller<\/a><\/noindex> son d\u00e9veloppement. En particulier, nous avons trouv\u00e9 int\u00e9ressant le sujet de l'interaction entre Kafka et <noindex><a rel=\"nofollow\" href=\"https:\/\/www.piter.com\/product_by_id\/125705747\">Kubernetes<\/a><\/noindex>. Un article g\u00e9n\u00e9ral (et plut\u00f4t prudent) <noindex><a rel=\"nofollow\" href=\"https:\/\/www.confluent.io\/blog\/apache-kafka-kubernetes-could-you-should-you\">article<\/a><\/noindex> sur ce sujet a \u00e9t\u00e9 publi\u00e9 sur le blog de la soci\u00e9t\u00e9 Confluent en octobre dernier, \u00e9crit par Gwen Shapira. Aujourd'hui, nous souhaitons attirer votre attention sur un article plus r\u00e9cent, d'avril, de Johann Gyger, qui, bien qu'il ait pos\u00e9 une question dans le titre, traite le sujet de mani\u00e8re plus concr\u00e8te, accompagnant le texte de liens int\u00e9ressants. Pardonnez-nous cette traduction libre de \u00ab chaos monkey \u00bb, si vous le pouvez !<\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/piter\/blog\/462257\/\"><img decoding=\"async\" alt=\"Kafka sur Kubernetes \u2014 est-ce une bonne chose ?\" 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>Introduction<\/h4>\n<p>\nKubernetes est destin\u00e9 \u00e0 fonctionner avec des charges de travail sans \u00e9tat. En g\u00e9n\u00e9ral, ces charges de travail se pr\u00e9sentent sous forme d'architecture \u00e0 microservices, elles sont l\u00e9g\u00e8res, se pr\u00eatent bien \u00e0 la scalabilit\u00e9 horizontale, ob\u00e9issent aux principes des applications en 12 facteurs, permettent de travailler avec des disjoncteurs (circuit breakers) et des chaos monkeys.<\/p>\n<p>Kafka, de l'autre c\u00f4t\u00e9, agit essentiellement comme une base de donn\u00e9es distribu\u00e9e. Ainsi, lors de son utilisation, vous devez g\u00e9rer l'\u00e9tat, qui est beaucoup plus lourd qu'un microservice. Kubernetes prend en charge les charges de travail avec \u00e9tat, mais, comme l'indique Kelsey Hightower dans ses deux tweets, il faut les manipuler avec pr\u00e9caution :<\/p>\n<blockquote><p>Certains pensent que si l'on d\u00e9ploie Kubernetes sur une charge de travail avec \u00e9tat, cela devient une base de donn\u00e9es compl\u00e8tement g\u00e9r\u00e9e, capable de rivaliser avec RDS. Ce n'est pas le cas. Peut-\u00eatre qu'avec suffisamment d'efforts, en ajoutant des composants suppl\u00e9mentaires et en engageant une \u00e9quipe d'ing\u00e9nieurs SRE, il serait possible de construire une RDS sur Kubernetes.<\/p><\/blockquote>\n<blockquote><p>Je recommande toujours d'exercer une extr\u00eame prudence lors du d\u00e9ploiement de charges de travail avec \u00e9tat sur Kubernetes. La plupart de ceux qui se demandent si \u00ab je peux ex\u00e9cuter des charges de travail avec \u00e9tat sur Kubernetes \u00bb n'ont pas suffisamment d'exp\u00e9rience avec Kubernetes et souvent pas avec la charge de travail en question.<\/p><\/blockquote>\n<p> Alors, faut-il lancer Kafka sur Kubernetes ? Une question inverse est : Kafka fonctionnera-t-il mieux sans Kubernetes ? C'est pourquoi je veux souligner dans cet article comment Kafka et Kubernetes se compl\u00e8tent, et quels pi\u00e8ges peuvent se pr\u00e9senter lors de leur combinaison.<\/p>\n<h4>Temps d'ex\u00e9cution<\/h4>\n<p>\nParlons d'une chose fondamentale : l'environnement d'ex\u00e9cution tel quel.<\/p>\n<p><i><b>Processus<\/b><\/i><\/p>\n<p>Les courtiers Kafka sont pratiques pour travailler avec le CPU. TLS peut introduire certains co\u00fbts. Cela dit, les clients Kafka peuvent solliciter davantage le CPU s'ils utilisent le chiffrement, mais cela n'affecte pas les courtiers.<\/p>\n<p><i><b>M\u00e9moire<\/b><\/i><\/p>\n<p>Les courtiers Kafka consomment de la m\u00e9moire. La taille de la m\u00e9moire heap JVM est g\u00e9n\u00e9ralement limit\u00e9e \u00e0 4-5 Go, mais vous aurez \u00e9galement besoin de beaucoup de m\u00e9moire syst\u00e8me, car Kafka utilise activement le cache de pages. Dans Kubernetes, d\u00e9finissez correctement les limites des conteneurs sur les ressources et les demandes.<\/p>\n<p><i><b>Stockage de donn\u00e9es<\/b><\/i><\/p>\n<p>Le stockage de donn\u00e9es dans des conteneurs est \u00e9ph\u00e9m\u00e8re \u2013 les donn\u00e9es sont perdues lors du red\u00e9marrage. Pour les donn\u00e9es de Kafka, vous pouvez utiliser un volume, et l'effet sera similaire : les donn\u00e9es de votre courtier seront perdues apr\u00e8s l'arr\u00eat. Vos messages peuvent quand m\u00eame \u00eatre conserv\u00e9s sur d'autres courtiers en tant que r\u00e9pliques. Donc, apr\u00e8s le red\u00e9marrage, le courtier en panne doit d'abord r\u00e9pliquer toutes les donn\u00e9es, et ce processus peut prendre un certain temps. <code>emptyDir<\/code>C'est pourquoi il est recommand\u00e9 d'utiliser un stockage de donn\u00e9es persistant. Qu'il s'agisse d'un stockage persistant non local avec un syst\u00e8me de fichiers XFS ou, plus pr\u00e9cis\u00e9ment, ext4. N'utilisez pas NFS. Je vous pr\u00e9viens. NFS versions v3 ou v4 ne fonctionneront pas. En r\u00e9sum\u00e9, le courtier Kafka s'arr\u00eatera s'il ne peut pas supprimer le r\u00e9pertoire contenant les donn\u00e9es en raison d'un probl\u00e8me de 'renommages stupides', probl\u00e9matique sous NFS. Si je ne vous ai pas encore convaincu, lisez tr\u00e8s attentivement <\/p>\n<p>cet article. <noindex><a rel=\"nofollow\" href=\"https:\/\/sbg.technology\/2018\/07\/10\/kafka-nfs\/\">Le stockage de donn\u00e9es doit \u00eatre non local, afin que Kubernetes puisse choisir plus efficacement un nouveau n\u0153ud apr\u00e8s un red\u00e9marrage ou une relocalisation.<\/a><\/noindex>.<\/p>\n<p><i><b>R\u00e9seau<\/b><\/i><\/p>\n<p>Comme pour la plupart des syst\u00e8mes distribu\u00e9s, la performance de Kafka d\u00e9pend fortement du fait que les latences r\u00e9seau soient minimales et la bande passante maximale. N'essayez pas de placer tous les courtiers sur le m\u00eame n\u0153ud, car cela r\u00e9duira la disponibilit\u00e9. Si un n\u0153ud Kubernetes \u00e9choue, l'ensemble du cluster Kafka \u00e9chouera \u00e9galement. \u00c9vitez \u00e9galement de r\u00e9partir le cluster Kafka sur plusieurs centres de donn\u00e9es. Il en va de m\u00eame pour le cluster Kubernetes. Un bon compromis dans ce cas est de choisir diff\u00e9rentes zones de disponibilit\u00e9.<\/p>\n<h4>Configuration<\/h4>\n<p>\n<i><b>Manifestes standard<\/b><\/i><\/p>\n<p>Le site de Kubernetes dispose d'un <noindex><a rel=\"nofollow\" href=\"https:\/\/kubernetes.io\/docs\/tutorials\/stateful-application\/zookeeper\/\">tr\u00e8s bon guide<\/a><\/noindex> sur la configuration de ZooKeeper \u00e0 l'aide de manifestes. \u00c9tant donn\u00e9 que ZooKeeper fait partie de Kafka, c'est un bon point de d\u00e9part pour se familiariser avec les concepts de Kubernetes qui s'appliquent ici. Une fois que vous les aurez compris, vous pourrez utiliser les m\u00eames concepts avec le cluster Kafka.<\/p>\n<ul>\n<li><i>Sous<\/i>: un pod est l'unit\u00e9 d\u00e9ployable minimale dans Kubernetes. Un pod contient votre charge de travail et correspond \u00e0 un processus dans votre cluster. Un pod peut contenir un ou plusieurs conteneurs. Chaque serveur ZooKeeper dans l'ensemble et chaque courtier dans le cluster Kafka fonctionneront dans un pod distinct.<\/li>\n<li><i>StatefulSet<\/i>: un StatefulSet est un objet Kubernetes qui g\u00e8re plusieurs charges de travail \u00e0 \u00e9tat, et ces charges n\u00e9cessitent de la coordination. Les StatefulSets offrent des garanties concernant le partage d'ordre des pods et leur unicit\u00e9.<\/li>\n<li><i>Services sans t\u00eate<\/i>: les services permettent de d\u00e9coupler les pods des clients \u00e0 l'aide d'un nom logique. Kubernetes s'occupe alors de l'\u00e9quilibrage de charge. Cependant, lors des op\u00e9rations avec des charges de travail \u00e0 \u00e9tat, comme avec ZooKeeper et Kafka, les clients doivent communiquer avec une instance sp\u00e9cifique. C'est ici que les services sans t\u00eate sont utiles : dans ce cas, le client aura toujours un nom logique, mais il ne sera pas n\u00e9cessaire de s'adresser directement au pod. <\/li>\n<li><i>Volume pour le stockage \u00e0 long terme<\/i>: de tels volumes sont n\u00e9cessaires pour la configuration de stockage \u00e0 long terme de blocs non locaux, comme mentionn\u00e9 ci-dessus.<\/li>\n<\/ul>\n<p>\nSur <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/Yolean\/kubernetes-kafka\">Yolean<\/a><\/noindex> fournit un ensemble complet de manifestes qui facilitent le d\u00e9marrage avec Kafka sur Kubernetes.<\/p>\n<p><i><b>Diagrammes Helm<\/b><\/i><\/p>\n<p>Helm est un gestionnaire de paquets pour Kubernetes, comparable aux gestionnaires de paquets pour les syst\u00e8mes d'exploitation comme yum, apt, Homebrew ou Chocolatey. Il facilite l'installation de paquets logiciels pr\u00e9d\u00e9finis, d\u00e9crits dans les graphiques Helm. Un graphique Helm bien con\u00e7u simplifie une t\u00e2che complexe : comment configurer correctement tous les param\u00e8tres pour utiliser Kafka sur Kubernetes. Il existe plusieurs graphiques Kafka : le officiel se trouve <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/helm\/charts\/tree\/master\/incubator\/kafka\">en \u00e9tat d'incubation<\/a><\/noindex>, il y en a un de <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/confluentinc\/cp-helm-charts\/tree\/master\/charts\/cp-kafka\">Confluent<\/a><\/noindex>, un autre de <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/bitnami\/charts\/tree\/master\/bitnami\/kafka\">Bitnami<\/a><\/noindex>.<\/p>\n<p><i><b>Les op\u00e9rateurs<\/b><\/i><\/p>\n<p>\u00c9tant donn\u00e9 que Helm pr\u00e9sente certains inconv\u00e9nients, un autre outil conna\u00eet un grand succ\u00e8s : les op\u00e9rateurs Kubernetes. Un op\u00e9rateur ne se contente pas d'emballer des logiciels pour Kubernetes, mais vous permet \u00e9galement de d\u00e9ployer ces logiciels et de les g\u00e9rer.<\/p>\n<p>Dans la liste <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/operator-framework\/awesome-operators\">des op\u00e9rateurs impressionnants<\/a><\/noindex> deux op\u00e9rateurs pour Kafka sont mentionn\u00e9s. L'un d'eux est <noindex><a rel=\"nofollow\" href=\"https:\/\/strimzi.io\/\">Strimzi<\/a><\/noindex>. Avec Strimzi, il est facile de mettre en place un cluster Kafka en quelques minutes. Pour la plupart, aucune configuration n'est n\u00e9cessaire, de plus, l'op\u00e9rateur offre certaines fonctionnalit\u00e9s int\u00e9ressantes, comme le chiffrement TLS de type \u00ab point \u00e0 point \u00bb \u00e0 l'int\u00e9rieur du cluster. Confluent fournit \u00e9galement <noindex><a rel=\"nofollow\" href=\"https:\/\/www.confluent.io\/confluent-operator\/\">son propre op\u00e9rateur<\/a><\/noindex>.<\/p>\n<p><b>Performance<\/b><\/p>\n<p>Il est tr\u00e8s important de tester les performances en fournissant \u00e0 votre instance Kafka install\u00e9e des points de contr\u00f4le. De tels tests peuvent vous aider \u00e0 identifier d'\u00e9ventuels goulets d'\u00e9tranglement avant que les probl\u00e8mes ne surviennent. Heureusement, Kafka propose d\u00e9j\u00e0 deux outils pour tester les performances : <code>kafka-producer-perf-test.sh<\/code> et <code>kafka-consumer-perf-test.sh<\/code>. Assurez-vous de les utiliser activement. Pour r\u00e9f\u00e9rence, vous pouvez vous r\u00e9f\u00e9rer aux r\u00e9sultats d\u00e9crits par <noindex><a rel=\"nofollow\" href=\"https:\/\/engineering.linkedin.com\/kafka\/benchmarking-apache-kafka-2-million-writes-second-three-cheap-machines\">ce post<\/a><\/noindex> Jay Kreps, ou vous orienter vers <noindex><a rel=\"nofollow\" href=\"https:\/\/medium.com\/@stephane.maarek\/an-honest-review-of-aws-managed-apache-kafka-amazon-msk-94b1ff9459d8\">cet aper\u00e7u<\/a><\/noindex> Amazon MSK par St\u00e9phane Maarek.<\/p>\n<h4>Op\u00e9rations<\/h4>\n<p>\n<i><b>Surveillance<\/b><\/i><\/p>\n<p>La transparence dans le syst\u00e8me est tr\u00e8s importante - sinon, vous ne comprendrez pas ce qui se passe. Aujourd'hui, il existe un solide ensemble d'outils permettant le suivi bas\u00e9 sur des m\u00e9triques de style cloud-native. Deux outils populaires pour cela sont Prometheus et Grafana. Prometheus peut collecter des m\u00e9triques de tous les processus Java (Kafka, Zookeeper, Kafka Connect) \u00e0 l'aide de l'exportateur JMX - de la mani\u00e8re la plus simple. Si vous ajoutez les m\u00e9triques cAdvisor, vous serez en mesure de disposer d'une image plus compl\u00e8te des ressources utilis\u00e9es dans Kubernetes.<\/p>\n<p>Strimzi propose un exemple tr\u00e8s pratique de tableau de bord Grafana pour Kafka. Il visualise les m\u00e9triques cl\u00e9s, comme les secteurs non r\u00e9pliqu\u00e9s ou ceux qui sont hors ligne. Tout y est tr\u00e8s clair. Ces m\u00e9triques sont compl\u00e9t\u00e9es par des informations sur l'utilisation des ressources et la performance, ainsi que des indicateurs de stabilit\u00e9. Ainsi, vous obtenez une surveillance de base du cluster Kafka sans effort !<\/p>\n<p><img decoding=\"async\" alt=\"Kafka sur Kubernetes \u2014 est-ce une bonne chose ?\" src=\"\/wp-content\/uploads\/2019\/08\/65ab468f7ebc0f376796990e41c62a48.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nSource : <noindex><a rel=\"nofollow\" href=\"https:\/\/strimzi.io\/docs\/master\/#kafka_dashboard\">strimzi.io\/docs\/master\/#kafka_dashboard<\/a><\/noindex><\/p>\n<p>Il serait judicieux de compl\u00e9ter cela par une surveillance des clients (m\u00e9triques pour les consommateurs et producteurs), ainsi que par une surveillance de la latence (pour cela, il y a <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/linkedin\/Burrow\">Burrow<\/a><\/noindex>) et une surveillance compl\u00e8te \u2013 pour cela, utilisez <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/linkedin\/kafka-monitor\">Kafka Monitor<\/a><\/noindex>.<\/p>\n<p><i><b>Journalisation<\/b><\/i><\/p>\n<p>La journalisation est une autre t\u00e2che essentielle. Assurez-vous que tous les conteneurs de votre installation Kafka enregistrent des logs dans <code>stdout<\/code> et <code>stderr<\/code>, et veillez \u00e0 ce que votre cluster Kubernetes agr\u00e9ge tous les logs dans une infrastructure de journalisation centrale, comme <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>V\u00e9rification de la fonctionnalit\u00e9<\/b><\/i><\/p>\n<p>Kubernetes utilise des probes de \u00ab vivacit\u00e9 \u00bb (liveness) et de disponibilit\u00e9 (readiness) pour v\u00e9rifier si vos pods fonctionnent correctement. Si la v\u00e9rification de vivacit\u00e9 \u00e9choue, Kubernetes arr\u00eatera ce conteneur, puis le red\u00e9marrera automatiquement si la politique de red\u00e9marrage est d\u00e9finie en cons\u00e9quence. Si la v\u00e9rification de disponibilit\u00e9 \u00e9choue, Kubernetes isolera ce pod des requ\u00eates. Ainsi, dans de telles situations, aucune intervention manuelle n'est n\u00e9cessaire, ce qui est un grand avantage. <\/p>\n<p><i><b>D\u00e9ploiement des mises \u00e0 jour<\/b><\/i><\/p>\n<p>Les StatefulSet prennent en charge les mises \u00e0 jour automatiques : en choisissant la strat\u00e9gie RollingUpdate, chaque pod Kafka sera mis \u00e0 jour un par un. Cela permet de r\u00e9duire la dur\u00e9e des interruptions \u00e0 z\u00e9ro.<\/p>\n<p><i><b>Mise \u00e0 l\u2019\u00e9chelle<\/b><\/i><\/p>\n<p>La mise \u00e0 l'\u00e9chelle d'un cluster Kafka est une t\u00e2che complexe. Cependant, dans Kubernetes, il est tr\u00e8s simple de mettre \u00e0 l'\u00e9chelle des pods \u00e0 un certain nombre de r\u00e9plicas, ce qui signifie que vous pouvez d\u00e9finir de mani\u00e8re d\u00e9clarative autant de brokers Kafka que vous le souhaitez. Le plus difficile dans ce cas est la r\u00e9affectation des secteurs apr\u00e8s une mont\u00e9e en charge ou avant une r\u00e9duction de charge. Encore une fois, Kubernetes vous aidera avec cette t\u00e2che.<\/p>\n<p><i><b>Administration<\/b><\/i><\/p>\n<p>Les t\u00e2ches li\u00e9es \u00e0 l'administration de votre cluster Kafka, notamment la cr\u00e9ation de sujets et la r\u00e9affectation de partitions, peuvent \u00eatre effectu\u00e9es \u00e0 l'aide des scripts shell disponibles, en ouvrant l'interface de ligne de commande dans vos pods. Cependant, cette solution n'est pas tr\u00e8s \u00e9l\u00e9gante. Strimzi prend en charge la gestion des sujets via un autre op\u00e9rateur. Il y a encore des am\u00e9liorations \u00e0 apporter.<\/p>\n<p><i><b>Sauvegarde et restauration<\/b><\/i><\/p>\n<p>La disponibilit\u00e9 de Kafka d\u00e9pendra \u00e9galement de celle de Kubernetes. Si votre cluster Kubernetes tombe, dans le pire des cas, le cluster Kafka tombera aussi. Selon la loi de Murphy, cela se produira in\u00e9vitablement et vous perdrez des donn\u00e9es. Pour r\u00e9duire le risque, il est essentiel de bien r\u00e9fl\u00e9chir \u00e0 la strat\u00e9gie de sauvegarde. Vous pouvez utiliser MirrorMaker, une autre option consiste \u00e0 utiliser S3 comme d\u00e9crit dans ce <noindex><a rel=\"nofollow\" href=\"https:\/\/jobs.zalando.com\/tech\/blog\/backing-up-kafka-zookeeper\/\">article<\/a><\/noindex> de Zalando.<\/p>\n<h4>Conclusion<\/h4>\n<p>\nPour les petits ou moyens clusters Kafka, il est certainement judicieux d'utiliser Kubernetes, car cela offre une flexibilit\u00e9 suppl\u00e9mentaire et simplifie le travail avec les op\u00e9rateurs. Si vous faites face \u00e0 des exigences non fonctionnelles tr\u00e8s strictes concernant la latence et\/ou la bande passante, il serait peut-\u00eatre pr\u00e9f\u00e9rable d'envisager une autre option de d\u00e9ploiement.<br \/>\n<br \/>Source : <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.2.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\/fr\/blog\/administrirovanie\/kafka-na-kubernetes-eto-horosho\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.2.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"fr_FR\" \/>\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\/fr\/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 sur Kubernetes \u2014 c'est bien ? | ProHoster","description":"Bienvenue sur Habr ! \u00c0 l'\u00e9poque, nous avons \u00e9t\u00e9 les premiers \u00e0 introduire le sujet sur le march\u00e9 russe.","canonical_url":"https:\/\/prohoster.info\/fr\/blog\/administrirovanie\/kafka-na-kubernetes-eto-horosho","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"fr_FR","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\/fr\/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\/fr\/wp-json\/wp\/v2\/posts\/36822","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/comments?post=36822"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/posts\/36822\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/media\/27586"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/media?parent=36822"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/categories?post=36822"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/tags?post=36822"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}