Kubernetes中的backoff pull图像



我有一个kubernetes集群,它将containerd作为容器运行时。

正如我所读到的,Kubernetes中容器运行时而不是docker的概念并没有改变。所以我想要实现的是在我的集群中创建一个pod,使用我在本地用docker构建的图像。

所以当我有了我在本地创建的图像:

REPOSITORY   TAG       IMAGE ID       CREATED             SIZE
app          latest    726b53fd88c1   About an hour ago   932MB

当我使用图片名称"app"在我的部署文件s中,pod的状态为"errimagepull";出现以下错误:

下载图片失败"app": rpc error: code = Unknown desc = Failed to解压镜像"docker.io/library/app:latest":失败解析引用"docker.io/library/app:latest": pull访问被拒绝存储库不存在或可能需要授权:服务器消息:insufficient_scope: authorization failed

我认为发生这种情况是因为容器不识别图像。实际上,当我运行以下命令:

ctr images ls

没有图片。所以我将图像导入到containerd中,现在当我运行前面的命令时,我可以在containerd中看到我的图像:

REF                          TYPE                                                 DIGEST                                                                  SIZE      PLATFORMS   LABELS 
docker.io/library/app:latest application/vnd.docker.distribution.manifest.v2+json sha256:9e12e07a860f91b713adbb9d5752aef364328afc468d1ccc1af6a31ca464fd78 910.5 MiB linux/amd64 -  

但是当我在我的部署文件中使用上面图像的ref时,仍然会出现与我相同的错误。

如何在kubernetes部署中使用带有containerd的本地自定义映像?

最后,您似乎必须导入一个特定的名称空间,"namespace=k8s.io"。因此,如果您在这个命名空间中导入映像,kubernetes将识别该映像并成功运行pod !

相关内容

  • 没有找到相关文章

最新更新