[K8S] 砍掉的 pod 一直停留在 Terminating 狀態?

[K8S] 砍掉的 pod 一直停留在 Terminating 狀態?

今天覺得一個 k8s pod 怪怪的,

想說下  kubectl delete pod innodb-cluster-0 來把它砍掉,

沒想到它就一直停留在 Terminating 的狀態:

$ kubectl get pods

NAME                                    READY   STATUS        RESTARTS   AGE
innodb-cluster-0                        0/2     Terminating   1          5d19h

 

查了一下,有人說 pod 設定的 finalizer 是可能的原因之一。

檢查一下,確實有個 finalizer 設定:

$ kubectl get pod innodb-cluster-0 -o yaml

......
finalizers:
  - mysql.oracle.com/membership
  - kopf.zalando.org/KopfFinalizerMarker
......

 

用下面的指令來把這個 pod 的 finalizer 清除:

kubectl patch pod innodb-cluster-0 -p '{"metadata":{"finalizers":null}}'

 

接著就看到 pod 應該是有被結束後,自動重啟了:

$ kubectl -n com-mysqlha get pods

NAME                                    READY   STATUS     RESTARTS   AGE
innodb-cluster-0                        0/2     Init:0/3   0          2s

 

參考資料:kubernetes – Pods stuck in Terminating status – Stack Overflow

 

(本頁面已被瀏覽過 22 次)

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料