遇到namespace无法删除
type
status
date
slug
summary
tags
category
icon
password
name
当在直接删除 ns 的时候,经常会遇到 ns 状态为 Terminating。
这里,可以采用下面的方法进行解决。
- 强制删除 ns 里面的资源
but,有时候会显示
No resources found in kubesphere-system namespace.
这通常是因为命名空间中的某些资源(例如,
finalizer
)未能正确清理,导致删除操作卡住。2. 手动删除
finalizer
某些资源可能有
finalizer
,阻止了命名空间的删除。获取命名空间的详细信息:
打开生成的
tmp.json
文件, 删除 finalizers
字段及其值,然后保存该文件关于什么是finalizer
?
在 Kubernetes 中,
finalizer
是一种用于延迟资源删除的机制。它确保在删除某个资源之前,必须执行一些清理工作。finalizer
是一种保护机制,用来防止资源立即被删除,直到所有依赖它的资源或者系统状态被清理完成。- 当资源被标记为删除(例如,通过
kubectl delete
删除某个资源),Kubernetes 不会立即删除这个资源,而是首先检查资源的metadata.finalizers
列表。
- 如果
finalizer
存在,Kubernetes 会等待finalizer
执行清理操作,只有当finalizer
被移除后,资源才会被彻底删除。
- 一旦
finalizer
未能按预期执行清理操作,Kubernetes 将无法移除该资源,资源以及相关的命名空间将卡在Terminating
状态。
Loading...