k8s删除命名空间不动问题解决

  1. 强制删除命名空间的 Finalizer, Finalizer 是导致命名空间无法正常删除的常见原因。通过以下命令移除 Finalizer:
kubectl get namespace kuboard -o json > kuboard.json

编辑 kuboard.json,删除 spec.finalizers 字段中的所有内容:

{
  "apiVersion": "v1",
  "kind": "Namespace",
  "metadata": {
    ...
  },
  "spec": {
    "finalizers": []  # 删除原有内容,保留空数组
  }
}

应用修改:

kubectl replace --raw "/api/v1/namespaces/kuboard/finalize" -f kuboard.json
  1. 检查并删除残留资源, 即使 kubectl get all 显示无资源,某些资源(如 CRD、Webhook 等)可能未被列出
kubectl api-resources --verbs=list --namespaced -o name | xargs -n 1 kubectl get -n kuboard --ignore-not-found

如果发现残留资源,手动删除它们:

kubectl delete <resource类型> <资源名称> -n kuboard
  1. 重新创建命名空间并部署 Kuboard, 确认命名空间已删除后,重新创建并部署:
kubectl delete namespace kuboard  # 确保旧命名空间已消失
kubectl create namespace kuboard
kubectl apply -f kuboard-v3-swr.yaml -n kuboard
  1. 检查命名空间和资源状态:
kubectl get namespace kuboard
kubectl get all -n kuboard
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容