大量pod状态为ContainerStatusUnknown
事发背景
域名访问gitlab请求超时,查看ingress-controller命名空间发现出现大量异常pod,并且pod和deploy事件都为空。

进一步查看发现异常pod集中于某节点,于是断定是节点的问题

查看节点事件信息,报错信息尝试回收image失败

查看盘使用率超过85%,kubelet检测到磁盘使用率达到阀值,就会自动清理过期的image,释放空间,但是所有的image都在使用,所以kubelet会拒绝容器创建。

解决方案:
首先进行硬盘垃圾清理工作,删除不必要的文件,使业务恢复正常,后续可以增加硬盘