我正在尝试使用 Terraform 在 Azure 上的 Windows Server 2012 R2 数据中心 VM 上构建 SQL Server 2014。
这就是我的模块的样子
module "ms-sql-vm" {
source = ".../terraform_module/windows_vm"
vm_name = "ex-sql-vm"
name_space = "${module.randomename}"
arm_location = "centralus"
vm_resource_group_name = "${module....}"
availability_set_id = "${module....}"
vm_network_interface_ids = ["${module....}"]
vm_size = "Standard_D2s_v3"
vm_os_disk_name = "example-os-disk-${randomname}"
vm_os_caching = "ReadWrite"
vm_os_publisher = "MicrosoftSQLServer"
vm_os_offer = "SQL2014SP2-WS2012R2"
vm_os_sku = "Enterprise"
vm_os_version = "12.10.0"
vm_os_disk_size_gb = "127"
vm_data_disk_name = "${module.....}"
vm_data_disk_id = "${module.....}"
vm_managed_disk_type = "Standard_LRS"
vm_data_disk_size_gb = "${module.....}"
vm_data_caching = "ReadWrite"
vm_data_lun = 1
vm_admin_name = "exampleusername"
vm_admin_password = "Example12345!!"
boot_diagnostics_primary_blob_endpoint = "${module......}"
vm_delete_os_disk_on_termination = true
vm_delete_data_disk_on_termination = true
}
我正在使用这个 - https://www.terraform.io/docs/providers/azurerm/r/virtual_machine.html作为我要构建的基本模块。
上面的脚本正在为我启动虚拟机 2012,但不是 SQL Server。如果你看一下这张图片,在我的脚本完成执行后,我无法修改下面上传的图片中的 SQL Server 配置选项。
如果我从 Azure 门户在 Windows Server 2012 R2 上启动相同的 SQL Server 2014 SP2 Enterprise,我可以看到 SQL Server 配置选项。
与我的虚拟机一起,我在资源组仪表板上找到了此扩展,如下图所示,使用 Portal 启动虚拟机,但如果我使用 Terraform 执行此操作,则该扩展不可用。我试图找到该扩展名,但找不到该扩展名。
此扩展的资源类型和名称为
名称:SqlIaasExtension 资源类型:Microsoft.Compute/virtualMachines/extensions
如果我尝试使用此命令查找 SqlIaasExtension -
az vm extension image list-names --publisher Microsoft.Compute/virtualMachines/extensions --query"[?starts_with(name, 'SqlIaasExtension')]"
我收到“请求 URL 无效。”
如果我尝试使用下面的命令,我会得到一个空数组 []:
az vm extension image list-names --publisher Microsoft.Compute --query "[?starts_with(name, 'SqlIaasExtension')]"
是否有任何方法可以使用 Terraform 在 Azure 上的 Windows Server 2012 R2 数据中心 VM 上启动此 SQL Server 2014?
有人之前尝试过吗?
感谢您的帮助
最佳答案
我已经弄清楚了。我需要为此添加 azure_vm_extension
resource "azurerm_virtual_machine_extension" "test" {
name = "SqlIaasExtension"
location = "West US"
resource_group_name = "${azurerm_resource_group.test.name}"
virtual_machine_name = "${azurerm_virtual_machine.test.name}"
publisher = "Microsoft.SqlServer.Management"
type = "SqlIaaSAgent"
type_handler_version = "1.2"
settings = <<SETTINGS
null
SETTINGS
tags {
environment = "Production"
}
请记住,运行脚本需要相当长的时间!
关于azure - Azure 上 Windows Server 2012 R2 数据中心 VM 上适用于 SQL Server 2014 的 Terraform 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50381871/