Я получаю сообщение об ошибке при попытке развернуть кластер AKS с использованием шаблона ARM, если vnetSubnetId в свойстве agentPoolProfiles является ссылкой.Я использовал этот точный шаблон раньше без проблем (4 октября), но теперь я вижу ошибку с несколькими различными кластерами, и когда я делаю это либо через конвейер VSTS, либо вручную с помощью PowerShell.
Свойство настраивается следующим образом:
"agentPoolProfiles": [
{
"name": "agentpool",
"count": "[parameters('agentCount')]",
"vmSize": "[parameters('agentVMSize')]",
"osType": "Linux",
"dnsPrefix": "[variables('agentsEndpointDNSNamePrefix')]",
"osDiskSizeGB": "[parameters('agentOsDiskSizeGB')]",
"vnetSubnetID": "[reference(concat('Microsoft.Network/virtualNetworks/', variables('vnetName'))).subnets[0].id]"
}
]
Переменная 'vnetName' основана на входном параметре, который я использую для имени кластера, а сама виртуальная сеть 100% существует и развертывается как частьтот же шаблон.
Если я пытаюсь развернуть новый кластер, я получаю следующую ошибку:
Message: {
"code": "InvalidParameter",
"message": "The value of parameter agentPoolProfile.vnetSubnetID is invalid.",
"target": "agentPoolProfile.vnetSubnetID"
}
Если я пытаюсь повторно развернуть кластер, без изменений шаблона или входных параметров, так как онв последний раз я получал следующую ошибку:
Message: {
"code": "PropertyChangeNotAllowed",
"message": "Changing property 'agentPoolProfile.vnetSubnetID' is not allowed.",
"target": "agentPoolProfile.vnetSubnetID"
}
Что-то изменилось, что означает, что я больше не могу получить идентификатор vnet во время выполнения?Должен ли он быть передан в качестве параметра сейчас?Если что-то изменилось, есть ли где-нибудь, где я могу узнать подробности?
Изменить: Просто чтобы уточнить, для повторного развертывания кластера, я проверил, и нет новых подсетей, и я вижутакое же поведение в 3 разных кластерах с разными виртуальными сетями.
Переключение с reference () на resourceId () решило проблему, поэтому было помечено как ответ, но я до сих пор не понимаю, почему остановился reference ()работает, обновлю и здесь, если я это выясню.