Kubernetes同步容器错误 - 如何调试

7
我经常会在Google Kubernetes Engine上的Kubernetes集群上遇到关于Pod未同步/ ImagePullBackOff错误的问题。但是我不确定如何调试此问题,因为我无法确定根本原因。
在Google控制台中,我可以看到ReplicaSet有警告: Pod错误:ImagePullBackOff
如果我深入到Pod中,我可以看到日志中: 消息:同步Pod错误 原因:FailedSync

enter image description here

但是没有更进一步的信息。为什么Pod同步失败?
更新:在日志中向下滚动,我看到:
Failed to pull image "cockroachdb/cockroach:v1.1.3": rpc error: code = Unknown desc = failed to register layer: ApplyLayer exit status 1 stdout: stderr: open /usr/share/zoneinfo/right/America/Pangnirtung: no space left on device

我已经分配了1GB的持久化存储给CockroachDB - 我要尝试增加到10GB,看看是否可以解决问题。或者我需要增加节点池上的磁盘大小吗?

k8s新手问题 - 你是如何获取这些日志的? - ironic
1个回答

4

ImagePullBackOff大多数情况下是由于镜像名称拼写错误或无法访问存储库引起的:

  • 通过复制/粘贴镜像名称来检查拼写错误,在docker pull命令中执行(复制/粘贴以便任何错误也被复制/粘贴:您想找到错误而不是确认自己的偏见)。
  • 通过登录到一个Pod并执行nslookup/dig命令(或ping opr任何命中DNS的命令)来检查DNS可达性。

谢谢Norbert。这是使用通过Helm安装的预制helm图像发生的,因此我认为这不是名称或存储库的问题。我已经附上了我的日志中的错误图像。 - skunkwerk
你似乎找到了第三个可能的原因:检查下载镜像的磁盘。你的磁盘似乎已经满了。 - Norbert
发生在我身上,结果发现我试图拉取一个私有镜像.. 哎呀。 - prasanthv

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接