【发布时间】:2019-09-24 22:58:08
【问题描述】:
我正在尝试使用 Terraform 将同一资源组中的两个虚拟机部署到我们的 Azure 平台。在成功创建第一个之后,Terraform 想要销毁第一个以在我更改了第二个 VM 名称和 Azure 标记后创建第二个。
我一直在关注 Terraform 指南:https://www.terraform.io/docs/providers/azurerm/r/virtual_machine.html
resource "azurerm_virtual_machine" "main" {
location = "${var.location}"
name = "${var.vm_name}"
network_interface_ids = ["${azurerm_network_interface.main.id}"]
resource_group_name = "${var.resourcegroup_vm}"
vm_size = "${var.vm_size}"
tags {
application = "${var.tag}"
}
我希望 Terraform 在更改其变量名称和标签后创建第二个 VM。不想因为名称和标签的变化而破坏第一个。
【问题讨论】:
-
我认为您需要复制代码或使用迭代才能使其工作。或将此代码复制到一个新文件夹并在该文件夹中启动一个新的 terraform“项目”
-
@4c74356b41 - 是的,如果我只是将代码复制到一个带有辅助 VM 的名称 + 标记的新项目中,它可能会起作用,但如果你可以使用相同的项目,它会容易得多创建多个名称更改的虚拟机。
-
@4c74356b41 - 从新项目部署第二个虚拟机时它工作正常。但是我仍然有兴趣知道是否可以在同一个项目中做。将多个 VM 部署到同一个资源组时更容易。
-
如果要在同一个项目中创建多个vm,只需在vm块中设置count即可。
标签: terraform azure-virtual-machine