Terraform:创建多个实例和 DNS 记录。只为第一个 01 号水滴创建了一个 DNS 记录
Terraform: create multiple instances and DNS records. Created only one DNS record for the first droplets number 01
我想创建多个实例和 DNS 记录。但是只为第一个 01 号水滴创建一个 DNS 记录。
有人可以帮助我吗?我想要所有 droplet 的 DNS 记录。
[
resource "digitalocean_droplet" "puppet" {
count = "${var.numberofservers}"
name = "${var.servername}-${format("%02d", count.index+1)}"
image = "${var.ubuntu_18}"
region = "${var.do_fra1}"
size = "${var.s_1vcpu_1gb}"
ipv6 = true
backups = false
monitoring = true
private_networking = true
tags = ["${digitalocean_tag.puppet.name}"]
ssh_keys = [
"${var.ssh_fingerprint}"
]
DNS
# Create DNS zone
resource "digitalocean_domain" "puppet_dns" {
name = "test-${var.domain_name}"
}
# Add A records to the domain
resource "digitalocean_record" "pupet_a" {
//domain = "${var.servername}" // fetching the domain name created above.
domain = "${digitalocean_domain.puppet_dns.name}"
type = "A"
name = "${element(digitalocean_droplet.puppet.*.name, count.index)}"
value = "${element(digitalocean_droplet.puppet.*.ipv4_address, count.index)}"
}
您还需要遍历为您的 DNS 记录创建的 droplet:
resource "digitalocean_record" "pupet_a" {
count = "${var.numberofservers}"
domain = "${digitalocean_domain.puppet_dns.name}"
type = "A"
name = "${element(digitalocean_droplet.puppet.*.name, count.index)}"
value = "${element(digitalocean_droplet.puppet.*.ipv4_address, count.index)}"
}
现在您只是创建一个记录资源并将第一个 Droplet 名称和 IP 地址传递给它。
我想创建多个实例和 DNS 记录。但是只为第一个 01 号水滴创建一个 DNS 记录。
有人可以帮助我吗?我想要所有 droplet 的 DNS 记录。
[
resource "digitalocean_droplet" "puppet" {
count = "${var.numberofservers}"
name = "${var.servername}-${format("%02d", count.index+1)}"
image = "${var.ubuntu_18}"
region = "${var.do_fra1}"
size = "${var.s_1vcpu_1gb}"
ipv6 = true
backups = false
monitoring = true
private_networking = true
tags = ["${digitalocean_tag.puppet.name}"]
ssh_keys = [
"${var.ssh_fingerprint}"
]
DNS
# Create DNS zone
resource "digitalocean_domain" "puppet_dns" {
name = "test-${var.domain_name}"
}
# Add A records to the domain
resource "digitalocean_record" "pupet_a" {
//domain = "${var.servername}" // fetching the domain name created above.
domain = "${digitalocean_domain.puppet_dns.name}"
type = "A"
name = "${element(digitalocean_droplet.puppet.*.name, count.index)}"
value = "${element(digitalocean_droplet.puppet.*.ipv4_address, count.index)}"
}
您还需要遍历为您的 DNS 记录创建的 droplet:
resource "digitalocean_record" "pupet_a" {
count = "${var.numberofservers}"
domain = "${digitalocean_domain.puppet_dns.name}"
type = "A"
name = "${element(digitalocean_droplet.puppet.*.name, count.index)}"
value = "${element(digitalocean_droplet.puppet.*.ipv4_address, count.index)}"
}
现在您只是创建一个记录资源并将第一个 Droplet 名称和 IP 地址传递给它。