Xop*_*ter 17 azure azure-marketplace azure-virtual-machine terraform
我正在尝试在西欧 Azure 区域使用 Terraform 创建一个 Linux VM,并使用 Ubuntu Server 20.04 LTS 映像。我可以在 Azure 门户中很好地完成此操作,但 Terraform 抱怨该图像不存在:
平台映像“Canonical:UbuntuServer:20.04-LTS:latest”不可用。
确实,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"
}
Run Code Online (Sandbox Code Playgroud)
我对此完全困惑!如何在 Terraform 中访问 Azure 市场中的图像?我已经看到plan需要该块的建议,但不知道(也没有找到任何文档)如何配置它。
小智 32
当我发现它可用但以不同的名称命名时,我一开始也很困惑,它确实有点隐藏。
offer = "0001-com-ubuntu-server-focal"
publisher = "Canonical"
sku = "20_04-lts-gen2"
Run Code Online (Sandbox Code Playgroud)
我使用了这个内部打包机,所以我猜测它在 terraform 中是相同的,但你可以让我知道。
小智 15
对于其他遇到此问题并尝试过上述方法但仍然发现没有帮助的人。这是对上面答案的补充:
登录到 azure cli 并运行以下命令,根据您的需要列出所有现有的 VM。
az vm image list --all --publisher="Canonical" --sku="20_04-lts-gen2"
Run Code Online (Sandbox Code Playgroud)
您应该看到如下输出:
{
"architecture": "x64",
"offer": "0001-com-ubuntu-server-focal",
"publisher": "Canonical",
"sku": "20_04-lts-gen2",
"urn": "Canonical:0001-com-ubuntu-server-focal:20_04-lts-gen2:20.04.202209050",
"version": "20.04.202209050"
},
{
"architecture": "x64",
"offer": "0001-com-ubuntu-server-focal",
"publisher": "Canonical",
"sku": "20_04-lts-gen2",
"urn": "Canonical:0001-com-ubuntu-server-focal:20_04-lts-gen2:20.04.202209200",
"version": "20.04.202209200"
}
Run Code Online (Sandbox Code Playgroud)
就我而言,我的版本有问题。在这种情况下,必须更改我的代码......
source_image_reference {
publisher = "Canonical"
offer = "0001-com-ubuntu-server-focal"
sku = "20_04-lts-gen2"
version = "latest"
}
Run Code Online (Sandbox Code Playgroud)
...对此:
source_image_reference {
publisher = "Canonical"
offer = "0001-com-ubuntu-server-focal"
sku = "20_04-lts-gen2"
version = "20.04.202209200"
}
Run Code Online (Sandbox Code Playgroud)
如您所见,我使用了基于命令输出的版本az。
享受地形
| 归档时间: |
|
| 查看次数: |
14448 次 |
| 最近记录: |