BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

如何在Kubernetes中管理和操作Kafka集群

| 作者 Srini Penchikala 关注 33 他的粉丝 ,译者 张兰月 关注 0 他的粉丝 发布于 2018年2月12日. 估计阅读时间: 4 分钟 | GMTC大前端的下一站,PWA、Web框架、Node等最新最热的大前端话题邀你一起共同探讨。

亲爱的读者:我们最近添加了一些个人消息定制功能,您只需选择感兴趣的技术主题,即可获取重要资讯的邮件和网页通知

看新闻很累?看技术新闻更累?试试下载InfoQ手机客户端,每天上下班路上听新闻,有趣还有料!

Amadeus公司平台解决方案架构师Nenad Bogojevic最近在北美2017 KubeCon和CloudNativeCon谈到如何在Kubernetes环境中运行和管理Kafka集群。

该公司将Kafka用于日志和事件收集以及作为流媒体平台。Kafka集群中的每一个代理(broker)都有一个身份,这个身份可以被用来寻找集群中的其他代理。代理同样需要一个数据库来存储分区日志。所以为Kafka配置一个持久卷非常重要,否则你便会丢失日志。

Nenad Bogojevic谈到如何使用Kubernetes ConfigMapCustomResource来分配和配置Kafka集群,并用它们来描述参数,比如名称、分区数、复制因子和主题(topic)属性如保存时间(以毫秒表示)等。它们能够帮助自动化主题的分配或反分配过程。它们同样能够确保开发和运营阶段以及集群重启时的配置一致性。

Bogojevic还谈到了如何使用Kubernetes StatefulSet特性来设置Kafka 和 ZooKeeper集群元素。Kubernetes StatefulSet特性提供了如下能力:

  • 稳定的pod身份
  • 稳定的存储
  • 有秩序的启动和关闭
  • 滚动更新

他们的解决方案架构包括Kafka和ZooKeeper Statefulset,其中Statefulset是作为一个无头服务(Headless Service)被运行的。同样,该架构还包括一个发现服务,客户端应用用它来发现集群中的Kafka节点。他谈到了节点选择器,它可以被用来在配置较好硬件(如SSD)的机器上安装实例,以及反关联特性,它可以被用来将实例分布到不同的物理机上。

他们的架构还有一个重要的组件,那就是Kubernetes的监控,监控组件可以被用来检测某个服务器是否准备就绪,并可以接受连接。监控是由JMXPrometheus这2个工具完成的。

Bogojevic讨论了Kafka操作算子,它可以被用来将站点可靠性工程师(SRE)和运营团队的领域知识转换成可执行的代码。他们将操作算子用于以下的组件:

  • Prometheus
  • Redis 集群
  • 工作流
  • Kafka

使用自动化脚本来创建Kafka 主题是非常好的实践。信息传送解决方案应该考虑采用“主题即代码”的方法。在操作Kafka集群主题时的最佳实践不止这些,还包括:

  • 确保主题存在于目标环境中
  • 确保主题在不再使用时被删除
  • 在不同的环境中采用同样的配置。
  • 根据可用的磁盘空间来配置保存时间
  • 为客户端配置证书
  • 将配置和需求作为代码来交付

在演讲结尾,Bogojevic谈到了执行Kafka升级的一些最佳实践,包括:将协议版本设置为目前的、一次只升级一个Kafka代理,然后才将协议版本设置为最新的。关于存储格式的最佳实践是,首先让客户使用最新的版本,然后再将格式版本升级为最新的。

你可以在CNCF YouTube 频道上找到Bogojevic名为“Kafka操作算子:如何在Kubernetes中管理和操作Kafka集群”的演讲视频。

查看英文原文Managing and Operating Kafka Clusters in Kubernetes


感谢冬雨对本文的审校。

给InfoQ中文站投稿或者参与内容翻译工作,请邮件至editors@cn.infoq.com。也欢迎大家通过新浪微博(@InfoQ@丁晓昀),微信(微信号:InfoQChina)关注我们。

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

OMG,operator翻译成操作算子? by Ren Ming

OMG, operator翻译成操作算子?

Re: OMG,operator翻译成操作算子? by Ding Alice

感谢反馈,经过核实是有算子这个译法,参见 《Kafka技术内幕》
www.ituring.com.cn/article/497584

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

2 讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT