Kubernetes:如何获取节点的磁盘/ CPU指标

adr*_*ian 11 kubernetes

不使用Heapster有没有办法收集有关Kubernetes集群中节点的CPU或磁盘指标?

Heapster如何首先收集这些指标?

Tim*_*air 20

Kubernetes监控在此处的文档中有详细说明,但主要涵盖使用heapster的工具.

特定于节点的信息通过cAdvisor UI公开,可以在端口4194上访问(请参阅下面的命令以通过代理API访问它).

Heapster向kubelet查询提供的统计信息<kubelet address>:10255/stats/(其他端点可在此处的代码中找到).

试试这个:

$ kubectl proxy &
Starting to serve on 127.0.0.1:8001
$ NODE=$(kubectl get nodes -o=jsonpath="{.items[0].metadata.name}")
$ curl -X "POST" -d '{"containerName":"/","subcontainers":true,"num_stats":1}' localhost:8001/api/v1/proxy/nodes/${NODE}:10255/stats/container
...
Run Code Online (Sandbox Code Playgroud)

请注意,这些端点没有记录,因为它们是供内部使用(和调试)的,并且可能在将来发生变化(我们最终希望提供更稳定的版本化端点).

更新:

从Kubernetes 1.2版开始,Kubelet导出一个"摘要"API,汇总来自所有Pod的统计数据:

$ kubectl proxy &
Starting to serve on 127.0.0.1:8001
$ NODE=$(kubectl get nodes -o=jsonpath="{.items[0].metadata.name}")
$ curl localhost:8001/api/v1/proxy/nodes/${NODE}:10255/stats/summary
...
Run Code Online (Sandbox Code Playgroud)

  • 我正在尝试获取单个pod容器的指标.我可以获得指标,但无法找到计算使用百分比的方法.是否有任何文件可以找到计算使用百分比的公式? (2认同)