Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

714
Views
How can I summarize all the resource limits and requests in Kubernetes with kubectl?

I started using Lens and noticed that it gives you some warnings when the pods inside the nodes have limits higher than the actual capacity. A graphic visualization from Lens where you can see a warning telling that the specified limits are higher than the node capacity

So I tried to get this information with kubectl but I'm new to jsonpath and I just managed to get the raw info using something like this:

kubectl get pods -o=jsonpath='{.items..resources.limits}' -A

That produces something like this:

{"cpu":"200m","memory":"1Gi"} {"cpu":"200m","memory":"1Gi"} {"cpu":"200m","memory":"512Mi"} {"cpu":"500m","memory":"250Mi"} {"memory":"170Mi"} {"memory":"170Mi"} {"cpu":"2","memory":"2Gi"} {"cpu":"2","memory":"2Gi"} {"cpu":"2","memory":"2Gi"} {"cpu":"1","memory":"1Gi"} {"cpu":"1","memory":"1Gi"} {"cpu":"2","memory":"2Gi"} {"cpu":"100m","memory":"128Mi"} {"cpu":"100m","memory":"128Mi"} {"cpu":"500m","memory":"600Mi"} {"cpu":"1","memory":"1Gi"} {"cpu":"100m","memory":"25Mi"} {"cpu":"100m","memory":"25Mi"}

So, my questions are, how can I sum all these values? Will these values be accurate or am I missing any other query? I've checked using LimitRange and the values I got seem to be correct, the results include the limits set by the LimitRange configuration.

over 4 years ago · Santiago Trujillo
3 answers
Answer question

0

It is not possible with just kubectl commands. However, you can use the output of kubectl and write a basic shell script to compute the total values.

The following shell script will output total CPU limits(in m units) of all the pods in all namespaces.

res=$(kubectl get pods -o=jsonpath='{.items[*]..resources.limits.cpu}' -A)
let tot=0
for i in $res
do
   if [[ $i =~ "m" ]]; then
      i=$(echo $i | sed 's/[^0-9]*//g')
      tot=$(( tot + i ))
   else
      tot=$(( tot + i*1000 ))
   fi
done
echo $tot

You can extend the above to compute the CPU requests and the memory requests and limits values as well.

over 4 years ago · Santiago Trujillo Report

0

Unfortunately, it is not possible to do so with the use of the kubectl solely.

However, you could for example consider using:

  1. JSON $sum() function:

Returns the arithmetic sum of an array of numbers.

  1. Metrics-server, Grafana and Prometheus:

We’ll walk through steps necessary to monitor how much resources (CPU or memory) a Kubernetes pod is using. Hence we’ll look at:

  • CPU requests / limits / actual usage / throttling

  • Memory requests / limits / actual usage / termination

or alternatively monitor Kubernetes Node CPU and Memory Requests/Limits:

Node CPU requests/limits are a sum of the CPU requests/limits for all pods running on that node. Similarly, node memory requests/limits are a sum of memory requests/limits of all pods

  1. kube-state-metrics:

kube-state-metrics is a simple service that listens to the Kubernetes API server and generates metrics about the state of the objects. (See examples in the Metrics section below.) It is not focused on the health of the individual Kubernetes components, but rather on the health of the various objects inside, such as deployments, nodes and pods.

over 4 years ago · Santiago Trujillo Report

0

you can use a kubectl plugin to list/sort pods with cpu limits:

kubectl resource-capacity --sort cpu.limit --util --pods

https://github.com/robscott/kube-capacity

over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!