我想要在我的python程序中获得特定pod的cpu和内存使用情况。我尝试了heapster,但由于它处于弃用状态,我被迫使用metrics-server。metrics-server返回该命令执行时的cpu和内存使用情况。Heapster返回从pod创建时间到命令执行时间以及开始时间和结束时间内每分钟的指标列表。在开始和结束时间内,我们如何使用指标服务器?比如内存和cpu使用率?
有没有什么旗帜可以拿到呢?
我试过了-使用指标-服务器
kubectl get --raw /apis/metrics.k8s.io/v1beta1/namespace/<namespace>/pods/<podname>上面的命令返回指定实例当时的cpu和内存使用情况。
示例输出:slight_smile:
{“kind”:“PodMetrics”,“apiVersion”:“metrics.k8s.io/v1beta1”,
“metadata”:{“name”:“podname”,“namespace”:“default”,“selfLink”:"/apis/metrics.k8s.io/v1beta1/namespaces/default/pods/podname",
“creationTimestamp”:“2019-06-26T03:41:25Z”},“timestamp”:“2019-06-26T03:41:00Z”,“window”:“1m0s”,
“containers”:[{“name”:“cassandra”,“usage”:{“cpu”:“4m”,“memory”:“816388Ki”}}]}我也用curl命令尝试了同样的方法。
curl http://127.0.0.1:8001/apis/metrics.k8s.io/v1beta1/namespace/<namespace-name>/pods/<pod-name> -k这也会返回相同的..
我希望指标在开始时间和结束时间内。但这给出了当前时间的指标使用情况。
发布于 2019-07-31 02:41:07
通过metrics-server是不可能的,你只能得到当前使用的资源(see docs)。
要进行实际的监控,请查看Prometheus或similar services。
发布于 2019-08-09 15:12:09
我使用python中的kuberenetes客户端包在pod中执行kubectl命令,并使用‘threding’,收集了一段时间内的最大指标。
https://stackoverflow.com/questions/57238390
复制相似问题