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
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.