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

Azure容器注册表获取凭证出错:Jenkins与ACS持续部署教程问题

解决Azure容器注册表获取凭证错误的排查方案

我之前在做Jenkins+Azure容器服务的持续部署集成时,也碰到过一模一样的ACR凭证获取问题,结合你提到的az vm extension set命令场景,给你梳理几个实用的排查和解决方向:

1. 先验证基础权限与ACR可用性

  • 首先确认执行命令的Azure账号(或者服务主体)拥有目标ACR的**AcrPull及以上权限**,可以到ACR的「访问控制(IAM)」页面检查角色分配,没有的话直接添加对应权限。
  • 手动执行命令验证账号能否正常获取ACR凭证:
    az acr credential show --name <你的ACR名称> --resource-group <资源组名>
    
    如果这个命令直接报错,那说明是账号权限或ACR本身的问题,先解决这个基础问题再往下走。

2. 检查CustomScript脚本里的ACR参数

你用的CustomScript扩展是通过脚本完成Jenkins与ACR的集成,要确认:

  • 脚本里的ACR名称、资源组名和实际创建的资源完全一致,Azure资源名称是大小写敏感的,别犯拼写错误。
  • 脚本中获取ACR凭证的逻辑是否正确,比如有没有正确调用az acr credential show,并正确提取username和password字段。

3. 查看VM扩展的执行日志定位具体错误

Azure VM扩展的日志能帮你找到脚本执行时的具体问题:

  • 如果是Linux VM,登录后查看路径/var/lib/waagent/custom-script/download/0/下的stdout和stderr文件;
  • 如果是Windows VM,查看路径C:\Packages\Plugins\Microsoft.Azure.Extensions.CustomScript\2.0\Downloads\0下的日志文件。
    日志里会明确记录脚本执行时哪一步出错,比如是不是命令返回了非0退出码,或者变量引用错误。

4. 验证VM与ACR的网络连通性

有时候VM无法访问ACR服务也会导致凭证获取失败:

  • 在VM里执行nslookup <你的ACR名称>.azurecr.io,确认能解析到正确的IP地址;
  • 尝试在VM里手动执行az acr login --name <你的ACR名称>,看是否能正常登录,排除网络或者Azure CLI版本的问题。

5. 检查VM内的Azure CLI版本

如果VM里的Azure CLI版本过旧,可能会和最新的ACR API不兼容:

  • 在VM里执行az --version,如果版本低于2.0.80,建议执行az upgrade更新到最新稳定版,再重新运行扩展命令。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.26 08:25:22