Get current resource usage of a pod in Kubernetes with Go client

后端 未结 3 1458
误落风尘
误落风尘 2021-02-06 07:45

The kubernetes go client has tons of methods and I can\'t find how I can get the current CPU & RAM usage of a specific (or all pods).

Can someone tell me what method

3条回答
  •  慢半拍i
    慢半拍i (楼主)
    2021-02-06 07:59

    The API you're looking for in new versions of Kubernetes (tested on mine as of 1.10.7) is the metrics.k8s.io/v1beta1 API route.

    You can see it locally if you run a kubectl proxy and check http://localhost:8001/apis/metrics.k8s.io/v1beta1/pods and /nodes on your localhost.

    I see where your confusion is though. At the time of writing, it does not look like the metrics/v1beta1 has a generated typed package (https://godoc.org/k8s.io/client-go/kubernetes/typed), and doesn't appear in the kubernetes.ClientSet object.

    You can hit all available endpoints directly though the rest.RestClient object, and just specify metrics/v1beta1 as the versionedAPIPath, which will be more work and less convenient than the nicely wrapped ClientSet, but I'm not sure how long it'll take before that API shows up in that interface.

提交回复
热议问题