首页 > 解决方案 > 如何将第二个 ACR 附加到我的 AKS 群集?

问题描述

该文档描述了如何将 ACR 附加到现有 AKS 群集,https://docs.microsoft.com/en-us/azure/aks/cluster-container-registry-integration

附上第一个 ACR:

az account set --subscription acr-subscription
$ACR_ID = $(az acr show --name $ACRName  --resource-group $ACRResourceGroupName --query "id" --output tsv)
az account set --subscription aks-subscription
az aks update --name cluster-name --resource-group cluster-resource --attach-acr $ACR_ID

标签: azure-aksazure-container-service

解决方案


基于这个 StackOverFlow question,只要您的 ID 格式正确,这应该可以工作

echo $(az acr show --name $name --resource-group $resourcegroup --query "id" --output tsv)

返回正确的格式和值。

关联的代码--attach-acr只需使用与 kubernetes 集群关联的 identity_profile ID 将 acrpull IAM 角色添加到 ACR 资源。

https://github.com/Azure/azure-cli/blob/a9fe6167381b53dac19a3007f726adf27b64f28b/src/azure-cli/azure/cli/command_modules/acs/custom.py#L559

代码中没有任何地方检查另一个 ACR 之前是否已附加到 AKS 资源。因此,它应该可以直接为多个实例设置角色分配。

这应该可以正常工作

az account set --subscription acr-subscription
$ACR_ID = $(az acr show --name $ACRName  --resource-group $ACRResourceGroupName --query "id" --output tsv)

az account set --subscription acr2-subscription
$ACR2_ID = $(az acr show --name $ACR2Name  --resource-group $ACR2ResourceGroupName --query "id" --output tsv)

az account set --subscription aks-subscription
az aks update --name cluster-name --resource-group cluster-resource --attach-acr $ACR_ID
az aks update --name cluster-name --resource-group cluster-resource --attach-acr $ACR2_ID

推荐阅读