首页 > 解决方案 > 如何使用 Java Api 从 Kubernetes 检索 pod 内存和 cpu 使用情况

问题描述

是否有 Java API 来检索 pod 的 CPU 和内存使用情况?我不是在寻找一个完整的监控解决方案,比如使用 Grafana 或 Prometheus 或不使用 kubectl top pod,而是想使用 Java API 检索当前使用情况。任何有关如何操作的示例或参考文档都会有很大帮助。

客户端库

https://kubernetes.io/docs/reference/using-api/client-libraries/

示例 - https://github.com/kubernetes-client/java#installation

类似的问题:

如何在 kubernetes 上获得 pod 的最大内存使用率和 cpu 使用率

来自度量服务器的 kubernetes Pod CPU 使用率(百分比)

谢谢。

标签: kubernetes

解决方案


您可以安装Metrics Server,然后通过 API 服务器直接向Resource Metrics API发出 HTTP 请求来获取 Pod 的资源使用情况:

GET /apis/metrics/v1alpha1/namespaces/{namespace}/pods/{pod}

Resource Metrics API 似乎没有包含在官方Java 客户端库中。因此,您可能必须手动发出 API 请求。


推荐阅读