我正在使用Terraform创建Azure VM,但由于那些没有安装太多功能,我正在调查其他Azure资源。我发现Azure Data Science VM是满足我大部分要求的那个,所以我想知道是否有办法用Terraform创建那些。我在文档中看不到它,但也许有一种解决方法。
任何方向都会很棒!
答案 0 :(得分:3)
<强>假设强>
Azure资源模型。
<强>步骤强>
此过程将有几个步骤。您首先需要检索平台图像。
data "azurerm_platform_image" "test" {
location = "West Europe"
publisher = "Microsoft"
offer = "xx"
sku = "xx"
}
然而,在您完全填充此内容之前,您需要检索SKU
和Offer
。令人讨厌的是,这在互联网上并不容易获得,需要API调用或Powershell乐趣。
This链接可帮助您实现此目标。
填好上面的terraform后,您可以利用它来创建虚拟机。
resource "azurerm_virtual_machine" "test" {
name = "acctvm"
location = "West US 2"
resource_group_name = "${azurerm_resource_group.test.name}"
network_interface_ids = ["${azurerm_network_interface.test.id}"]
vm_size = "Standard_DS1_v2"
storage_image_reference {
id = "${data.azurerm_platform_image.test.id}"
}
storage_os_disk {
name = "myosdisk1"
caching = "ReadWrite"
create_option = "FromImage"
managed_disk_type = "Standard_LRS"
}
# Optional data disks
storage_data_disk {
name = "datadisk_new"
managed_disk_type = "Standard_LRS"
create_option = "Empty"
lun = 0
disk_size_gb = "1023"
}
storage_data_disk {
name = "${azurerm_managed_disk.test.name}"
managed_disk_id = "${azurerm_managed_disk.test.id}"
create_option = "Attach"
lun = 1
disk_size_gb = "${azurerm_managed_disk.test.disk_size_gb}"
}
os_profile {
computer_name = "hostname"
admin_username = "testadmin"
admin_password = "Password1234!"
}
os_profile_linux_config {
disable_password_authentication = false
}
tags {
environment = "staging"
}
}
答案 1 :(得分:0)
以下是Azure Data Science VM的SKU和优惠列表。
Windows Server 2016版:offer = windows-data-science-vm sku = windows2016
Ubuntu版:offer = linux-data-science-vm-ubuntu sku = linuxdsvmubuntu
Windows Server 2012版:offer = standard-data-science-vm sku = standard-data-science-vm
CentOS版:offer = linux-data-science-vm sku = linuxdsvm
所有这些的发布商都是微软广告
答案 2 :(得分:0)
遵循步骤here。要填充terraform的“ storage_image_reference”部分,可以使用Azure CLI获取信息。例如:
az vm image list --offer linux-data-science-vm --all --output table
或
az vm image list --offer windows-data-science-vm --all --output table