使用案例:创建X个虚拟机,并为每个虚拟机分配一个公共ip。
到目前为止,研究发现了之前创建的发行票-日期为2017年。(https://github.com/hashicorp/terraform/issues/15285),其中@apparentlymart讨论了这个问题。
修复的问题是,在terraform v0.12中,添加了对单个常量的显式支持,以便在depends_on中引用。
我的回忆录:https://github.com/CPWu/terraform_azure_compute
尝试创建一个将创建X个azure linux计算的模块时,第一个VM创建得很完美,但“2X”请求中的第二个计算单元没有正确创建。将创建动态IP,但不会将其分配给与第二个虚拟机关联的NIC。我的理解是,这是因为计数的资源被视为单个节点,而IP在NIC创建时不可用。我研究了v0.12.6中实现的for_each构造,但这看起来并不能解决我的问题。
更新:我可以看到所有资源都已创建,但IP1和以后的更新并未获得与相应服务器NIC的关联。我也在Hashicorp社区论坛上发帖,目前还没有回复。
发布于 2020-11-08 22:15:22
快速点子,
尝试更改此处的依赖项:
resource "azurerm_network_interface" "sandbox_nic" {
name = "${var.SERVER_NAME}-${format("%02d",count.index)}-nic"
location = var.AZURE_REGION
resource_group_name = var.RESOURCE_GROUP_NAME
count = var.NODE_COUNT
ip_configuration {
name = "${var.SERVER_NAME}-ip"
subnet_id = azurerm_subnet.sandbox_subnet.id
private_ip_address_allocation = "dynamic"
public_ip_address_id = count.index == 0 ? element(azurerm_public_ip.sandbox_public_ip.*.id,count.index) : null
}
**depends_on = [
azurerm_public_ip.sandbox_public_ip[1],
]**}
至:
没有索引指针的azurerm_public_ip.sandbox_public_ip接口的创建速度可能比第3和第4个IP更快,因此无法获取它
https://stackoverflow.com/questions/64728893
复制相似问题