k8s大量pod状态ContainerStatusUnknown

大量pod状态为ContainerStatusUnknown

事发背景

域名访问gitlab请求超时,查看ingress-controller命名空间发现出现大量异常pod,并且pod和deploy事件都为空。
在这里插入图片描述
进一步查看发现异常pod集中于某节点,于是断定是节点的问题
在这里插入图片描述
查看节点事件信息,报错信息尝试回收image失败
在这里插入图片描述
查看盘使用率超过85%,kubelet检测到磁盘使用率达到阀值,就会自动清理过期的image,释放空间,但是所有的image都在使用,所以kubelet会拒绝容器创建。
在这里插入图片描述

解决方案:

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

  • 6
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
你好!对于 `CrashLoopBackOff` 状态Pod,这通常表示该 Pod 在启动过程中遇到了问题,并且一直处于重启循环中。这个状态意味着 Pod 启动后立即崩溃,然后 Kubernetes 尝试重新启动它,但又崩溃了,如此循环。 要解决这个问题,你可以按照以下步骤进行排查: 1. 查看 Pod 的日志:使用 `kubectl logs <pod-name>` 命令来查看 Pod 的日志,尝试找出何处发生了错误。可能会有一些错误消息或异常堆栈跟踪可供参考。 2. 检查 Pod 的配置:确保你的 Pod 配置正确无误,包括容器镜像、资源限制、环境变量等。一个常见的问题是容器启动所需的依赖项未正确配置或缺失。 3. 检查相关的服务和资源:如果你的应用程序依赖于其他服务或资源(例如数据库),请确保这些服务和资源都正常可用。如果依赖的服务不可用,可能会导致容器启动失败并进入 `CrashLoopBackOff` 状态。 4. 检查 Pod 的健康检查设置:你的应用程序可能配置了健康检查,例如使用 Kubernetes 的 liveness 或 readiness 探针。确保这些探针正确配置,以便检测到应用程序是否健康。如果探针失败,则 Pod 可能会被 Kubernetes 认为是不可用的,从而导致重启循环。 5. 更新容器镜像:如果你的应用程序使用的容器镜像存在已知的 bug 或问题,尝试更新镜像到最新版本或使用一个稳定版本。 通过排查以上问题,你应该能够找到导致 `CrashLoopBackOff` 状态的原因,并采取相应的措施解决问题。希望对你有所帮助!如果你还有其他问题,请随时提问。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值