![Pod 不断重启且处于 CrashLoopBackOff 状态](https://linux22.com/image/675736/Pod%20%E4%B8%8D%E6%96%AD%E9%87%8D%E5%90%AF%E4%B8%94%E5%A4%84%E4%BA%8E%20CrashLoopBackOff%20%E7%8A%B6%E6%80%81.png)
我们的一个 pod 无法启动,不断重启,并且处于 CrashLoopBackOff 状态:
姓名 就绪状态 重启年龄
quasar-api-staging-14c385ccaff2519688add0c2cb0144b2-3r7v4 0/1
CrashLoopBackOff 72 5h
描述 pod 的方式如下(仅包括事件):
FirstSeen LastSeen 计数来自 SubobjectPath 原因消息
57m 57m 1 {kubelet gke-skywatch-cf86c224-node-21bm} spec.containers{quasar-api-staging} Created Created with docker id 7515ced7f49c
57m 57m 1 {kubelet gke-skywatch-cf86c224-node-21bm} spec.containers{quasar-api-staging} Started Started with docker id 7515ced7f49c
52m 52m 1 {kubelet gke-skywatch-cf86c224-node-21bm} spec.containers{quasar-api-staging} Created Created with docker id 2efe8885ad49
52m 52m 1 {kubelet gke-skywatch-cf86c224-node-21bm} spec.containers{quasar-api-staging} Started Started with docker id 2efe8885ad49
46m 46m 1 {kubelet gke-skywatch-cf86c224-node-21bm} spec.containers{quasar-api-staging} Created Created with docker id a4361ebc3c06
46m 46m 1 {kubelet gke-skywatch-cf86c224-node-21bm} spec.containers{quasar-api-staging} Started Started with docker id a4361ebc3c06
41m 41m 1 {kubelet gke-skywatch-cf86c224-node-21bm} spec.containers{quasar-api-staging} Started Started with docker id 99bc3a8b01ad
41m 41m 1 {kubelet gke-skywatch-cf86c224-node-21bm} spec.containers{quasar-api-staging} Created Created with docker id 99bc3a8b01ad
36m 36m 1 {kubelet gke-skywatch-cf86c224-node-21bm} spec.containers{quasar-api-staging} Created Created with docker id 3e873c664cde
36m 36m 1 {kubelet gke-skywatch-cf86c224-node-21bm} spec.containers{quasar-api-staging} Started Started with docker id 3e873c664cde
31m 31m 1 {kubelet gke-skywatch-cf86c224-node-21bm} spec.containers{quasar-api-staging} Started Started with docker id 97680dac2e12
31m 31m 1 {kubelet gke-skywatch-cf86c224-node-21bm} spec.containers{quasar-api-staging} Created Created with docker id 97680dac2e12
26m 26m 1 {kubelet gke-skywatch-cf86c224-node-21bm} spec.containers{quasar-api-staging} Created Created with docker id 42ef4b0eea73
26m 26m 1 {kubelet gke-skywatch-cf86c224-node-21bm} spec.containers{quasar-api-staging} Started Started with docker id 42ef4b0eea73
21m 21m 1 {kubelet gke-skywatch-cf86c224-node-21bm} spec.containers{quasar-api-staging} Started Started with docker id 7dbd65668733
21m 21m 1 {kubelet gke-skywatch-cf86c224-node-21bm} spec.containers{quasar-api-staging} Created Created with docker id 7dbd65668733
15m 15m 1 {kubelet gke-skywatch-cf86c224-node-21bm} spec.containers{quasar-api-staging} Created Created with docker id d372cb279fff
15m 15m 1 {kubelet gke-skywatch-cf86c224-node-21bm} spec.containers{quasar-api-staging} Started Started with docker id d372cb279fff
10m 10m 1 {kubelet gke-skywatch-cf86c224-node-21bm} spec.containers{quasar-api-staging} Started Started with docker id bc7f5a0fe5d4
10m 10m 1 {kubelet gke-skywatch-cf86c224-node-21bm} spec.containers{quasar-api-staging} Created Created with docker id bc7f5a0fe5d4
5m 5m 1 {kubelet gke-skywatch-cf86c224-node-21bm} spec.containers{quasar-api-staging} Created Created with docker id b545a71af1d2
5m 5m 1 {kubelet gke-skywatch-cf86c224-node-21bm} spec.containers{quasar-api-staging} Started Started with docker id b545a71af1d2
3h 25s 43 {kubelet gke-skywatch-cf86c224-node-21bm} spec.containers{quasar-api-staging} Pulled Container image "us.gcr.io/skywatch-app/quasar-api-staging:15.0" already present on machine
25s 25s 1 {kubelet gke-skywatch-cf86c224-node-21bm} spec.containers{quasar-api-staging} Started Started with docker id 3e4087281881
25s 25s 1 {kubelet gke-skywatch-cf86c224-node-21bm} spec.containers{quasar-api-staging} Created Created with docker id 3e4087281881
3h 5s 1143 {kubelet gke-skywatch-cf86c224-node-21bm} spec.containers{quasar-api-staging} Backoff Back-off restarting failed docker container
pod 的日志也没有显示太多内容:
Pod "quasar-api-staging-14c385ccaff2519688add0c2cb0144b2-3r7v4" in namespace "default": container "quasar-api-staging" is in waiting state.
我已经能够在本地运行 pod,它似乎可以正常工作。我不确定还要检查或尝试什么。任何帮助或故障排除步骤都将不胜感激!
答案1
您可以尝试运行kubectl logs <podid> --previous
来查看来自容器的前一个实例的日志。
答案2
这是一个迟来的答案,但我三十分钟前就想找到它。
就我而言,原因是节点磁盘上有一个标记为最新的错误版本的 docker 镜像。
我的解决方案是从节点实例中删除错误的图像:
docker rmi faulty:latest