首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Terraform:用于计算资源的depends_on

Terraform:用于计算资源的depends_on
EN

Stack Overflow用户
提问于 2020-11-07 22:45:50
回答 1查看 580关注 0票数 1

使用案例:创建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社区论坛上发帖,目前还没有回复。

EN

回答 1

Stack Overflow用户

发布于 2020-11-08 22:15:22

快速点子,

尝试更改此处的依赖项:

代码语言:javascript
复制
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更快,因此无法获取它

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64728893

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档