配置后更改 VM 大小

Change VM size after provisioning

如何在配置虚拟机后通过 terraform 脚本缩减虚拟机?有没有办法在不修改初始 .tf 文件的情况下更新资源?

我有办法,你可以试试

1.Copy 你的 tf 文件,例如 cp vm.tf vm_back.tf 并移动 vm.tf 到另一个目录。

2.Modify vm_size vm_back.tf。我用的是这个tf file,所以我用下面的命令来改值

sed  -i 's/vm_size               = "Standard_DS1_v2"/vm_size               = "Standard_DS2_v2"/g' vm_back.tf

3.Update VM 大小通过执行 terraform apply.

4.Remove vm_back.tf 和 mv vm.tf 到原始目录。

传递一个在条件变量中使用的命令行参数如何?

例如,在您的 .tf 文件中声明一个条件值:

vm_size = "${var.vm_size == "small" ? var.small_vm : var.large_vm}"

当您想要配置小型 VM 时,只需在命令行中传递 vm_size 变量即可:

$ terraform apply -var="vm_size=small"