gpt4 book ai didi

terraform - 使用 terraform 和计数部署 gcp 实例(使用 attached_disk)

转载 作者:行者123 更新时间:2023-12-05 01:44:22 25 4
gpt4 key购买 nike

环境:

  • terraform v0.10.7
  • 谷歌云平台
  • 用于创建后端、变量等的各种 .tf 文件

问题:

我能够创建多个虚拟机实例以及多个额外的磁盘(boot_disk 在每个实例上工作正常)但我希望能够相应地将这些额外的磁盘附加到每个虚拟机,而不必为每个虚拟机单独添加(如果这是有道理的!)。

我目前拥有的代码是(它适用于构建多个计算实例以及多个附加磁盘):注意(我已经注释掉了 attached_disk which errors atm)

# vm1.tf

variable "node_count" {
default = "3"
}

resource "google_compute_disk" "test-node-1-index-disk-" {
count = "${var.node_count}"
name = "test-node-1-index-disk-${count.index}-data"
type = "pd-standard"
zone = "${var.zone}"
size = "5"
}
resource "google_compute_instance" "test-node-" {
count = "${var.node_count}"
name = "test-node-${count.index}"
machine_type = "${var.machine_type}"
zone = "${var.zone}"

boot_disk {
initialize_params {
image = "${var.image}"
}
}
# attached_disk {
# source = "${google_compute_disk.test-node-1-index-disk-0}"
# device_name = "${google_compute_disk.test-node-1-index-disk-0}"
# }


network_interface {
network = "default"
access_config {
// Ephemeral IP
}

}
}

如果我做单独的 .tf attached_disk 没有问题。

我期望的最终状态,是能够构建多个虚拟机,使用计数的多个附加磁盘,并将每个添加的磁盘附加/分配给每个虚拟机实例,关系为 1:1,但最好在单个 .tf 中并阻止...

我想,我可以考虑应用一个 post gcloud compute 命令来附加(知道预期的命名约定),但我希望它更加动态并在创建时完成。

我是不是处理错了?非常感谢任何帮助/指点!

谢谢布赖

最佳答案

# vm1.tf

variable "node_count" {
default = "3"
}

resource "google_compute_disk" "test-node-1-index-disk-" {
count = "${var.node_count}"
name = "test-node-1-index-disk-${count.index}-data"
type = "pd-standard"
zone = "${var.zone}"
size = "5"
}
resource "google_compute_instance" "test-node-" {
count = "${var.node_count}"
name = "test-node-${count.index}"
machine_type = "${var.machine_type}"
zone = "${var.zone}"

boot_disk {
initialize_params {
image = "${var.image}"
}
}
attached_disk {
source = "${element(google_compute_disk.test-node-1-index-disk-.*.self_link, count.index)}"
device_name = "${element(google_compute_disk.test-node-1-index-disk-.*.name, count.index)}"
}


network_interface {
network = "default"
access_config {
// Ephemeral IP
}

}
}

关于terraform - 使用 terraform 和计数部署 gcp 实例(使用 attached_disk),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46618068/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com