使用 Terraform 使用 Ubuntu 20.04 创建 Azure Linux VM

Creating an Azure Linux VM with Ubuntu 20.04 with Terraform

我正在尝试在西欧 Azure 区域使用 Terraform 创建一个 Linux VM,并使用 Ubuntu Server 20.04 LTS 映像。我可以在 Azure 门户中很好地执行此操作,但 Terraform 抱怨图像不存在:

The platform image 'Canonical:UbuntuServer:20.04-LTS:latest' is not available.

的确,az vm image list --location westeurope证实了这一点;存在 18.04 LTS,但没有 20.04 LTS。

我正在使用 azurerm_linux_virtual_machine 资源,具有以下 source_image_reference:

source_image_reference {
  publisher = "Canonical"
  offer     = "UbuntuServer"
  sku       = "20.04-LTS"  # FIXME SKU doesn't exist in westeurope
  version   = "latest"
}

我对此感到非常困惑!如何在 Terraform 中访问 Azure Marketplace 中的图像?我看到有人建议需要 plan 块,但不知道(我也没有找到任何文档)如何配置它。

起初我也很困惑,当我发现它可用但名称不同时,它确实有点隐藏。

offer                 = "0001-com-ubuntu-server-focal"
publisher             = "Canonical"
sku                   = "20_04-lts-gen2"

我在打包机内部使用了这个,所以我猜它在 terraform 中是一样的,但你可以告诉我。