【问题标题】:Terraform / alicloud : create an ECS instance with multiple data disksTerraform / alicloud : 创建一个多数据盘的ECS实例
【发布时间】:2020-12-15 12:05:09
【问题描述】:

我正在尝试使用 terraform 创建多个 ecs 实例。事实上,我希望每个 ecs 实例都有多个数据磁盘。所以一个磁盘用于 OS 和 2 个其他数据磁盘。

代码 sn-p 应该是这样的:

resource "alicloud_instance" "node" {
  image_id                      = data.alicloud_images.nodes.id
  instance_type                 = var.instance_type_controller
  internet_max_bandwidth_out    = 100
  security_groups               = alicloud_security_group.cluster.id

  key_name = var.key_pair
  count    = 1

  system_disk_size              = 80

  data_disks                    = [
    {
      name                  = "/dev/xvdb"
      size                  = 200
      delete_with_instance  = true
    },
    {
      name                  = "/dev/xvdc"
      size                  = 100
      delete_with_instance  = true
    }
  ]
}

唯一的问题是我有一条消息错误告诉我

An argument named "data_disks" is not expected here. Did you mean to define a
block of type "data_disks"?

我浏览了documentation,我很确定data_disks 的类型是list(map(string)),所以我写的应该可以工作,但只有当我将它设置为时才能工作

data_disks {
      name                  = "/dev/xvdb"
      size                  = 200
      delete_with_instance  = true
}

但是我需要多个数据磁盘连接到我的 ECS 实例...我错过了什么吗?

我正在使用以下 terraform/provider 版本:

Terraform v0.13.0
+ provider registry.terraform.io/hashicorp/alicloud v1.94.0
+ provider registry.terraform.io/hashicorp/random v2.3.0
+ provider registry.terraform.io/hashicorp/template v2.1.2

【问题讨论】:

  • 您需要多次重复该块。
  • 太棒了,它就像一个魅力,谢谢@ydaetskcoR

标签: terraform alibaba-cloud terraform0.12+ alibaba-cloud-ecs


【解决方案1】:

正如@ydaetskcoR 评论的那样。解决方案是拥有多个 data_disks 块。所以是这样的:

resource "alicloud_instance" "node" {
  image_id                      = data.alicloud_images.nodes.id
  instance_type                 = var.instance_type_controller
  internet_max_bandwidth_out    = 100
  security_groups               = alicloud_security_group.cluster.id

  key_name = var.key_pair
  count    = 1

  system_disk_size              = 80
   
  data_disks {
      name                  = "/dev/xvdb"
      size                  = 200
      delete_with_instance  = true
  }

  data_disks {
      name                  = "/dev/xvdc"
      size                  = 100
      delete_with_instance  = true
  }
 
}

【讨论】:

    猜你喜欢
    • 2020-03-01
    • 1970-01-01
    • 2018-12-27
    • 2020-06-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-09-26
    相关资源
    最近更新 更多