有没有Java的API来检索pod的CPU和内存使用情况?我不是在寻找一个完整的监控解决方案,比如使用Grafana或Prometheus或不使用kubectl top pod,而是想使用JavaAPI检索当前的使用情况。关于如何做的任何示例或参考留档都将有很大帮助。
客户端库
https://kubernetes.io/docs/reference/using-api/client-libraries/
示例-https://github.com/kubernetes-client/java#installation
类似问题:
如何在kubernetes上获得最大mem使用率和pod cpu使用率
来自指标服务器的库内 Pod CPU 使用率 (%)
谢谢。
您可以将Fabric8 java客户端用于Kubernates。
请参阅此链接以获取示例实现:
https://github . com/rohanKanojia/kubernetes-client/commit/d 6453 e 0 b 6 a 424 c 89d 0 f 9 e 237 ab 818 a 0 f 456 EC 11 f # diff-d 8 a 58 a 09 a 3 dece 4 f 92 FD 5 fefd 1927 e 08
try (KubernetesClient client = new DefaultKubernetesClient()) {
NodeMetricsList nodeMetricList = client.top().nodes().metrics();
log("name CPU(cores) CPU(%) Memory(Bytes) Memory(%)");
for (NodeMetrics nodeMetrics : nodeMetricList.getItems()) {
log(nodeMetrics.toString());
log(nodeMetrics.getUsage().toString());
log(nodeMetrics.getMetadata().getName() +
" " + nodeMetrics.getUsage().get("cpu") +
" " + nodeMetrics.getUsage().get("memory"));
}
} catch (KubernetesClientExcepthtml" target="_blank">ion e) {
logger.error(e.getMessage(), e);
对于豆荚,
PodMetricsList podMetricList = client.top().pods().metrics();
for(PodMetrics metrics: podMetricList.getItems())
{
for(ContainerMetrics containerMetric : metrics.getContainers())
{
Quantity quantity = containerMetric.getUsage().get("cpu");
String amount = quantity.getAmount();
}
}
另外,粘贴此链接以供参考:
https://developers . red hat . com/blog/2020/05/20/入门使用fabric 8-kubernetes-Java-client/
您可以安装度量服务器,然后通过API服务器向资源度量API发出直接HTTP请求来获取pod的资源使用情况:
GET /apis/metrics/v1alpha1/namespaces/{namespace}/pods/{pod}
资源指标 API 似乎没有包含在官方 Java 客户端库中。因此,您可能必须手动发出 API 请求。
我遵循了本页中第一个可能的解决方案:检查kubernetes pod CPU和内存 我试过命令: Kubectl执行pod_name-- /bin/bash 但是它不起作用,因此我尝试了这个命令: kubectl exec-n[namespace][pod_name]--目录测试.log 我知道这一点,因为当我运行该命令时: kubectl获取pods--所有名称空间|grep[pod_name]
我对Kubernetes仪表板有意见。我实际上使用了托管的Kubernetes服务AKS,并使用以下设置创建了一个Kubernetes集群: Kubernetes 1.20.9版 1个大小为Standard_DS2_v2的工作节点 它从自动配置coredns、corednsautoscaler、omsagent-rs、隧道前端和metrics-sever开始成功。 之后,我为我的服务应用了三个部署
问题内容: 我需要在Java中检查服务器的CPU和内存使用情况,有人知道怎么做吗? 问题答案: 如果你正在专门寻找JVM中的内存: 但是,这些仅应作为估计…
我需要通过prometheus查询获得kubernetes吊舱中的CPU和内存使用情况。有人能帮忙吗?
我在IBM Bluemix上运行Kubernetes cluster 1.5.3,我想获得pod的资源利用率(内存和cpu)作为原始数据点。Kubernetes公开了这样API吗? ➜ bluemix git:(master) ✗ k 集群信息 Kubernetes master 正在运行 Heapster运行在https://x:x/API/v1/proxy/namespaces/kube-sy
我想看看kubernetes吊舱使用了多少内存和CPU。我为此运行了以下命令: 我收到以下错误: > 如果我们进入pod并运行linux命令,我们会得到相同的输出吗?