在内部Kubernetes集群中使用Kafka Exporter的HPA

时间:2019-08-05 14:56:54

标签: kubernetes apache-kafka kafka-consumer-api kubernetes-hpa

我一直在尝试使用来自Kafka-exporter的Metrics实施Kubernetes HPA。 Hpa支持Prometheus,因此我们尝试将指标写入Prometheus实例。从那里开始,我们不清楚要执行的步骤。是否有文章会详细解释?

我关注了https://medium.com/google-cloud/kubernetes-hpa-autoscaling-with-kafka-metrics-88a671497f07

对于GCP中的

,我们使用了堆栈驱动程序,并且该实现的工作就像一个魅力。但是,我们正在努力进行内部设置,因为堆栈驱动程序需要用Prometheus代替

2 个答案:

答案 0 :(得分:1)

为了基于自定义指标进行扩展,Kubernetes需要查询API以获取指标以检查这些指标。该API需要实现自定义指标接口。

因此对于Prometheus,您需要设置一个通过自定义指标API公开Prometheus指标的API。幸运的是,已经有一个adapter

答案 1 :(得分:1)

当我使用来自Kafka-exporter的Metrics实施Kubernetes HPA时,遇到了一些挫折,我解决了以下问题:

  1. 我将kafka-exporter容器作为边车部署到了我的吊舱 想扩大规模。我发现HPA可以缩放获得的吊舱 指标来自。
  2. 我使用annotations来使Prometheus从带有导出程序的窗格中抓取指标。

  3. 然后,我验证了kafka-exporter指标已应用于Prometheus。如果不存在,您将无法继续前进。

  4. 我使用其prometheus adapter部署了helm chart。适配器会将Prometheus的指标“转换”为自定义指标 Api,这将使其对HPA可见。
  5. 我通过执行以下任一操作中的kubectl get --raw /apis/custom.metrics.k8s.io/v1beta1,确保指标在k8s中可见 主节点。
  6. 我用匹配的指标名称创建了一个hpa。

此处是介绍how to implement Kubernetes HPA using Metrics from Kafka-exporter

的完整指南

如果您还有其他问题,请发表评论