admin管理员组

文章数量:1595885

一、背景

有时候使用强制删除名称空间命令

kubectl delete ns ${名称空间名字} --grace-period=0 时候仍然无法成功删除

 那要怎样才能彻底删除名称空间呢

二、操作步骤

1、如果该名称空间下还有资源,再创建名称空间,删除名称空间里的所有资源

2、获取并修改tmp.json文件

kubectl get namespace ${namespace}  -o json >tmp.json

vim tmp.json   # 类似如下  删掉spec字段

{
    "apiVersion": "v1",
    "kind": "Namespace",
    "metadata": {
        "creationTimestamp": "2022-11-05T12:41:12Z",
        "deletionTimestamp": "2022-11-05T12:41:15Z",
        "name": "acg-voice",
        "resourceVersion": "851775",
        "selfLink": "/api/v1/namespaces/acg-voice",
        "uid": "388d999f-a718-44e9-bd3c-3819cf08f342"
    },
    "spec": {
        "finalizers": [
            "kubernetes"
        ]
    },
    "status": {
        "phase": "Terminating"
    }
}

 

3、新开一个窗口前台启动kube proxy

kubectl proxy --port=8001

4、原窗口使用修改后tmp.json文件删除该名称空间

curl -k -H "Content-Type: application/json" -X PUT --data-binary @tmp.json http://127.0.0.1:8001/api/v1/namespaces/${namespace}/finalize

5、检查名称空间是否删除

kubectl get ns

本文标签: 解决办法名称空间Forcegrace