首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Kubernetes Java API for Metrics

Kubernetes Java API for Metrics
EN

Stack Overflow用户
提问于 2020-05-16 02:10:51
回答 3查看 505关注 0票数 2

我正在通过kubectl命令获取pod指标

代码语言:javascript
复制
➜  kubectl top pods
NAME                CPU(cores)   MEMORY(bytes)
api-6bd876fc8b-85dnx   72m          553Mi
ui-67b794cf8d-gcrg5    0m           1Mi

但是我想通过Java客户端https://github.com/kubernetes-client/java/尝试一下

是否支持通过kubernetes-client获取Pod和Node的指标?

EN

回答 3

Stack Overflow用户

发布于 2020-05-16 23:09:21

资源度量API未包含在官方Java客户端库中。因此,您需要按如下方式查询API服务器:

代码语言:javascript
复制
GET /apis/metrics/v1alpha1/namespaces/{namespace}/pods/{pod}

它将返回当前指标的结果。

以下是一些可以添加更多自定义指标的参考资料:

希望这能回答你的问题。

票数 2
EN

Stack Overflow用户

发布于 2021-04-16 03:53:55

正如蓝人所说,现在可以获得这个指标。

Java解决方案

代码语言:javascript
复制
PodMetricsList list = new Metrics(client).getPodMetrics("playground");

for(PodMetrics podMetrics:list.getItems()){
    for(ContainerMetrics containerMetrics:podMetrics.getContainers()){
                System.out.println(containerMetrics.getUsage());
    }
}
票数 1
EN

Stack Overflow用户

发布于 2020-11-20 23:48:15

Kotlin解

代码语言:javascript
复制
val client = Config.defaultClient();
Configuration.setDefaultApiClient(client);
Metrics(client).getPodMetrics(
        "name-space"
).items.forEach {
    it.containers.forEach {metrics ->
        println(metrics.usage)
    }
}

这应该会给出您正在寻找的指标。

样本输出

代码语言:javascript
复制
{cpu=Quantity{number=0.011135729, format=DECIMAL_SI}, memory=Quantity{number=831680512, format=BINARY_SI}}

{cpu=Quantity{number=0.008742460, format=DECIMAL_SI}, memory=Quantity{number=781041664, format=BINARY_SI}}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61825748

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档