Sum all pod resource (requests & limits)

Jbn1233
2 min readNov 12, 2023

--

Just need bash, kubectl and kubeadmin permission.

#!/bin/bash

kubectl describe nodes | grep --no-group-separator -A3 "Resource" > .$$

res=$(grep cpu .$$ | awk {'print $2'})
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 "CPU requests: " $tot"m"


res=$(grep cpu .$$ | awk {'print $4'})
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 "CPU limits: " $tot"m"

res=$(grep memory .$$ | awk {'print $2'})
let tot=0
for i in $res
do
if [[ $i =~ "K" ]]; then
i=$(echo $i | sed 's/[^0-9]*//g')
tot=$(( tot + i*1024 ))
elif [[ $i =~ "M" ]]; then
i=$(echo $i | sed 's/[^0-9]*//g')
tot=$(( tot + i*1048576 ))
elif [[ $i =~ "G" ]]; then
i=$(echo $i | sed 's/[^0-9]*//g')
tot=$(( tot + i*1073741824 ))
elif [[ $i =~ "m" ]]; then
i=$(echo $i | sed 's/[^0-9]*//g')
tot=$(( tot + i/1024 ))
else
tot=$(( tot + i ))
fi
done
echo "Memory requests: " $(( tot/1073741824 )) " GB"

res=$(grep memory .$$ | awk {'print $4'})
let tot=0
for i in $res
do
if [[ $i =~ "K" ]]; then
i=$(echo $i | sed 's/[^0-9]*//g')
tot=$(( tot + i*1024 ))
elif [[ $i =~ "M" ]]; then
i=$(echo $i | sed 's/[^0-9]*//g')
tot=$(( tot + i*1048576 ))
elif [[ $i =~ "G" ]]; then
i=$(echo $i | sed 's/[^0-9]*//g')
tot=$(( tot + i*1073741824 ))
elif [[ $i =~ "m" ]]; then
i=$(echo $i | sed 's/[^0-9]*//g')
tot=$(( tot + i/1024 ))
else
tot=$(( tot + i ))
fi
done
echo "Memory limits: " $(( tot/1073741824 )) " GB"

rm .$$ &>/dev/null

Sample:

$ ./resource_total.sh 
CPU requests: 25575m
CPU limits: 32800m
Memory requests: 37 GB
Memory limits: 73 GB

refer:
https://stackoverflow.com/questions/66007364/how-can-i-summarize-all-the-resource-limits-and-requests-in-kubernetes-with-kube

--

--

Jbn1233
Jbn1233

Written by Jbn1233

Very short and simple notes for CKA/SRE and may not works on your environment | jbn1233@gmail.com | Bangkok, Thailand |

No responses yet