【案例分享】K8s 命名空间无法删除

一、故障描述
接到客户咨询,kubernetes在删除namespace时,出现长时间卡顿,无结果输出。
二、故障分析
登录到客户环境,查看情况。

删除命名空间是kubectl 向apiserver 发送删除命名空间的请求,apiserver再把删除操作发送给etcd,apisever 等待etcd删除该命名空间。现结合该流程,我们认为出现故障的原因,是由于暴力删除命名空间时没有清空命名空间下的资源,而导致无法删除命名空间。
三、故障处理
01 处理思路
在ETCD数据库中直接删除该命名空间
02 处理过程
删除Terminating 的命名空间




四、经验总结
通过上述分析得到,我们在删除命名空间之前,要先使用Kubectl get all查看命名空间下是否有未删除的相关资源,如果有,则需通过kubectl delete删除,然后再进行删除命名空间操作。