# k8s无法删除namespace

#### <https://freshbrewed.science/2022/08/31/rook-in-k3s.html>

124.156.180.17

43.129.71.167

124.156.135.122

#### 1、想要去删除k8s中的一个指定命名空间，刚开始使用命令

```
kubectl delete ns 命名空间的名字
# 或者使用
kubectl delete ns 命名空间的名字 --force --grace-period=0
```

&#x20;

使用以上两种命令均无法成功删除命名空间，只会使命名空间的状态为Terminating状态

#### 2、使用以下方法成功删除

**1）使用命令**

```
kubectl get namespace 命名空间的名字 -o json > devtesting.json
```

&#x20;

执行完这条命令后，当前文件夹会出现devtesting.json这个文件夹，打开这个文件，删除字段\
spec和finalizers这两个字段包含的内容。

**2）使用kubectl代理，执行命名**

```
kubectl proxy --port=8080
```

&#x20;

使用一下命令进行测试

```
curl http://localhost:8080/api/
```

&#x20;

**3）使用http接口进行删除**

```
curl -k -H "Content-Type: application/json" -X PUT --data-binary @devtesting.json http://127.0.0.1:8080/api/v1/namespaces/命名空间的名字/finalize
```

&#x20;

注意着里面的两个地方，一个是\*\*.json文件一定要是刚才生成的文件；一个就是刚才操作的那个命名空间名字\*\*。\
成功删除所指定的命名空间。

&#x20;
