Kubernetes 集群监控和自动扩容,使用 Telegraf 和 Kapacitor
By Nathan Haugo / 产品
2016 年 11 月 08 日
导航至
随着 Telegraf 和 Kapacitor 1.1 版本的发布,InfluxData 正在改进我们在维护和监控 Kubernetes 集群方面提供的易用性、指标深度和控制级别。自 v0.4 版本发布第一个版本的 Heapster 以来,InfluxDB 一直是 Kubernetes 监控的一部分,并且 InfluxDB 仍然是默认的数据接收器。
在过去的两年中,我们与用户合作,以充分利用他们的 Kubernetes 监控设置。不幸的是,Heapster 的输出从未经过特别好的调整,以充分利用 InfluxDB 的存储后端,这迫使我们的一些用户从数据存储中体验到比他们预期的更多的资源利用率。与此同时,Kubernetes 指标和监控方面的大部分新开发 并未与 Heapster 原生集成。因此,我们已与社区联系,以重新思考 Kubernetes 集群数据的收集和存储方式。在此过程中,我们发现了一些共同的主题:首先,似乎没有人致力于 Heapster 的长期未来;其次,人们在收集指标的推送与拉取模型上存在分歧,而 InfluxData 的理念是为两者提供支持;第三,由于目前没有 Kubernetes 指标的中心分发标准,用户不得不求助于多个来源,并且通常情况下,他们的数据视图不完整。最后,几乎每个人都希望能够使用当前提供的指标以外的指标来触发水平 Pod 自动扩缩器。
Telegraf
为了确保我们收集到尽可能丰富的指标集,我们花时间与许多当前的 Kubernetes 社区成员进行了交流,包括 Deis 的监控团队。他们为 Deis Workflow 预配置的监控解决方案需要 Heapster 提供的其他 Kubernetes 指标。这一点以及他们已经是 Telegraf 和 InfluxDB 用户的事实,激励他们创建了一个输入插件。他们非常友善地贡献了输入插件,该插件从 Kubernetes /stats/summary API 端点收集指标。此插件与指向 kube state metrics 的 Prometheus 插件 一起,为 Telegraf 提供了广泛的 Kubernetes 指标。将 Telegraf 作为守护程序集的一部分运行,使用户可以接收推送式指标交付,同时获得 拉取式 指标提供的许多相同优势。来自 Telegraf 的数据收集与 Heapster 相结合,使 InfluxDB 用户可以访问 Kubernetes 内部的关键指标。
Kapacitor
我们从社区听到的最常见的请求是希望能够轻松扩展其 Kubernetes 集群,并具有比水平 Pod 自动扩缩器提供的更大的灵活性。Kapacitor 1.1 提供了一种使用 InfluxDB 中存储的任何数据来调整副本集、部署和复制控制器大小的简便方法。我们将 Kubernetes 副本集大小调整逻辑添加到我们灵活的数据处理框架中,从而允许 Kapacitor 在向上或向下扩展 Pod 时考虑其他指标。例如,您可以根据页面请求扩展应用程序服务器,或根据队列深度扩展处理 Pod。
我们创建了一个 使用 Kapacitor 调整应用程序副本集大小的示例。请试用一下并告诉我们您的想法 - 我们始终对社区的反馈或代码贡献感兴趣。
下一步是什么
- 下载 适用于 TICK 技术栈的下载已在我们的“下载”页面上线
- 云端部署: 开始免费试用 InfluxDB Cloud ,它具有完全托管的集群、Kapacitor 和 Grafana。
- 在您的服务器上部署: 想在您的服务器上运行 InfluxDB 集群吗?试用 InfluxDB 企业版的 14 天免费试用版 InfluxDB Enterprise ,它具有直观的 UI,用于部署、监控和重新平衡集群,以及管理备份和恢复。
- 分享您的故事: 超过 100 家公司 分享了 InfluxDB 如何帮助他们取得成功的故事。提交您的客户评价,即可获得限量版连帽衫作为感谢。