如何将第二个ACR附加到我的AKS群集?

时间:2020-07-17 19:43:02

标签: azure-aks azure-container-service

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

  • 如何将第二个ACR附加到我的AKS群集上?
  • ACR的订阅不同。

附加第一个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

1 个答案:

答案 0 :(得分:2)

基于此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