Last active
September 5, 2025 15:25
-
-
Save redmcg/60cfff7bca6f32969188008ad4a44c9a to your computer and use it in GitHub Desktop.
Revisions
-
redmcg revised this gist
Oct 18, 2021 . 1 changed file with 4 additions and 5 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -1,9 +1,9 @@ #!/usr/bin/env bash NODESAPI=/api/v1/nodes function getNodes() { kubectl get --raw $NODESAPI | jq -r '.items[].metadata.name' } function getPVCs() { @@ -28,8 +28,7 @@ function humanFormat() { } function format() { jq -r '.[] | "\(.name) \(.capacityBytes) \(.usedBytes) \(.availableBytes) \(.percentageUsed)"' | $format | column } @@ -40,5 +39,5 @@ else fi for node in $(getNodes); do kubectl get --raw $NODESAPI/$node/proxy/stats/summary done | getPVCs | format -
redmcg revised this gist
Nov 20, 2019 . 1 changed file with 1 addition and 1 deletion.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -40,5 +40,5 @@ else fi for node in $(getNodes); do curl -s $KUBEAPI/$node/proxy/stats/summary done | getPVCs | format -
redmcg revised this gist
Oct 22, 2019 . 1 changed file with 2 additions and 2 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -3,7 +3,7 @@ KUBEAPI=127.0.0.1:8001/api/v1/nodes function getNodes() { curl -s $KUBEAPI | jq -r '.items[].metadata.name' } function getPVCs() { @@ -41,4 +41,4 @@ fi for node in $(getNodes); do curl -s 127.0.0.1:8001/api/v1/nodes/$node/proxy/stats/summary done | getPVCs | format -
redmcg created this gist
May 8, 2019 .There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -0,0 +1,44 @@ #!/usr/bin/env bash KUBEAPI=127.0.0.1:8001/api/v1/nodes function getNodes() { curl -s $KUBEAPI | jq '.items[].metadata.name' | sed 's/^"\|"$//g' } function getPVCs() { jq -s '[flatten | .[].pods[].volume[]? | select(has("pvcRef")) | '\ '{name: .pvcRef.name, capacityBytes, usedBytes, availableBytes, '\ 'percentageUsed: (.usedBytes / .capacityBytes * 100)}] | sort_by(.name)' } function column() { awk '{ for (i = 1; i <= NF; i++) { d[NR, i] = $i; w[i] = length($i) > w[i] ? length($i) : w[i] } } '\ 'END { for (i = 1; i <= NR; i++) { printf("%-*s", w[1], d[i, 1]); for (j = 2; j <= NF; j++ ) { printf("%*s", w[j] + 1, d[i, j]) } print "" } }' } function defaultFormat() { awk 'BEGIN { print "PVC 1K-blocks Used Available Use%" } '\ '{$2 = $2/1024; $3 = $3/1024; $4 = $4/1024; $5 = sprintf("%.0f%%",$5); print $0}' } function humanFormat() { awk 'BEGIN { print "PVC Size Used Avail Use%" } '\ '{$5 = sprintf("%.0f%%",$5); printf("%s ", $1); system(sprintf("numfmt --to=iec %s %s %s | sed '\''N;N;s/\\n/ /g'\'' | tr -d \\\\n", $2, $3, $4)); print " " $5 }' } function format() { jq '.[] | "\(.name) \(.capacityBytes) \(.usedBytes) \(.availableBytes) \(.percentageUsed)"' | sed 's/^"\|"$//g' | $format | column } if [ "$1" == "-h" ]; then format=humanFormat else format=defaultFormat fi for node in $(getNodes); do curl -s 127.0.0.1:8001/api/v1/nodes/$node/proxy/stats/summary done | getPVCs | format