我在当前项目中使用nodejs kubernetes客户端@kubernetes/client-node,我想从pod收集指标(内存,网络,cpu)
现在在cli中我只需使用
kubectl top pods
or exec/sys/fs/cgroups/cpu/…
然而,我无法在npm包中找到正确的API或调用。不幸的是,文档只指向官方的API参考,不幸的是,在这种情况下,它对我没有帮助。
所以把这个问题归结起来就是。
我如何从使用node.js @kubernetes/client-node模块的pod获得指标?
GitHub存储库包含以下两个示例:
- top.js
- top_pods.js
主要部分:
const kc = new k8s.KubeConfig();
kc.loadFromDefault();
const k8sApi = kc.makeApiClient(k8s.CoreV1Api);
// node
k8s.topNodes(k8sApi).then(...);
// pods
const metricsClient = new k8s.Metrics(kc);
k8s.topPods(k8sApi, metricsClient).then(...);
k8s.topPods(k8sApi, metricsClient, "namespace").then(...);