在Kubernetes中注册多个自定义指标API

时间:2018-10-17 13:43:45

标签: kubernetes prometheus

TL; DR我可以注册多个API以在k8s中提供自定义指标吗?

我们有一个多租户集群-在不同的名称空间中有不同的部署,并且每个都有自己的监视解决方案(使用Prometheus)

我们希望每个命名空间都能够使用HPA扩展其自身命名空间中Prometheus实例的自定义指标。

我们在开发环境中使用Prometheus适配器(https://github.com/DirectXMan12/k8s-prometheus-adapter)配置了自定义指标,并且可与以下已部署的作品一起使用:

  • 角色+绑定
  • Prometheus适配器+配置+服务(在命名空间中)
  • 一个名为apiservice.apiregistration.k8s.io的{​​{1}},指向命名空间中的服务

v1beta1.custom.metrics.k8s.io不会放在命名空间中,并且是全局的-命名必须为APIService,这意味着我们只能将单个prometheus用于自定义指标-这破坏了我们的用例。

有什么主意如何将多个服务注册为custom_metrics的API?或另一种方式?

1 个答案:

答案 0 :(得分:0)

因此,我不确定这是否是最好的答案-等待社区回应后再说-但这绝对是答案。

您似乎无法为单个API注册多个服务-因此答案是将数据汇总到单个API中。

此选项包括:

  1. 联合Prometheus =抓取每个Prometheus的/federated端点,并使用该端点来服务自定义缩放指标。 (https://prometheus.io/docs/prometheus/latest/federation/

  2. Thanos-(https://github.com/improbable-eng/thanos)可能用于生产的初期阶段-因此,这个让人有些眼花ish乱的选择可能是一个-但是Thanos在每个Prometheus的顶部都给了我一个统一的查询层,我可以将适配器连接到。非常整洁-漂亮的项目-值得一试;