在不使用 Heapster 的情况下,有没有办法收集有关 Kubernetes 集群中节点的 CPU 或磁盘等指标?
Heapster 首先是如何收集这些指标的?
Kubernetes监控在文档中有详细介绍here http://kubernetes.io/v1.1/docs/user-guide/monitoring.html,但这主要涵盖使用 heapster 的工具。
节点特定信息通过 cAdvisor UI 公开,可通过端口 4194 访问(请参阅下面的命令以通过代理 API 访问它)。
Heapster 向 kubelet 查询服务的统计信息<kubelet address>:10255/stats/
(其他端点可以在代码中找到here https://github.com/kubernetes/kubernetes/blob/release-1.1/pkg/kubelet/server.go#L971).
尝试这个:
$ 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
...
请注意,这些端点没有记录,因为它们仅供内部使用(和调试),并且将来可能会发生变化(我们最终希望提供更稳定的版本化端点)。
Update:
从 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
...
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)