0

我正在尝试使用 terraform 从我的规模集中删除特定实例。我知道有一个 REST API:

https://docs.microsoft.com/en-us/rest/api/compute/virtualmachinescalesets/deleteinstances

但是,azure tf 的页面并没有在任何地方真正提到这一点。

https://www.terraform.io/docs/providers/azurerm/r/virtual_machine_scale_set.html

我如何用 terraform 做到这一点?

4

1 回答 1

1

使用 Terraform 管理虚拟机规模集时,Terraform 根本不与单个实例交互。相反,它可以更改更新规模集的设置以匹配您在配置中编写的内容,然后让规模集本身适当地响应该新配置。

例如,如果您希望特定 SKU 的实例更少,则可以编辑 Terraform 配置,capacity为该 SKU 的参数设置一个较低的值,然后运行terraform apply​​. 如果您接受该计划,Terraform 将更新规模集以降低容量,然后远程规模集系统将决定如何响应。

要删除 Terraform 正在管理的内容,例如规模集本身,我们会将其从配置中删除并运行terraform apply. 因为 Terraform 不管理此规模集中的单个实例,所以我们不能告诉 Terraform 直接删除它们。如果您需要这种控制,那么您需要直接使用 Terraform 管理虚拟机(根本不使用规模集)或使用单独的工具(Terraform 之外)与您提到的 API 进行交互。

于 2020-07-08T01:21:25.890 回答