You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

无法从ACR拉取镜像至Kubernetes:授权失败问题求助

解决Azure容器注册表(ACR)镜像拉取授权错误的步骤

1. 验证imagePullSecret的有效性

  • 检查secret类型是否正确,执行命令:
    kubectl get secret wc1 -o jsonpath='{.type}'
    
    输出必须为kubernetes.io/dockerconfigjson,否则secret无效。
  • 解码secret内容,确认ACR地址、用户名、密码匹配:
    kubectl get secret wc1 -o jsonpath='{.data.\.dockerconfigjson}' | base64 -d
    
    核对auths字段中somename.azurecr.io对应的用户名,以及base64解码后的密码是否与本地~/.docker/config.json里的ACR认证条目一致。

2. 检查Deployment对secret的引用配置

  • 打开deployment-name.yml,确认imagePullSecrets的缩进和名称完全正确,格式需符合:
    spec:
      template:
        spec:
          imagePullSecrets:
          - name: wc1
    
  • 确认镜像地址完全匹配:Deployment中的镜像地址必须和secret里的ACR域名完全一致(如somename.azurecr.io/someimage:latest,不能有拼写或格式错误)。

3. 校验ServicePrincipal权限(若使用SP方式)

  • 确认SP拥有ACR的AcrPull角色,执行Azure CLI命令:
    az role assignment list --assignee <SP_CLIENT_ID> --scope /subscriptions/<SUBSCRIPTION_ID>/resourceGroups/<RG_NAME>/providers/Microsoft.ContainerRegistry/registries/<ACR_NAME>
    
    若输出无AcrPull角色,执行以下命令添加权限:
    az role assignment create --assignee <SP_CLIENT_ID> --role AcrPull --scope /subscriptions/<SUBSCRIPTION_ID>/resourceGroups/<RG_NAME>/providers/Microsoft.ContainerRegistry/registries/<ACR_NAME>
    

4. 检查ACR访问策略与集群网络连通性

  • 若ACR设置了防火墙规则,需将K8s集群节点的IP段加入ACR允许列表,或开启“允许受信任的Microsoft服务访问”选项。
  • 在集群节点上执行nslookup somename.azurecr.io,确认ACR域名能正常解析。

5. 重建secret并重新部署

  • 删除现有secret:
    kubectl delete secret wc1
    
  • 用ACR管理员账号重新创建secret:
    kubectl create secret docker-registry wc1 --docker-server=somename.azurecr.io --docker-username=<ACR_ADMIN_USER> --docker-password=<ACR_ADMIN_PWD> --docker-email=any@example.com
    
  • 重新部署应用:
    kubectl apply -f deployment-name.yml
    

6. 排查Pod的详细错误信息

  • 查看Pod的事件日志,定位具体错误:
    kubectl describe pod <POD_NAME>
    
    重点关注Events段的报错细节,区分是secret引用错误、权限不足还是网络问题。

内容的提问来源于stack exchange,提问作者Chilarai

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.23 05:52:12