K8s namespaceを削除できず、待機中まま


時々namespaceを削除できず、待機中ままの問題が発生するでしょうか?
解決方法をご紹介致します。

$ kubectl delete namespaces argo-events
namespace "argo-events" deleted
...
(待機中状態ままとなっています)

まず、namespaceの現状をJsonに出力します。この例は、argo-eventsのnamespaceとなります。

kubectl get namespace argo-events -o json > ~/argo-events.json

argo-events.jsonファイルを開いて、finalizersの中にkubernetesを削除します。

    "spec": {
        "finalizers": [
            "kubernetes"
        ]
    },

↓(kubernetesを削除します)

    "spec": {
        "finalizers": [
        ]
    },

それから、namespaceに反映します。

kubectl replace --raw "/api/v1/namespaces/argo-events/finalize" -f ~/argo-events.json

これを実行したら、最初のnamespace削除コマンドが進まれて、削除できるようになります。