- 第一招:強制刪除名爲POD_NAME的Pod。
$ oc delete pod POD_NAME --grace-period=0 --force
- 第二招:對於有依賴刪除關係的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。
- 第三招:通過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名稱。