文章目录
- 一、问题提出
- 二、删除方法
- 1,获取kubesphere-logging-syste的详细信息json文件
- 2,编辑kubesphere-logging-system.json
- 3,执行清理命令
- 三、检查结果
一、问题提出
在使用 KubeSphere 的时候发现有一个日志服务KubeSphere Logging System,它被创建命名空间为kubesphere-logging-system下。当我们不想使用它,需要删除它时,确一直在 Terminating中,怎么也删除不掉。
kubectl delete ns kubesphere-logging-system --force --grace-period=0
二、删除方法
1,获取kubesphere-logging-syste的详细信息json文件
首先 通过以下命令获取 namespace 的详情信息并转为 json。
kubectl get namespace kubesphere-logging-system -o json > kubesphere-logging-system.json
2,编辑kubesphere-logging-system.json
vim kubesphere-logging-system.json
{"apiVersion": "v1","kind": "Namespace","metadata": {"creationTimestamp": "2023-12-24T23:13:34Z","deletionTimestamp": "2023-12-27T07:49:27Z","labels": {"kubesphere.io/namespace": "kubesphere-logging-system","kubesphere.io/workspace": "system-workspace"},"name": "kubesphere-logging-system","resourceVersion": "2878899","selfLink": "/api/v1/namespaces/kubesphere-logging-system","uid": "dd01ee56-2dee-40ba-b63e-5fc71e27507b"},"spec": {"finalizers": ["kubernetes" # 将此行删除]},"status": {"conditions": [{"lastTransitionTime": "2023-12-27T07:49:35Z","message": "All resources successfully discovered","reason": "ResourcesDiscovered","status": "False","type": "NamespaceDeletionDiscoveryFailure"},{"lastTransitionTime": "2023-12-27T07:49:35Z","message": "All legacy kube types successfully parsed","reason": "ParsedGroupVersions","status": "False","type": "NamespaceDeletionGroupVersionParsingFailure"},{"lastTransitionTime": "2023-12-27T08:47:05Z","message": "All content successfully deleted, may be waiting on finalization","reason": "ContentDeleted","status": "False","type": "NamespaceDeletionContentFailure"},{"lastTransitionTime": "2023-12-27T07:49:35Z","message": "Some resources are remaining: exporters.events.kubesphere.io has 1 resource instances, fluentbits.logging.kubesphere.io has 1 resource instances, rulers.events.kubesphere.io has 1 resource instances","reason": "SomeResourcesRemain","status": "True","type": "NamespaceContentRemaining"},{"lastTransitionTime": "2023-12-27T07:49:35Z","message": "Some content in the namespace has finalizers remaining: exporters.finalizer.events.kubesphere.io in 1 resource instances, fluentbit.logging.kubesphere.io in 1 resource instances, rulers.finalizer.events.kubesphere.io in 1 resource instances","reason": "SomeFinalizersRemain","status": "True","type": "NamespaceFinalizersRemaining"}],"phase": "Terminating"}
}
找到 spec 将 finalizers 下的 kubernetes 删除。
3,执行清理命令
现在我们只需要一条命令 就可以彻底删除这个 Namespace。
kubectl replace --raw "/api/v1/namespaces/kubesphere-logging-system/finalize" -f ./kubesphere-logging-system.json
三、检查结果
查看namespace kubesphere-logging-system,
kubectl get ns kubesphere-logging-system
已经找不到命名空间kubesphere-logging-system了。
查看所有命名空间:
kubectl get ns
再次查看的时候,它已经不存在了!!