使用Terraform创建带托管标识的Azure AKS时报AutoUpgradePreview未启用错误
问题原因
报错是因为你使用的2.79.1版本azurerm provider存在特性调用逻辑问题,创建AKS时会默认请求未在订阅启用的
Microsoft.ContainerService/AutoUpgradePreview预览特性,触发权限拦截。
修复方案
方案1:升级azurerm provider版本(推荐)
这个问题是旧版azurerm provider的已知问题,3.0及以上版本已经修复了该默认调用逻辑,不需要启用预览特性即可正常创建AKS。修改terraform块中的provider版本配置即可:
terraform { required_providers { azurerm = { source = "hashicorp/azurerm" version = ">=3.0.0" # 替换为3.0以上的稳定版本即可 } } }
修改后执行terraform init -upgrade更新provider版本,之后重新执行apply即可正常部署。
方案2:若必须使用2.79.1版本,手动开启对应预览特性
如果你有特殊需求必须留存当前provider版本,可通过Azure CLI开启对应订阅的预览特性,步骤如下:
- 首先登录Azure CLI,确保当前上下文为你部署AKS的目标订阅
- 执行命令注册AKS AutoUpgradePreview特性:
az feature register --namespace Microsoft.ContainerService --name AutoUpgradePreview
- 等待注册完成,可通过以下命令查询状态,状态显示为
Registered即为生效:
az feature show --namespace Microsoft.ContainerService --name AutoUpgradePreview --query properties.state
- 注册完成后刷新ContainerService资源提供者配置:
az provider register --namespace Microsoft.ContainerService
等待配置生效后重新执行terraform apply即可完成部署。
内容的提问来源于stack exchange,提问作者everspader
相关产品推荐
相关产品推荐

