遇到namespace无法删除

type
status
date
slug
summary
tags
category
icon
password
name
当在直接删除 ns 的时候,经常会遇到 ns 状态为 Terminating。
notion image
这里,可以采用下面的方法进行解决。
  1. 强制删除 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...

© Dreamin 2021-2025