kubernetes 错误同步 pod - 如何调试

标签 kubernetes google-kubernetes-engine

我经常在 Google Kubernetes Engine 上的 Kubernetes 集群上收到有关 Pod 未同步/ImagePullBackOff 错误的错误。但我不确定如何调试问题,因为我无法确定根本原因。

在 Google 仪表板中,我可以看到 ReplicaSet 有警告:
Pod 错误:ImagePullBackOff

如果我深入到 pod,我可以在日志中看到:
消息:同步 pod 时出错
原因:同步失败

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

我已经为 cockroachdb 分配了 1 GB 的持久存储空间 - 将尝试增加到 10 GB 以查看是否可以解决任何问题。或者我是否需要增加节点池上的磁盘大小?

最佳答案

ImagePullBackOff 发生的大部分时间是由于图像名称中的拼写错误或无法访问存储库:

  • 通过在 docker pull 命令中复制/粘贴图像名称来检查拼写错误(复制/粘贴以便任何错误也被复制/粘贴:您想找到错误而不是确认您自己的偏见)。
  • 通过登录 pod 并执行 nslookup/dig 命令(或 ping opr 任何命中 DNS 的内容)来检查 DNS 的可达性。
  • 关于kubernetes 错误同步 pod - 如何调试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47999348/

    相关文章:

    kubernetes - Kubernetes pods 副本是否同时运行?

    Kubernetes 就绪检查未正确设置 HTTP 主机 header

    python - Python 3 引发的 IndentationError : unexpected indent,。Pod 部署 YAML 中 Kubernetes args 条目中使用的代码

    logging - stackdriver-metadata-agent-cluster-level 得到 OOMKilled

    google-compute-engine - 创建 TLS 入口资源时如何(重新)使用现有的静态 IP 地址?

    kubernetes - 如何在Google Kubernetes Engine中保留pod生命周期状态和事件?

    reactjs - 如何在 Next.js 上设置健康检查的端点?

    kubernetes - 如何在一个 Kubernetes 的 pod 中实现后处理容器

    kubernetes - Kubernetes监控和 self 修复

    go - 是否可以通过 GKE 上的多个微服务共享单个 Redis 服务器?