尝试使用cloudinit创建VM但一直没有成功。在terraform文档中没有提供有用的信息如何在Azure上实现。发现了这个帖子并尝试做同样的事情:
Using cloud-init on an Azure VM to mount a data disk fails
同时也尝试了Terraform文档:
https://www.terraform.io/docs/providers/template/d/cloudinit_config.html
每次尝试时都会收到以下错误:
此处不应有名为"cloud_init_template"的参数。
或者
此处不应有名为"user_data_base64"的参数。
Using cloud-init on an Azure VM to mount a data disk fails
同时也尝试了Terraform文档:
https://www.terraform.io/docs/providers/template/d/cloudinit_config.html
每次尝试时都会收到以下错误:
此处不应有名为"cloud_init_template"的参数。
或者
此处不应有名为"user_data_base64"的参数。
包含相关代码的代码块:
provider "azurerm" {
version = "2.2.0"
features{}
}
#############################
# Cloud config configuration#
#############################
data "template_file" "cloudconfig" {
template = file("${path.module}/cloud-init.tpl")
vars {
timezone = var.timezone
password = data.azurerm_key_vault_secret.vaultsecret.value
tpot_flavor = var.tpot_flavor
web_user = var.web_user
web_password = var.web_password
}
}
data "template_cloudinit_config" "config" {
gzip = true
base64_encode = true
part {
content_type = "text/cloud-config"
content = data.template_file.cloudconfig.rendered
}
}
module "azure-vms" {
source = "./modules/azure-vms"
tpot_hostname = "${var.name}-Tpot"
location = azurerm_resource_group.rg.location
rg-name = azurerm_resource_group.rg.name
admin_password = data.azurerm_key_vault_secret.vaultsecret.value
cloud_init_template = data.template_cloudinit_config.config.rendered
}
我也尝试了使用user_data_base64相同的方法。
出现了相同的错误信息。
如果有人知道在Azure上正确部署带有cloudinit的虚拟机的方法,我将不胜感激。
custom_data = var.cloud_init_template
。既然您已经解决了这个问题,您可以发布您的答案来关闭这个问题。如果您有新的问题,您需要请求一个新的线程。 - Nancy Xiongcloud_init_template = data.template_cloudinit_config.config.rendered
,它将在VM上运行云初始化。此外,重要的是要验证部署的发行版是否支持Azure平台上的云初始化。 - Nimo