我的用例是让 kubernetes pod 的指标每 2 秒可供使用一次。需要在此时间间隔轮询 Pod 以维护健康的控制平面(确定可能阻塞的 Pod 并避免将流量路由到这些端点)。
我现在正在使用 metrics-server,但它并不最适合我的用例。我在这里看到了下面的注释。
Metrics Server 不适用于非自动缩放目的。例如,不要使用它来将指标转发给监控解决方案,或作为监控解决方案指标的来源。在这种情况下,请直接从 Kubelet /metrics/resource 端点收集指标。
多久抓取一次指标?默认 60 秒,可以使用 metric-resolution 标志进行更改。我们不建议将值设置为低于 15s,因为这是 Kubelet 计算的指标的分辨率。
- 应该如何直接使用 kubelet 指标端点?我遇到的所有示例 use
metrics.k8s.io
。 - 另一种方法是
/sys/fs/cgroup/cpu/cpuacct.usage
直接从 docker 容器中读取数据,但需要有一个聚合层。应该如何设计这个统计聚合层?
还有其他方法吗?解决我的要求的最佳推荐方法是什么?谢谢。