如何強制刪除k8s中的殘留namespace?


腳本如下:

#!/bin/bash
set -e

useage(){
    echo "useage:"
    echo "  delns.sh NAMESPACE"
}

if [ $# -lt 1 ];then
    useage
    exit
fi

NAMESPACE=$1
JSONFILE=${NAMESPACE}.json
kubectl get ns "${NAMESPACE}" -o json > "${JSONFILE}"
vi "${JSONFILE}"
curl -k -H "Content-Type: application/json" -X PUT --data-binary @"${JSONFLE}" \
    http://127.0.0.1:8001/api/v1/namespaces/"${NAMESPACE}"/finalize

使用前提

將api-server 代理到本地8001端口

kubectl proxy

使用方法

假設要刪除的namespace是test

delns.sh test

腳本自動會打開vi編輯namespace信息,手動將

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

中的 "kubernetes"刪除,然后:wq保存並退出編輯即可


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM