删除Terminating状态的namespace:cattle-system
这里以cattle-system为例!执行删除命令后namespace(也是用其他k8s object)仍然存在,首先执行。5、清理json文件:rm -rf ${NAMESPACE}.json。2、执行如下代码,需指定要删除的。4、直接调用apiserver。
·
这里以cattle-system为例!执行删除命令后namespace(也是用其他k8s object)仍然存在,首先执行
kubectl edit namespace cattle-system
查看是否存在spec.finalizers: kubernetes,如:
spec:
finalizers:
- kubernetes
如果不存在spec.finalizers,删除如下行,保存退出后,namespace则被删除:
"deletionTimestamp": "2023-03-23T11:47:05Z",
"finalizers": [
"controller.cattle.io/namespace-auth"
],
如果存在spec.finalizers,就要麻烦一些:
1、启动apiserver代理:kubectl proxy --port=8081
2、执行如下代码,需指定要删除的<namespace>,
NAMESPACE=<namespace>
kubectl get namespace ${NAMESPACE} -o json > ${NAMESPACE}.json
vi ${NAMESPACE}.json
3、编辑json文件,删除如下内容(有就删,没有则忽略):
"deletionTimestamp": "2023-03-28T04:31:47Z",
"finalizers": [
"controller.cattle.io/namespace-auth"
],
"spec": {
"finalizers": [
"kubernetes"
]
},
4、直接调用apiserver
curl -k -H "Content-Type: application/json" -X PUT --data-binary @${NAMESPACE}.json http://127.0.0.1:8081/api/v1/namespaces/${NAMESPACE}/finalize
kubectl get namespace
5、清理json文件:rm -rf ${NAMESPACE}.json
更多推荐
已为社区贡献6条内容
所有评论(0)