因为懒,想更省事

域设置用户名密码和key,只要有镜像,其他Linux的cloud-image也是通用的

下载img
axel -n 20 https://download.rockylinux.org/pub/rocky/8/images/x86_64/Rocky-8-GenericCloud-Base.latest.x86_64.qcow2
设置网络为dhcp模式
cat > user-data.yaml <<-EOF
#cloud-config
network:
  version: 2
  ethernets:
    eth0:
      dhcp4: true
EOF

用 qm 命令创建一个新的虚拟机,无硬盘
qm create 110 --name rocky8 --memory 4096 --net0 virtio,bridge=vmbr1 --cores 2 --sockets 1 --serial0 socket --boot c --bootdisk scsi0
将下载的磁盘镜像导入给新创建的虚拟机
qm importdisk 110 Rocky-8-GenericCloud-Base.latest.x86_64.qcow2 local-lvm --format qcow2
将分配给虚拟机的磁盘配置为 SCSI 控制器
qm set 110 --scsihw virtio-scsi-pci --scsi0 local-lvm:110/vm-110-disk-0.qcow2
qm set 110 --scsi0 local-lvm:110/vm-110-disk-0.qcow2
添加一个 Cloud-Init 驱动器,用于配置虚拟机的网络和用户设置
qm set 110 --ide2 local-lvm:cloudinit
网络配置是设置为 DHCP
qm importdisk 100 user-data.yaml local-lvm --format qcow2
或
qm set 110 --cicustom "user=data:text/plain;base64,$(echo -e '#cloud-config\nnetwork:\n  version: 2\n  ethernets:\n    eth0:\n      dhcp4: true' | base64 -w0)"

设置虚拟机从 scsi0 启动
qm set 110 --boot c --bootdisk scsi0

在虚拟机上启用 Cloud-Init
qm set 110 --ciuser root --cipassword your-password --searchdomain your-domain --nameserver your-nameserver --sshkeys /path/to/your/public/key