我想使用Kubernetes API计算并显示我自己的Web应用程序中特定于节点的cpu使用率百分比。
我需要与Kube UI和Cadvisor显示相同的信息,但我想使用Kubernetes API。
我在node-ip:10255 / stats下找到了一些cpu指标,其中包含时间戳,cpu用法:总数,用户和系统的大怪异数字,我不明白。此外,CPU-Limit报告为1024。
Kube UI如何计算CPU使用率,是否可以通过API执行相同操作?
答案 0 :(得分:3)
如果您使用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/summary
和detailed API objects is here访问端点。
答案 1 :(得分:2)
因此,通常在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。