Orphaned Pod 孤儿pod处理
查看节点kubelet的ERROR日志
E0606 15:10:09.311322 732595 kubelet_volumes.go:154] Orphaned pod "007d83b7-4b65-11ec-901d-fa163e71473d" found, but volume paths are still present on disk : There were a total of 344 errors similar to this. Turn up verbosity to see them.
问题原因
Pod 异常退出,导致数据卷挂载点在卸载过程中没有清理干净,最终导致Pod沦为僵尸Pod。Kubelet的GC流程对数据卷垃圾回收实现并不完善,需要手动或脚本自动化实现垃圾挂载点的清理工作。
处理方法
提示total of 344 errors similar to this,有344个。。只有处理完显示的podid后,才能显示下一个podid,我们需要一个个删除对应目录
$ sudo ls /var/lib/kubelet/pods/007d83b7-4b65-11ec-901d-fa163e71473d
plugins volumes
$ sudo rm /var/lib/kubelet/pods/007d83b7-4b65-11ec-901d-fa163e71473d -rf
为了快速获取到所有Orphaned Pod信息,我们尝试调整kubelet的日志等级
$ sudo ls -l /var/lib/kubelet/pods/ |wc -l
1136
# 调整kubelet日志等级查看全部孤儿pod
$ sudo vi /etc/default/kubelet
KUBELET_EXTRA_ARGS="--allow-privileged=true \
-v=10"
# 重启kubelet让日志生效
$ sudo systemctl restart kubelet
# 再去日志中查看podid,本次问题我重启kubelet后就恢复了
$ sudo ls -l /var/lib/kubelet/pods/ |wc -l
15