問題: 發(fā)現(xiàn)孤兒pod
/var/log/messages一直包錯:發(fā)現(xiàn)孤兒pod,其存儲路徑還保存在磁盤
解決:
- 根據(jù)/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