Skip to content

Instantly share code, notes, and snippets.

@nobiit
Created August 28, 2022 20:15
Show Gist options
  • Save nobiit/bfeb4f84a6c3abe395abb982dcfbcfe2 to your computer and use it in GitHub Desktop.
Save nobiit/bfeb4f84a6c3abe395abb982dcfbcfe2 to your computer and use it in GitHub Desktop.
#!/usr/bin/env bash
set -e
printf "%-50s %5s %7s %5s %7s\n" Name CPU Memory CPU Memory
kubectl get pods -Ao json | jq -r '.items[] | tojson' | while read -r line; do
echo "${line}" | jq -r '.spec.containers[] | tojson' | while read -r item; do
name=$(echo "${line}" | jq -r .metadata.name)
resources=$(echo "${item}" | jq -r '.resources | tojson')
if [ $(echo "${resources}" | jq -r 'to_entries | length') -gt 0 ]; then
requests_cpu=$(echo "${resources}" | jq -r .requests.cpu)
requests_memory=$(echo "${resources}" | jq -r .requests.memory)
limits_cpu=$(echo "${resources}" | jq -r .limits.cpu)
limits_memory=$(echo "${resources}" | jq -r .limits.memory)
if [ ${requests_cpu} != null ] || [ ${requests_memory} != null ] || [ ${limits_cpu} != null ] || [ ${limits_memory} != null ]; then
printf "%-50s %5s %7s %5s %7s\n" ${name} ${requests_cpu} ${requests_memory} ${limits_cpu} ${limits_memory}
else
echo "${item}" | jq -r .resources
fi
fi
done
done
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment