如何使用nodejs获取kubernetes pod指标



我在当前项目中使用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(...);

最新更新