【问题标题】:HPA using Kafka Exporter in on premise Kubernetes cluster在本地 Kubernetes 集群中使用 Kafka Exporter 的 HPA
【发布时间】:2019-11-06 18:59:05
【问题描述】:

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

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

在 GCP 中同样如此,我们使用了堆栈驱动程序,并且实现就像一个魅力。但是,我们在本地设置中遇到了困难,因为堆栈驱动程序需要被 Prometheus 替换

【问题讨论】:

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


    【解决方案1】:

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

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

    【讨论】:

    • 感谢您的帮助,有没有博客可以完整地解释实现?
    • itnext.io/… 例如
    【解决方案2】:

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

    1. 我将 kafka-exporter 容器作为 sidecar 部署到了我的 pod 想扩大规模。我发现 HPA 扩展了它获得的 pod 指标来自。
    2. 我使用 annotations 让 Prometheus 使用 exporter 从 pod 中抓取指标。

    3. 然后我验证了 kafka-exporter 指标正在进入 Prometheus。如果它不存在,您将无法进一步前进。

    4. 我使用helm chart 部署了prometheus adapter。适配器会将 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的完整指南

    如果您有更多问题,请发表评论

    【讨论】:

      猜你喜欢
      • 2020-01-18
      • 2017-06-11
      • 2019-09-27
      • 2023-02-24
      • 2020-11-17
      • 2020-10-30
      • 2015-11-29
      • 2023-03-25
      • 1970-01-01
      相关资源
      最近更新 更多