K8s删除terminating的namespace

K3s/k8s 删除terminating状态的Namespace

说明: 删除已经停止的 namespace 和 删除 普通的 pod 、deployment、svc等不同。不能使用 --force。具体步骤如下:

1、导出描述的json文件

kubectl get ns longhorn-system -o json > longhorn-system.json
a)打开导出的json文件 longhorn-system.json
{
    "apiVersion": "v1",
    "kind": "Namespace",
    "metadata": {
        "annotations": {
            "kubectl.kubernetes.io/last-applied-configuration": "{\"apiVersion\":\"v1\",\"kind\":\"Namespace\",\"metadata\":{\"annotations\":{},\"name\":\"longhorn-system\"}}\n"
        },
        "creationTimestamp": "2020-06-15T03:38:43Z",
        "deletionTimestamp": "2020-06-15T13:50:41Z",
        "managedFields": [
            ...........此处省略..........
        ],
        "name": "longhorn-system",
        "resourceVersion": "78488",
        "selfLink": "/api/v1/namespaces/longhorn-system",
        "uid": "219da01a-019b-48df-96bc-2ab227db0b40"
    },
    "spec": {
        "finalizers": [
			"kubernetes"  // 删除 
        ]
    },
    "status": {
        "conditions": [
		......此处省略.....
        ],
        "phase": "Terminating"
    }
}
b) 删除 spec 字段中的 “kubernetes”,改为
{
    "apiVersion": "v1",
    "kind": "Namespace",
    "metadata": {
        "annotations": {
            "kubectl.kubernetes.io/last-applied-configuration": "{\"apiVersion\":\"v1\",\"kind\":\"Namespace\",\"metadata\":{\"annotations\":{},\"name\":\"longhorn-system\"}}\n"
        },
        "creationTimestamp": "2020-06-15T03:38:43Z",
        "deletionTimestamp": "2020-06-15T13:50:41Z",
        "managedFields": [
            ...........此处省略..........
        ],
        "name": "longhorn-system",
        "resourceVersion": "78488",
        "selfLink": "/api/v1/namespaces/longhorn-system",
        "uid": "219da01a-019b-48df-96bc-2ab227db0b40"
    },
    "spec": {
        "finalizers": [

        ]
    },
    "status": {
        "conditions": [
		......此处省略.....
        ],
        "phase": "Terminating"
    }
}

2、执行清除命令

kubectl replace --raw "/api/v1/namespaces/$[ longhorn-system ]/finalize" -f ./longhorn-system.json

其中 $[ longhorn-system ] 替换为 对应的 名称空间。比如 “/api/v1/namespaces/test-namespace/finalize”

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值