k8s-17 排查kubernetes中高磁盘占用pod-crictl

参考资料
https://blog.51cto.com/u_11555417/5611424
https://www.cnblogs.com/khtt/p/17480672.html

查找占用磁盘最大的容器,并列出对应container id
crictl stats |awk '{print $4,$1}' |grep -v DISK |grep G |sort -nr

找到占用磁盘最大的容器,列出 pod ID 和 pod name
crictl ps |grep 上面${container id}

查询当前节点容器使用磁盘总量:
docker system df

k8s 查询 磁盘高占用的 pod 步骤:

  1. docker ps -a --format "table {{.Size}}\t{{.Names}}" | sort -hr 查询容器磁盘使用量并从大到小排序
  2. 根据 container_name 查找 pod_name 即可

Containerd引擎查询
crictl pods | awk '{print $1,$6,$7}' > /tmp/pod.txt
crictl ps | awk '{print $9,$10,$1}' > /tmp/ps.txt
crictl stats > /tmp/stats.txt
awk '(NRFNR){a[$1]=$3" "$2}(NR>FNR){print $3,a[$1]}' /tmp/pod.txt /tmp/ps.txt > /tmp/nspodcontainer.txt
awk '(NR
FNR){a[$1]=$2" "$3}(NR>FNR){print a[$1],$2,$3,$4}' /tmp/nspodcontainer.txt /tmp/stats.txt > /tmp/worker6-data.txt

posted @ 2023-10-12 16:54  冰冷的火  阅读(537)  评论(0)    收藏  举报