【发布时间】:2021-04-26 21:59:12
【问题描述】:
我能够在 Azure 上使用 terraform 成功部署 5 个数据磁盘,但是当我签入门户时,这些数据磁盘不是随机排序的(lun3、lun1、lun0、lun2、lun4),但是当我使用 ARM 部署相同的磁盘时模板它们按顺序更新。
下面是我附加磁盘的代码
resource "azurerm_managed_disk" "disk" {
for_each = toset([for index in local.map : j.index])
name = ...
location = ...
resource_group_name = ...
storage_account_type = ...
create_option = "Empty"
disk_size_gb = ..
}
resource "azurerm_virtual_machine_data_disk_attachment" "disk_attach" {
for_each = toset([for index in local.map : j.index])
lun = 0..n
managed_disk_id = azurerm_managed_disk.disk[each.key].id
virtual_machine_id = ...
caching = "None"
}
terraform plan 按顺序生成资源,但一旦部署完成,它们在 Azure 门户中的填充顺序是随机的。我检查了文档 virtual_machine_data_disk_attachment 和 managed_disk 但它们不是这种顺序排序的标志/选项/属性。
我也检查了az disk list,但无法获得太多信息来解决这个问题。
有什么方法可以确保 terraform 生成和附加数据磁盘的顺序类似于 ARM 模板的操作方式,即按照 LUN 编号的顺序?
【问题讨论】:
-
通过删除 managed_disk 和 disk_attach 解决了这个问题,并为 storage_disk 添加了一个动态标签
标签: azure terraform arm-template terraform-provider-azure azureportal