有没有办法使用 Terraform 创建 Azure Data Science VM?

Is there a way to create an Azure Data Science VM using Terraform?

我正在使用 Terraform 创建 Azure VM,但由于它们没有安装太多功能,所以我正在研究其他 Azure 资源。我发现 Azure Data Science VM 可以满足我的大部分需求,所以我想知道是否有一种方法可以使用 Terraform 创建这些需求。我在文档中看不到它,但也许有解决方法。

任何有关这方面的指导都很棒!

假设

Azure 资源模型。

步骤

这个过程将有几个步骤。您首先需要检索平台图像。

data "azurerm_platform_image" "test" {
   location  = "West Europe"
   publisher = "Microsoft"
   offer     = "xx"
   sku       = "xx"
}

然而,在您可以完全填充它之前,您需要检索 SKUOffer。烦人的是,这在互联网上并不容易获得,需要 API 调用或 Powershell 的乐趣。

This link 将帮助您实现这一目标。

填充上述 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"
}
}

这是 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

所有这些的发布者是 microsoft-ads

按照步骤 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