создание обратной зоны 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» должно быть полным доменным именем

Я пытаюсь найти 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."
}

Связанный контент