Я пытаюсь автоматически обновить 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-адрес этой виртуальной машины на основе значения счетчика, разделив его на "." персонаж и возьмите 3-й элемент. Выполнение плана показывает, что это сработало, но его применение явно не помогло:
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
Может кто-нибудь посоветовать, как это сделать?
Документация очень расплывчата, и я нигде не могу найти никаких руководств или достойных примеров.
Переключите переменные 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."
}