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 步骤:
- docker ps -a --format "table {{.Size}}\t{{.Names}}" | sort -hr 查询容器磁盘使用量并从大到小排序
- 根据 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 '(NRFNR){a[$1]=$2" "$3}(NR>FNR){print a[$1],$2,$3,$4}' /tmp/nspodcontainer.txt /tmp/stats.txt > /tmp/worker6-data.txt
珊瑚海