根本没用的方法
有机会能删的方法
一定能删的方法

k8s中删除处于Terminating状态的namespace

根本没用的方法

假设 “dev” 名称空间正处于Terminating, 此时是无法删除的。就算你使用强制的方法(kubectl delete ns dev--force --grace-period=0) 也是一样的。

 

正确方法是:

有机会能删的方法

systemctl restart kubelet

kubectl get ns 

一定能删的方法

kubectl get ns dev -o json > /tmp/dev.json

vim  /tmp/dev.json  #删除掉 "spec" 下的内容,即spec的{}为空

 

 

 另开一个终端:在后台运行“ kubectl proxy ” ,注意不要关掉。

在原终端执行:

cd /tmp

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

输出以下代表成功:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
{
  "kind": "Namespace",
  "apiVersion": "v1",
  "metadata": {
    "name": "dev",
    "selfLink": "/api/v1/namespaces/dev/finalize",
    "uid": "bb180481-cf36-4140-86b8-cf802a730763",
    "resourceVersion": "496797",
    "creationTimestamp": "2022-02-15T07:04:09Z",
    "deletionTimestamp": "2022-02-16T05:45:20Z",
    "annotations": {
      "kubectl.kubernetes.io/last-applied-configuration": "{\"apiVersion\":\"v1\onTimestamp\":\"2022-02-15T07:04:09Z\",\"deletionTimestamp\":\"2022-02-16T05:45::\"/api/v1/namespaces/dev\",\"uid\":\"bb180481-cf36-4140-86b8-cf802a730763\"},\"ctive\"}}\n"
    }
  },
  "spec": {
 
  },
  "status": {
    "phase": "Terminating"
  }
}

 

参与自:https://segmentfault.com/a/1190000037572421

posted @   小庄的blog  阅读(206)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
点击右上角即可分享
微信分享提示