Вопрос или проблема
У меня возникли проблемы со списком DNS-серверов и конфигурацией домена при использовании провайдера vsphere v2.9.3 в Terraform.
В моих файлах terraform.tfvars
я попробовал все нижеуказанные конфигурации, и ни одна из них не работает при создании виртуальной машины. На этапе планирования все выглядит нормально, но когда я смотрю в файл /etc/resolv.conf
на сервере, он пуст.
Что касается DNS-серверов, я пробовал:
vm_dns_servers_list = ["1.2.3.4", "1.2.3.5", "1.2.3.6"]
vm_dns_server = ["1.2.3.4", "1.2.3.5", "1.2.3.6"]
Что касается DNS-домена, я пробовал:
vm_dns_suffix_list = "example.com"
vm_domain = "example.com"
Ни один из вариантов не работает.
Ответ или решение
Проблема с конфигурацией DNS-серверов и домена в Terraform с использованием провайдера vSphere может быть вызвана несколькими факторами. Давайте разберём их более подробно и предложим возможные решения.
1. Проверка конфигурации Terraform
Ваши текущие настройки в файле terraform.tfvars
выглядят следующим образом:
vm_dns_servers_list = ["1.2.3.4", "1.2.3.5", "1.2.3.6"]
vm_dns_server = ["1.2.3.4", "1.2.3.5", "1.2.3.6"]
vm_dns_suffix_list = "example.com"
vm_domain = "example.com"
Проверьте, что вы используете правильные атрибуты в вашем ресурсном блоке. Например, при настройке виртуальной машины в Terraform с использованием vSphere, конфигурация может выглядеть следующим образом:
resource "vsphere_virtual_machine" "vm" {
# Другие настройки виртуальной машины
network_interface {
network_id = data.vsphere_network.network.id
adapter_type = "vmxnet3"
dns_server_list = var.vm_dns_servers_list
dns_suffix_list = [var.vm_dns_suffix_list]
}
}
2. Версия провайдера
Убедитесь, что вы используете последнюю версию провайдера vSphere. На момент вашего вопроса, вы упомянули версию 2.9.3. Возможно, в более новых версиях были исправлены баги, связанные с конфигурацией DNS. Обновите ваш Terraform и провайдер до последней стабильной версии:
terraform init -upgrade
3. Проверка сетевых настроек
Проверьте, что ваша сеть в vSphere правильно настроена и у неё есть доступ к указанным DNS-серверам. Убедитесь, что IP-адреса DNS-серверов действительны и доступны из вашей сети.
4. Параметры виртуальной машины
Если после всех проверок в файле /etc/resolv.conf
всё ещё пусто, возможно, настройки конфигурации виртуальной машины не применяются. Выполните следующие шаги:
- Проверьте, чтобы у виртуальной машины был выполнен запуск, а не просто создана.
- Убедитесь, что у вас достаточно прав для выполнения всех операций с VM в vSphere.
- Проверьте логи Terraform и vSphere на наличие ошибок.
5. Ручная проверка
Если проблема не устраняется, попробуйте применить конфигурацию Terraform и затем вручную проверить настройки сети на созданной виртуальной машине, включая:
ip addr show
cat /etc/resolv.conf
Заключение
Если вы выполнили все вышеперечисленные шаги и проблема не решается, возможно, стоит обратиться к документации Terraform и vSphere или на форумы сообщества для получения дополнительной помощи. Проблемы с конфигурацией DNS могут быть довольно сложными и требовать дополнительной диагностики.
Надеюсь, это поможет вам решить вашу проблему с конфигурацией DNS-серверов в Terraform!