(O+P)ut

アウトプット



(O+P)ut

エンジニアのアウトプット

【Kubernetes】Terminatingで固まっているPodを強制的に削除する

スポンサーリンク

やりたいこと

以下のようにStatusがTerminateingのまま変化しないPodを

$ oc describe pod mongodb-5bc87db5bf-h5kbz
...
Status:                    Terminating (lasts 27d)
Termination Grace Period:  30s

deleteコマンドで削除する。

尚、直接打つと以下で処理がフリーズする。

$ oc delete pod mongodb-5bc87db5bf-h5kbz --v=6
...
20216 round_trippers.go:454] GET https://../pods?fieldSelector=metadata.name%3Dmongodb-5bc87db5bf-h5kbz&resourceVersion=72274889&watch=true 200 OK in 42 milliseconds
環境情報
4.6.X_X_openshift

やり方

該当のPodをdeleteする際に--grace-period=0 --forceオプションを付与する。

実際の適用例は以下。

$ oc delete pod mongodb-5bc87db5bf-h5kbz --grace-period=0 --force
warning: Immediate deletion does not wait for confirmation that the running resource has been terminated. The resource may continue to run on the cluster indefinitely.
pod "mongodb-5bc87db5bf-h5kbz" force deleted

以下、補足です。

補足

同オプションを付与すると強制削除を実行がされ、Nodeのkubeletの応答を待たずに返り値が返ってきます。
ちなみにperiodに指定する数値は0以外には無効となり、入れたとしても以下のようなエラーとなってしまいます。

$ oc delete pod xx --grace-period=30 --force
error: --force and --grace-period greater than 0 cannot be specified together

以上です。