k8s namespace一直显示terminating

问题描述:
在某个时候开始,k8s的namespace就一直delete不掉,kubectl delete ns xxx命令也会被卡住,久久不能解脱。不管哪个namespace都是这样。但问题总有人解决,网上百度到两个raw API的方法,屡试不爽。先将这两个方法的链接帖到下面,每一个都是OK的,都可以临时解决这个问题:
a. https://blog.csdn.net/Michaelwubo/article/details/110878183
b. https://craignewtondev.medium.com/how-to-fix-kubernetes-namespace-deleting-stuck-in-terminating-state-5ed75792647e
第一个需要开启proxy,第二个不需要,但是可能需要科学上网。

问题定位和处理:
但这两个办法都是临时解决,总不能每次都手动删除或者脚本删除吧。所以,还需要查找根因。
我的第一个想法是,我要看看api-server的日志,因为kubectl直接和api-server打交道,如果有问题,就会直接反映出来。这一看果然是有问题的,但是这个log并不是和我的命令同步的,也就是说,并不是我执行以下,这个log就出一次。所以这个不是因果关系,目前没有参考价值。
api-server报错日志
然后我想要不从kubectl这个客户端入手,看一下日志,想到了verbose。然后kubectl options发现有-v的选项,于是指定kubectl -v 1 delete ns xxx。果然出现Error日志了,也是上面这个信息。于是,就查看相关的信息。
我们的集群内都没有装metrics-server,但是其它集群就是好的。这个ip很特别,我查看了api-server的启动参数,没有这个ip。而且看样子,是个集群内的ip。习惯性的ping了一下,是通的。我就知道事情没这么简单了。于是我grep了所有namespace的ip,发现Prometheus的Adapter是这个ip。我感觉应该就是这个pod的问题。pod是running的,所以我就看了adapter的日志,果然发现了端倪。Adapter在读某个configmap的时候Failed了。
对Prometheus Adapter不熟悉,它是个Deployment,于是我直接重启这个Deployment,再看日志,没有那个Failed了。
我再尝试创建和删除namespace,已经一切OK了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值