terraform ddns 反向区域创建

terraform ddns 反向区域创建

我正在尝试使用 dns 提供程序通过 terraform 自动更新 DNS。我已成功使用正向区域,但未成功使用反向区域。我的理解是 PTR 应该是 IP 地址的主机部分。我尝试使用以下内容(已清理)提供此信息:

# Configure Kubernetes DNS
provider "dns" {
  update {
    server = "<DNS IP ADDRESS>"
    key_name = "nsadmin."
    key_algorithm = "hmac-md5"
    key_secret = "<SECRET>"
  }
}

# Kubernetes master servers
resource "dns_a_record_set" "forward" {
  count = 2
  zone = "k8s.mydomain.example."
  name = "kubernetes-master${count.index + 1}"
  addresses = [
    "${lookup(var.ipv4_addresses_int1, count.index)}",
  ]
}
resource "dns_ptr_record" "reverse" {
  count = 2
  zone = "0.11.10.in-addr.arpa."
  name = "kubernetes-master${count.index + 1}"
  ptr  = "${element(split(".",lookup(var.ipv4_addresses_int1, count.index)),3)}""
}

我收到一个错误:* dns_ptr_record.reverse.0:创建 DNS 记录时出错:“ptr”应该是 FQDN

我试图根据计数值查找该虚拟机的 IP 地址,按“。”字符拆分它并取第三个元素。运行计划表明这有效,但应用它显然没有效果:

dns_ptr_record.reverse[0]: Creating...
  name: "" => "kubernetes-master1"
  ptr:  "" => "1"
  ttl:  "" => "3600"
  zone: "" => "0.11.10.in-addr.arpa."

在 terraform 文档中,dns_ptr_record ptr 的示例中是一个域名,这导致我尝试在反向区域中创建条目,例如:

example.com.0.11.10.in-addr.arpa

有人可以告知正确的方法吗?

文档非常模糊,我找不到任何教程或合适的示例。

答案1

切换 PTR 和 NAME 变量。

resource "dns_ptr_record" "reverse" {
  count = 2 
  zone = "0.11.10.in-addr.arpa." 
  name = "${element(split(".",lookup(var.ipv4_addresses_int1, count.index)),3)}"
  ptr = "kubernetes-master${count.index + 1}.k8s.example.com."
}

相关内容