跨订阅将Non-Prod的AKS集群ttr-aks关联至Prod的ACR失败求助
跨订阅AKS关联ACR报错解决方案
错误原因
执行az aks update --attach-acr myacr时,Azure CLI默认会在AKS所在的Non-Prod订阅内查找名为myacr的容器注册表,但你的ACR实际在Prod订阅中,因此触发资源找不到的错误。
解决方法
方法1:使用ACR完整资源ID关联
- 先获取Prod订阅中ACR的资源ID:
az acr show --name myacr --subscription <Prod订阅ID/名称> --query id --output tsv
- 将获取到的资源ID代入AKS关联命令:
az aks update --name ttr-aks --resource-group ttr-res-grp --attach-acr <ACR资源ID>
方法2:直接指定ACR的跨订阅资源路径
直接在命令中写明ACR所在的Prod订阅、资源组和名称:
az aks update --name ttr-aks --resource-group ttr-res-grp --attach-acr /subscriptions/<Prod订阅ID>/resourceGroups/<ACR所属资源组>/providers/Microsoft.ContainerRegistry/registries/myacr
额外验证点
确保执行命令的账号同时具备:
- Non-Prod订阅中AKS集群的参与者或更高权限
- Prod订阅中ACR的读取权限(已分配的pull角色可满足,同时需确保账号能读取ACR的资源元数据)
内容的提问来源于stack exchange,提问作者Dawod Kabha
相关产品推荐
相关产品推荐

