kubectl top nodes
NAME CPU(cores) CPU% MEMORY(bytes) MEMORY%
gsdjsgfhdsgfz-12345665-jisj000000 934m 24% 10439Mi 82%
gsdjsgfhdsgfz-12345665-jisj000001 717m 18% 9132Mi 72%
gsdjsgfhdsgfz-12345665-jisj000002 1099m 28% 7614Mi 60%
how to get the CPU% and MEMORY% value using java io.fabric8 kubernetes-client library.
try (KubernetesClient k8s = new DefaultKubernetesClient()) {
NodeMetricsList nodeMetricsList = k8s.top().nodes().metrics();
for (NodeMetrics nodeMetrics : nodeMetricsList.getItems()) {
logger.info("{} {} {}", nodeMetrics.getMetadata().getName(),
nodeMetrics.getUsage().get("cpu"),
nodeMetrics.getUsage().get("memory"));
}
}
getting output is:-
node name
cpu:-1094942089n
memory:-7830672Ki
how will take the percentage values?