首页 文章

如何通过API从Kubernetes中的Node中检索cpu使用情况?

提问于
浏览
5

我想使用Kubernetes API在我自己的Web应用程序中计算和显示节点特定的cpu使用率百分比 .

我需要与Kube UI和Cadvisor显示相同的信息,但我想使用Kubernetes API .

我在node-ip:10255 / stats下找到了一些cpu指标,其中包含时间戳,cpu用法:总数,用户和系统的大怪异数,我不明白 . 此外,CPU-Limit报告为1024 .

Kube UI如何计算CPU使用率,是否可以通过API执行相同的操作?

2 回答

  • 2

    如果您使用Kubernetes v1.2,则会有一个新的,更清晰的度量标准摘要API . 从发行说明: Kubelet exposes a new Alpha metrics API - /stats/summary in a user friendly format with reduced system overhead.

    您可以通过 <node-ip>:10255/stats/summarydetailed API objects is here访问 endpoints .

  • 3

    因此,通常在Kubernetes中收集CPU使用率指标的方式是使用cAdvisor https://github.com/google/cadvisor,它会查看cgroup以获取metircs,因此主要是CPU和一些内存指标 . 然后,cAdvisor可以将其数据放入指标数据库,如heapster,InfluxDB或prometheus . Kubernetes不直接处理指标,因此不会通过API公开它,但您可以使用指标DB . 此外,您可以使用pod中的其他容器来收集指标并将其放入指标数据库中 . 此外,您可以通过API获取资源配额,但不能使用 . 这个提议也可能对您有一些兴趣https://github.com/kubernetes/kubernetes/blob/release-1.2/docs/proposals/metrics-plumbing.md .

相关问题