我正在通过kubectl命令获取pod指标
➜ 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的指标?
发布于 2020-05-16 23:09:21
资源度量API未包含在官方Java客户端库中。因此,您需要按如下方式查询API服务器:
GET /apis/metrics/v1alpha1/namespaces/{namespace}/pods/{pod}它将返回当前指标的结果。
以下是一些可以添加更多自定义指标的参考资料:
希望这能回答你的问题。
发布于 2021-04-16 03:53:55
正如蓝人所说,现在可以获得这个指标。
Java解决方案
PodMetricsList list = new Metrics(client).getPodMetrics("playground");
for(PodMetrics podMetrics:list.getItems()){
for(ContainerMetrics containerMetrics:podMetrics.getContainers()){
System.out.println(containerMetrics.getUsage());
}
}发布于 2020-11-20 23:48:15
Kotlin解
val client = Config.defaultClient();
Configuration.setDefaultApiClient(client);
Metrics(client).getPodMetrics(
"name-space"
).items.forEach {
it.containers.forEach {metrics ->
println(metrics.usage)
}
}这应该会给出您正在寻找的指标。
样本输出
{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}}https://stackoverflow.com/questions/61825748
复制相似问题