使用 cloudinit 创建 Terraform azurerm 虚拟机

Terraform azurerm vm creation with cloudinit

正在尝试使用 cloudinit 创建 VM 但没有成功。 terraform 上的文档没有提供有关如何在 Azure 上执行此操作的任何有用信息。 找到这个 post 并尝试做同样的事情:

还尝试了 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 部署虚拟机的正确方法是什么,我将不胜感激。

在虚拟机资源提供者中正确使用cloud config的方法是:

cloud_init_template = data.template_cloudinit_config.config.rendered

您没有按照正确的方式使用云配置。

cloud_init_template=data.template_cloudinit_config.config.rendered