Kubernetes中强制删除已销毁的顽固pod

原创
2019/02/25 16:09
阅读数 5.1K

Kubernetes运行中由于网络、磁盘、程序错误等原因可能导致pod无法删除。这里介绍一个强制删除pod的方法。

  • 注意,强制删除pod会导致其中的数据来不及保存,有可能引发数据丢失或者错误,谨慎使用!

一般情况下,添加--force参数即可将其删除。

批量删除pod参考下面的脚本:

#
# Clean up dying pods
#
pods=$( kubectl get pods | grep -v Running | tail -n +2 | awk -F " " '{print $1}' )
for pod in $pods;
do
    kubectl delete pod $pod --force
done

但是,有时候使用--force参数仍然无法删除该pod,有可能是删除的时间过长,可以添加--now来立即删除。

kubectl delete pod xxx --now

如果提示--grace-period未到期,可以将--grace-period强制设为0,一般就可以删除掉了。

kubectl delete pod NAME --grace-period=0 --force

pod在处于创建或撤销期间,有可能更新生命期的函数失效,导致pod的销毁期一直保持不变,从而Kubernetes系统调度器不会主动将其删除。此时,可以使用上面的方法来删除。

展开阅读全文
加载中

作者的其它热门文章

打赏
0
0 收藏
分享
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部