有谁知道如何根据磁盘
的消耗大小,获取某个节点
的pods
列表并进行排序?
下面的命令可以帮助我列出基于给定节点的pods
,但我的需求是列出那些导致高磁盘使用率
的pods
,我需要靠这个数据来解决DiskPressure
驱逐状态的问题:
kubectl get pods --all-namespaces -o wide --field-selector spec.nodeName=
我知道列出节点
的cpu
和 memory
使用情况的命令。
alias util='kubectl get nodes --no-headers | awk '\''{print $1}'\'' | xargs -I {} sh -c '\''echo {} ; kubectl describe node {} | grep Allocated -A 5 | grep -ve Event -ve Allocated -ve percent -ve -- ; echo '\'''
# Get CPU request total (we x20 because because each m3.large has 2 vcpus (2000m) )
alias cpualloc='util | grep % | awk '\''{print $1}'\'' | awk '\''{ sum += $1 } END { if (NR > 0) { print sum/(NR*20), "%\n" } }'\'''
# Get mem request total (we x75 because because each m3.large has 7.5G ram )
alias memalloc='util | grep % | awk '\''{print $5}'\'' | awk '\''{ sum += $1 } END { if (NR > 0) { print sum/(NR*75), "%\n" } }'\'''
求大佬指导!
列出在给定节点中运行的 pods 磁盘使用情况:
其他一些统计数据:
获取节点文件系统使用情况
kubectl get --raw /api/v1/nodes/<NODE_NAME>/proxy/stats/summary | jq '.node.fs.usedBytes'
获取节点 imageFs 使用情况
kubectl get --raw /api/v1/nodes/<NODE_NAME>/proxy/stats/summary | jq '.node.runtime.imageFs.usedBytes'
获取节点 iNodes 统计信息
kubectl get --raw /api/v1/nodes/<NODE_NAME>/proxy/stats/summary | jq '.node.fs.inodesFree' kubectl get --raw /api/v1/nodes/<NODE_NAME>/proxy/stats/summary | jq '.node.runtime.imageFs.inodesFree'
谢谢大佬,解决了我的问题!
你的答案