gpt4 book ai didi

kubernetes - 获取节点上的 Pod,按磁盘空间使用情况排序

转载 作者:行者123 更新时间:2023-12-04 08:23:36 25 4
gpt4 key购买 nike

有谁知道如何根据磁盘空间消耗在给定节点上获取经过排序的 pod 列表?

下面的命令帮助我列出基于给定节点的 pod,但我的要求是列出那些导致高磁盘空间使用率的 pod,作为调查和解决 DiskPressure 逐出状态的一部分。

kubectl get pods --all-namespaces -o wide --field-selector spec.nodeName=<NODE_NAME>

我能够找到列出节点的 CPU 和内存使用情况的命令(引用:https://github.com/kubernetes/kubernetes/issues/17512#issuecomment-317757388),但与节点磁盘使用情况无关。

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 multiply by 75 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" } }'\'''

最佳答案

找到了我的要求的答案 - 列出在给定节点中运行的 pod 磁盘使用情况

kubectl get --raw /api/v1/nodes/<NODE_NAME>/proxy/stats/summary | jq '.pods[0] | "PodName: ", .podRef.name, "usedBytes: ", .containers[].rootfs.usedBytes'

一些其他统计数据:

获取节点文件系统使用情况

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'

关于kubernetes - 获取节点上的 Pod,按磁盘空间使用情况排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65381546/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com