creación de zona inversa de terraform ddns

creación de zona inversa de terraform ddns

Estoy intentando actualizar DNS automáticamente con terraform utilizando el proveedor de DNS. He tenido éxito con la zona delantera pero no con la zona inversa. Tengo entendido que PTR debería ser la parte del host de la dirección IP. Intenté proporcionar esto usando lo siguiente (desinfectado):

# 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)}""
}

Recibo un error: * dns_ptr_record.reverse.0: Error al crear el registro DNS: "ptr" debería ser un FQDN

Lo que estoy tratando de hacer es buscar la dirección IP de esa VM según el valor del recuento y dividirla en "." personaje y toma el tercer elemento. Ejecutar un plan muestra que esto funcionó, pero aplicarlo obviamente no funcionó:

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

En el ejemplo de la documentación de Terraform para dns_ptr_record ptr es un nombre de dominio, lo que me llevó a intentar crear entradas en mi zona inversa, como por ejemplo:

example.com.0.11.10.in-addr.arpa

¿Alguien puede indicarnos la forma correcta de hacer esto?

La documentación es muy vaga y no puedo encontrar tutoriales o ejemplos decentes en ninguna parte.

Respuesta1

Cambie las variables PTR y 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."
}

información relacionada