node.js - 如何使用 nodejs 获取 kubernetes pod 指标
问题描述
我在当前项目中使用 nodejs kubernetes 客户端@kubernetes/client-node,我想从 pod 收集指标(内存、网络、cpu)
现在有了我会使用的cli
kubectl top pods
或执行 /sys/fs/cgroups/cpu/...
但是我无法在 npm 包中找到正确的 API 或调用。不幸的是,文档只指向官方 API 参考,不幸的是在这种情况下对我没有帮助。
因此,将问题归结为。
如何使用 node.js @kubernetes/client-node 模块从 pod 获取指标?
解决方案
GitHub 存储库包含以下两个示例:
关键部分:
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(...);
推荐阅读
- reactjs - 在组件上传播道具并使用打字稿在组件内部进行解构
- python - 当我尝试下载 StanfordNLP en 模型时,它给出了一个错误
- flask - 如何在烧瓶中使用正则表达式验证 REST api 参数?
- python - windows anaconda 环境在 jupyter notebook 中不起作用
- java - 没有IDE的Android apk项目从命令行
- javascript - 如何从 javascript id 值填充输入字段值?
- postgresql - 是否可以使用具有两个以上可能值的位图索引?
- c# - Xamarin 形成缓慢的计算
- database - 更新基于相同列值组合行的表
- html - 一个 div 与另一个重叠,屏幕尺寸减小