开发者社区> 问答> 正文

Kubernetes集群NameSpace无法删除

已解决

Kubernetes集群NameSpace无法删除

展开
收起
提个问题 2024-06-01 17:03:09 15 0
1 条回答
写回答
取消 提交回答
  • 开发者社区问答官方账号
    官方回答
    采纳回答
    Kubernetes集群NameSpace无法删除的原因通常有如下几种:
    1、APIservice存在非true状态,会阻塞controller对NameSpace的删除行为。 
    2、NameSpace下存在一些自定义的crd资源没有清理完毕,常见的比如社区Istio。 
    3、NameSpace被其他Controller接管,例如Rancher,此类工具在社区也有已有的issues。 
    针对场景1的解决方案为:通过kubectl get apiservice 检查非true的apiservice并修复,确认apiservice如果是无用的话,可以备份yaml后删除。 
    针对场景2的解决方案为:通过kubectl api-resources --verbs=list --namespaced -o name | xargs -n 1 kubectl get -n {namespace} 过滤namespace下所有资源,如果有pending或者终止状态的资源就将其删除。如果通过命令kubectl delete删除不了,可通过kubectl edit 删除finalizers字段。
    针对场景3的解决方案为:通过kubectl edit namespace {namespace} , 将yaml中的 "finalizers"  字段去除后,重新保存后在看一下。
    2024-06-01 17:03:10
    赞同 1 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
ACK 云原生弹性方案—云原生时代的加速器 立即下载
ACK集群类型选择最佳实践 立即下载
企业运维之云原生和Kubernetes 实战 立即下载

相关镜像