Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/visual-studio-code/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Image 使用terraform错误从自定义映像创建azure vm_Image_Azure_Terraform - Fatal编程技术网

Image 使用terraform错误从自定义映像创建azure vm

Image 使用terraform错误从自定义映像创建azure vm,image,azure,terraform,Image,Azure,Terraform,我需要使用Terraform从自定义映像在Azure中提供一个VM,并且一切都可以与来自市场的映像一起正常工作,但是当我尝试指定我的自定义映像时,返回一个错误。我一整天都在为这个问题绞尽脑汁。 这里是我的tf脚本: resource "azurerm_windows_virtual_machine" "tftest" { name = "myazurevm" location

我需要使用Terraform从自定义映像在Azure中提供一个VM,并且一切都可以与来自市场的映像一起正常工作,但是当我尝试指定我的自定义映像时,返回一个错误。我一整天都在为这个问题绞尽脑汁。 这里是我的tf脚本:

 resource "azurerm_windows_virtual_machine" "tftest" {
  name                  = "myazurevm"  
  location              = "eastus"
  resource_group_name   = "myresource-rg"
  network_interface_ids = [azurerm_network_interface.azvm1nic.id]
  size               = "Standard_B1s"

  storage_image_reference {
    id = "/subscriptions/xxxxxxxxxxxxxxxxxxxxxxxxxxxxx/resourceGroups/xxxxx/providers/Microsoft.Compute/images/mytemplate"
  }

  storage_os_disk {
    name              = "my-os-disk"
    create_option     = "FromImage"
    managed_disk_type = "Premium_LRS"
  }

  storage_data_disk {
    name              = "my-data-disk"
    managed_disk_type = "Premium_LRS"
    disk_size_gb      = 75
    create_option     = "FromImage"
    lun               = 0
  }

  os_profile {
    computer_name  = "myvmazure"
    admin_username = "admin"
    admin_password = "test123"
  }

  os_profile_windows_config {
      provision_vm_agent = true
  }
} 
此处显示计划阶段返回的错误:

2020-07-17T20:02:26.9367986Z ==============================================================================
2020-07-17T20:02:26.9368212Z Task         : Terraform
2020-07-17T20:02:26.9368456Z Description  : Execute terraform commands to manage resources on AzureRM, Amazon Web Services(AWS) and Google Cloud Platform(GCP)
2020-07-17T20:02:26.9368678Z Version      : 0.0.142
2020-07-17T20:02:26.9368852Z Author       : Microsoft Corporation
2020-07-17T20:02:26.9369049Z Help         : [Learn more about this task](https://aka.ms/AA5j5pf)
2020-07-17T20:02:26.9369262Z ==============================================================================
2020-07-17T20:02:27.2826725Z [command]D:\agent\_work\_tool\terraform\0.12.3\x64\terraform.exe providers
2020-07-17T20:02:27.5303002Z .
2020-07-17T20:02:27.5304176Z └── provider.azurerm
2020-07-17T20:02:27.5304628Z 
2020-07-17T20:02:27.5363313Z [command]D:\agent\_work\_tool\terraform\0.12.3\x64\terraform.exe plan
2020-07-17T20:02:29.7685150Z [31m
2020-07-17T20:02:29.7788471Z [1m[31mError: [0m[0m[1mInsufficient os_disk blocks[0m
2020-07-17T20:02:29.7792789Z 
2020-07-17T20:02:29.7793007Z [0m  on  line 0:
2020-07-17T20:02:29.7793199Z   (source code not available)
2020-07-17T20:02:29.7793305Z 
2020-07-17T20:02:29.7793472Z At least 1 "os_disk" blocks are required.
2020-07-17T20:02:29.7793660Z [0m[0m
2020-07-17T20:02:29.7793800Z [31m
2020-07-17T20:02:29.7793975Z [1m[31mError: [0m[0m[1mMissing required argument[0m

您对查找问题有什么建议吗?

我终于找到了问题所在。我使用了错误的地形资源:

wrong --> azurerm_windows_virtual_machine

correct -->  azurerm_virtual_machine
azurerm_windows_virtual_machine不支持(storage_os_disk、storage_data_disk)等参数,并且不适合自定义映像,除非在共享映像库中发布映像

有关每个提供程序支持的选项,请参阅文档:
我终于解决了这个问题。我使用了错误的地形资源:

wrong --> azurerm_windows_virtual_machine

correct -->  azurerm_virtual_machine
azurerm_windows_virtual_machine不支持(storage_os_disk、storage_data_disk)等参数,并且不适合自定义映像,除非在共享映像库中发布映像

有关每个提供程序支持的选项,请参阅文档:

看一看:本教程很好,但对于使用管理过的磁盘的图像来说并不好。托管磁盘映像没有azure vhd URI。我一直在阅读关于这个问题的terraform文档,实际上我找到了一个很好的例子,但看起来就像上面粘贴的代码。看一看:本教程很好,但对于使用受管理磁盘的映像不太好。托管磁盘映像没有azure vhd URI。我一直在阅读关于这个问题的terraform文档,实际上我找到了一个很好的例子,但看起来就像上面粘贴的代码。