【问题标题】:Terraform building disks in an unpredictable for vSphere virtual machines在不可预测的 vSphere 虚拟机中 Terraform 构建磁盘
【发布时间】:2017-05-12 13:28:19
【问题描述】:

尝试将 2 个磁盘添加到 docker 的计算节点。当我使用以下节时,前 2 个服务器的磁盘已翻转。

resource "vsphere_virtual_machine" "compute" {
    # ...

    disk {
        template = "${var.cloud_template}"
        datastore = "${var.compute_datastore}"
      }

    disk {
      size = "${var.compute_datastore_var_size}"
      name = "${format("compute-var-disk-%s", element(var.compute_names,1))}"
      datastore = "${var.compute_datastore_var}"
    }

    disk {
      template = "${var.cloud_template}"
      datastore = "${var.compute_datastore}"
    }

    disk {
      size = "${var.compute_datastore_var_size2}"
      name = "${format("compute-var-disk2-%s", 
  element(var.compute_names,count.index))}"
      datastore = "${var.compute_datastore_var}"
    }
}

在 Terraform 计划和应用中:服务器 1 和 2 的磁盘 2 为 50gb,磁盘 3 的容量为 25(与我需要的相反),而服务器 3 和 4 的磁盘是正确的。

有什么想法可以帮助纠正这个问题吗?

【问题讨论】:

  • 我考虑过使用depends_on 子句,但我不知道什么或如何使第二个磁盘依赖于第一个磁盘
  • 您在这里使用哪种资源类型?许多不同的资源类型都有disk 块,我怀疑这里的答案将取决于你使用的是哪一个......
  • 我现在注意到资源是按数字顺序排列的,这个值是怎么赋值的?示例:disk.2151686800.size: "500" and disk.3070656849.size: "30"
  • 请原谅我的无知 Martin,我不确定你在问什么。对 terraform 非常陌生。
  • 刚重建,电脑1就出来了,但是2、3、4都切换了..WTH。

标签: terraform vsphere


【解决方案1】:

不幸的是,此时an issue在Terraform中如何定义vsphere_virtual_machine资源,其中disk块没有设置为保序,所以磁盘的顺序是未定义的。

在解决该问题之前,有必要采用一种解决方法,即通过磁盘标签或其他一些可用元数据来查找磁盘,而不是依赖它们在特定索引处的附件。

【讨论】:

  • 我在这方面取得了一些小的进展.. 通过更改节元素(var.compute_names,count.index)并使用数字替换 count.index。至少,我已经能够构建可重现的磁盘顺序。
猜你喜欢
  • 2021-03-09
  • 1970-01-01
  • 2017-10-09
  • 1970-01-01
  • 1970-01-01
  • 2014-09-09
  • 1970-01-01
  • 2014-06-28
  • 2017-07-21
相关资源
最近更新 更多