Kubernetes中強制刪除已銷燬的頑固pod

Kubernetes運行中因爲網絡、磁盤、程序錯誤等緣由可能致使pod沒法刪除。這裏介紹一個強制刪除pod的方法。網絡

  • 注意,強制刪除pod會致使其中的數據來不及保存,有可能引起數據丟失或者錯誤,謹慎使用!

通常狀況下,添加--force參數便可將其刪除。函數

批量刪除pod參考下面的腳本:spa

#
# 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來當即刪除。code

kubectl delete pod xxx --now

若是提示--grace-period未到期,能夠將--grace-period強制設爲0,通常就能夠刪除掉了。get

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

pod在處於建立或撤銷期間,有可能更新生命期的函數失效,致使pod的銷燬期一直保持不變,從而Kubernetes系統調度器不會主動將其刪除。此時,能夠使用上面的方法來刪除。kubernetes

相關文章
相關標籤/搜索