拉取 docker 个图像时 Kubernetes ImagePullBackOff 错误

Kubernetes ImagePullBackOff Errors when pulling docker images

我在 Google Container Registry 中有一个大小为 6.5GB 的映像。当我尝试通过部署在 Kubernetes 集群节点(工作节点)上拉取图像时,发生错误:ErrImagePull(或有时是 ImagePullBackOff)。我使用 describe 命令详细查看错误。错误描述为 Failed to pull image "gcr.io/.../.. ": rpc error: code = Canceled desc = context canceled 可能是什么问题以及如何缓解它?

kubelet 似乎希望在拉取大图像期间更新进度,但目前大多数容器注册表默认情况下不可用。这不是理想的行为,但看起来人们已经能够通过调整超时

阅读 https://github.com/kubernetes/kubernetes/issues/59376 and Kubernetes set a timeout limit on image pulls 上的回复来解决这个问题

启动 kubelet 时使用 --image-pull-progress-deadline duration 作为参数。

这在 kubelet documentation 中有记载。

If no pulling progress is made before this deadline, the image pulling will be cancelled. (default 1m0s)