刪除Terminating狀態的Pod

  1. 第一招:強制刪除名爲POD_NAME的Pod。
$ oc delete pod POD_NAME --grace-period=0 --force
  1. 第二招:對於有依賴刪除關係的Pod,由於其依賴的Pod沒有刪除,因此這個Pod會一直在Terminating中。這種情況可以先解除Pod依賴關係,然後再嘗試刪除。
# 編輯Pod的yaml
$ oc edit pod POD_NAME

先將Pod中的deletionTimestamp後的內容設爲null,即將

deletionTimestamp: 2019-01-23T11:40:28Z

改爲:

deletionTimestamp: null

再將Pod中的metadata.finalizers後的內容設爲null,即將

...
metadata:
   finalizers:
   -- foregroundDeletion 
...

改爲:

...
metadata:
   finalizers: null
...

最後再按照(1)嘗試刪除Pod。

  1. 第三招:通過OpenShift的API。
$ echo '{ "propagationPolicy": "Background" }' | curl -k -X DELETE -d @-  -H "Authorization: Bearer MY_TOKEN" -H 'Accept: application/json' -H 'Content-Type: application/json'  https://API-SERVER:443/api/v1/namespaces/MY_PRIJECT/pods/POD_NAME

以上
MY_TOKEN是通過執行“oc whoami -t”獲得的字符串。
MY_PRIJECT是要刪除Pod所屬OpenShift項目。
POD_NAME是要刪除的Pod名稱。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章