首页 > 解决方案 > 从 ACR 拉取时,ImagePullBackOff 带有“rpc 错误:代码 = 未知 desc = 无法从 AKS 拉取和解压缩图像”

问题描述

从 ACR 拉取 service-jenkins 自定义映像时,AKS 给出以下错误:

警告失败 0s (x2 over 31s) kubelet 无法拉取图像“XXX.azurecr.io/service-jenkins:latest”:[rpc 错误:代码 = 未知 desc = 无法拉取和解压图像“XXX.azurecr.io/service -jenkins:latest":无法提取层 sha256:XXX:意外 EOF:未知,rpc 错误:code = Unknown desc = 无法提取和解压缩图像“XXX.azurecr.io/service-jenkins:latest”:无法解决参考“XXX.azurecr.io/service-jenkins:latest”:授权失败:无法获取匿名令牌:意外状态:401 未授权]

我们已采取以下步骤来尝试解决此问题:

  1. 使用 SP 而不是使用存储在同一命名空间中的机密将 AKS 与 ACR 连接
  2. 上传了由 AKS 成功提取的示例 hello-world 图像
  3. 已验证图像密钥与 ACR 密钥匹配

我们使用本地 docker 引擎拉取并执行了 service-jenkins 镜像,以检查镜像构建是否存在问题,但容器运行正常。

我们无法确定确切的问题。任何帮助表示赞赏!

标签: jenkinsazure-aksacr

解决方案


如果您的错误中有“匿名访问令牌”之类的措辞,则在 azure cloud shell 上运行以下命令

请按照以下步骤操作:-

  1. 转到天蓝色门户
  2. 使用 cloudshell 登录到 aks 集群
  3. 运行以下命令:

az acr update --anonymous-pull-enabled


推荐阅读