问题: 发现孤儿pod
/var/log/messages一直包错:发现孤儿pod,其存储路径还保存在磁盘
解决:
- 根据/var/log/messages报错,找到孤儿pod有那些
- 通过mount命令查找孤儿pod的挂载
- 卸载孤儿pod的存储挂载
- 删除/var/lib/kubelet/pods下孤儿pod的存储路径
参考链接
参考脚本
如果孤儿pod的存储都被卸载,则可以通过如下脚本删除孤儿pod的无用存储,删除之后在/var/log/messages将没有报错
---
已验证
---
#!/bin/sh
orphanedPods=`cat /var/log/messages|grep 'Orphaned pod'|awk -F '"' '{print $2}'|uniq`;
orphanedPodsNum=`echo $orphanedPods|awk -F ' ' '{print NF}'`;
echo -e "orphanedPods: $orphanedPodsNum \n$orphanedPods";
for i in $orphanedPods
do
echo "Deleting Orphaned pod id: $i";
rm -rf /var/lib/kubelet/pods/$i;
done
也可以通过此脚本自动卸载存储和删除存储
---
未验证
---
因为太长,可以通过此链接下载:https://github.com/AliyunContainerService/kubernetes-issues-solution/blob/master/kubelet/kubelet.sh