You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Terraform通过Ubuntu ISO在Proxmox部署VM出现cloud-init报错如何解决

问题原因与解决方案

核心报错原因

你收到的Cloud-init parameters only supported on clones or updates报错,以及ISO创建VM失败的问题,来自配置中的3个核心错误:

  • 同时配置了clone(从已有模板克隆VM)和iso(从ISO新建VM)两个互斥参数
  • iso参数填写的是你本地Terraform工作目录的路径,Proxmox API无法识别该路径,必须填写Proxmox节点存储内的ISO路径
  • 非克隆创建的全新VM未配置云init设备的前提下,直接使用了ipconfig0、sshkeys这类云init专属参数

修复步骤

步骤1:上传ISO到Proxmox存储

先将你本地的foo.iso上传到Proxmox节点的ISO存储中,比如默认的local存储,上传后ISO的标准路径格式为存储名:iso/镜像文件名,示例为local:iso/foo.iso。

步骤2:修正main.tf配置

以下是适配ISO创建VM的配置示例:

terraform {
  required_providers {
    proxmox = {
      source = "telmate/proxmox"
      version = "2.9.1"
    }
  }
}

provider "proxmox" {
  pm_api_url = "https://foo:8006/api2/json"
  pm_api_token_id = ""
  pm_api_token_secret = "pass"
  pm_tls_insecure = true
}

resource "proxmox_vm_qemu" "test_server" {
  count = 1
  name = "test-vm-${count.index + 1}"
  target_node = var.proxmox_host
  agent = 1
  cores = 2
  sockets = 1
  cpu = "host"
  memory = 2048
  scsihw = "virtio-scsi-pci"
  # 调整启动顺序为IDE光驱优先,方便从ISO启动安装
  boot = "order=ide2;scsi0"

  disk {
    slot = 0
    size = "10G"
    type = "scsi"
    storage = "local-zfs"
    iothread = 1
  }

  # 挂载ISO到IDE光驱,替换为你Proxmox存储内的实际ISO路径
  ide {
    slot = 2
    type = "cdrom"
    volume = "local:iso/foo.iso"
  }
  
  network {
    model = "virtio"
    bridge = "vmbr0"
  }

  lifecycle {
    ignore_changes = [
      network,
    ]
  }

  # 如果你需要使用云init配置,保留以下配置;不需要则直接删掉本段即可
  os_type = "cloud-init"
  ide {
    slot = 3
    type = "cloudinit"
    storage = "local-zfs"
  }
  ipconfig0 = "ip=10.98.1.9${count.index + 1}/24,gw=10.98.1.1"
  sshkeys = <<EOF
  ${var.ssh_key}
  EOF
}

步骤3:验证配置

执行terraform plan确认无报错后,再执行terraform apply创建VM即可。

注意事项

  • 首次创建后需要手动进入Proxmox控制台完成系统安装,如果你需要全自动安装,需要提前给foo.iso封装自动应答文件
  • 原配置中的clone参数必须删除,该参数和从ISO新建VM的逻辑完全互斥

内容的提问来源于stack exchange,提问作者user17502017

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 10:24:01