azure - 使用 terraform 从规模集中删除实例
问题描述
我正在尝试使用 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 做到这一点?
解决方案
使用 Terraform 管理虚拟机规模集时,Terraform 根本不与单个实例交互。相反,它可以更改更新规模集的设置以匹配您在配置中编写的内容,然后让规模集本身适当地响应该新配置。
例如,如果您希望特定 SKU 的实例更少,则可以编辑 Terraform 配置,capacity
为该 SKU 的参数设置一个较低的值,然后运行terraform apply
. 如果您接受该计划,Terraform 将更新规模集以降低容量,然后远程规模集系统将决定如何响应。
要删除 Terraform 正在管理的内容,例如规模集本身,我们会将其从配置中删除并运行terraform apply
. 因为 Terraform 不管理此规模集中的单个实例,所以我们不能告诉 Terraform 直接删除它们。如果您需要这种控制,那么您需要直接使用 Terraform 管理虚拟机(根本不使用规模集)或使用单独的工具(Terraform 之外)与您提到的 API 进行交互。
推荐阅读
- python - 基于文本的库存系统,字典访问
- android - Firebase 受众 - 使用用户 ID 登录的内容
- css - 写作模式:vertical-rl 在 Firefox 中不能正常工作
- date - Google表格摘要数据-根据日期选择最新行
- amazon-web-services - aws S3 ListObjectsV2 api中的start-after是什么意思?
- r - 在 R 中使用 tapply(dataframe, index, function) 作为函数 2 列的参数
- google-cloud-platform - 外部 IP 无法访问 Google 云实例
- javascript - 连接函数名称reactjs
- python - 按钮不出现
- pine-script - 松脚本的开盘收盘价差