【问题标题】:HPA using Kafka Exporter in on premise Kubernetes cluster在本地 Kubernetes 集群中使用 Kafka Exporter 的 HPA
【发布时间】:2019-11-06 18:59:05
【问题描述】:
【问题讨论】:
标签:
kubernetes
apache-kafka
kafka-consumer-api
kubernetes-hpa
【解决方案1】:
为了根据自定义指标进行扩展,Kubernetes 需要向 API 查询指标以检查这些指标。该 API 需要实现自定义指标接口。
所以对于 Prometheus,您需要设置一个 API,通过自定义指标 API 公开 Prometheus 指标。幸运的是,已经有一个adapter。
【解决方案2】:
当我使用来自 Kafka-exporter 的 Metrics 实现 Kubernetes HPA 时,我遇到了一些挫折,我通过以下方式解决了这些问题:
- 我将 kafka-exporter 容器作为 sidecar 部署到了我的 pod
想扩大规模。我发现 HPA 扩展了它获得的 pod
指标来自。
我使用 annotations 让 Prometheus 使用 exporter 从 pod 中抓取指标。
然后我验证了 kafka-exporter 指标正在进入 Prometheus。如果它不存在,您将无法进一步前进。
- 我使用helm chart 部署了prometheus adapter。适配器会将 Prometheus 的指标“翻译”成自定义指标
Api,它将使其对 HPA 可见。
- 我通过执行
kubectl get --raw /apis/custom.metrics.k8s.io/v1beta1 确保指标在 k8s 中可见
主节点。
- 我创建了一个具有匹配指标名称的 hpa。
这里是解释how to implement Kubernetes HPA using Metrics from Kafka-exporter的完整指南
如果您有更多问题,请发表评论