在PVE中创建并使用cloud-init模板

使用 cloud-init 创建 debian 模版

1. 下载镜像

在官网下载带有 cloud-init 的镜像

1
https://cloud.debian.org/images/cloud/bookworm/latest/

然后选择下载适合 PVE 节点具体架构的镜像版本,这里我选的是  debian-12-generic-amd64  的镜像,qcow2  是 qemu 支持导入的磁盘镜像格式。

2. 创建虚拟机并导入镜像

使用界面创建

创建虚拟机

在界面创建一个虚拟机

image

image

image

image

image

image

image

image

image

image

image

第四步:为 vm 导入 cloud 镜像

执行如下命令

1
qm importdisk 900 /mnt/nvme/template/iso/debian-12-generic-amd64-20241004-1890.qcow2 data --format=qcow2

其中,105 指的是刚刚创建的那台机器 id,如图所示

image

image

image

image

启用 root 登录

vi /etc/ssh/sshd_config
修改 PermitRootLogin yes
修改 PasswordAuthentication yes

配置时区

修改  /etc/cloud/cloud.cfg ,在底下添加

1
2
3
4
ntp:
enabled: true

timezone: Asia/Shanghai

在  system_info  的  package_mirrors  那里还可以修改使用的源 mirrors

1
2
3
4
5
6
7
system_info:
package_mirrors:
- arches: [default]
failsafe:
primary: https://deb.debian.org/debian
security: https://deb.debian.org/debian-security

不过目前是在  /etc/apt/mirrors/  里面的文件修改,直接替换成阿里云的镜像地址:

1
2
# debian.list
https://mirrors.aliyun.com/debian
1
2
# debian-security.list
https://mirrors.aliyun.com/debian-security

还有一个地方需要改,就是  /etc/cloud/cloud.cfg.d/01_debian_cloud.cfg

1
2
apt:
generate_mirrorlists: false

改成 false,修改就不会被覆盖掉,前面两个地方的改动是有关的,如果改了生成镜像列表的地址,应该就不用将这个改成  false  不过手动修改,并改成  false  也可以。

这样虚拟机就配置好了,清除  machine-id  关机就可以。

1
qm importdisk 900 /mnt/nvme/template/iso/debian-12-generic-amd64-20241004-1890.qcow2 data --format=qcow2

在PVE中创建并使用cloud-init模板
https://blog.wenxin.site/2025/08/21/在PVE中创建并使用cloud-init模板/
作者
HarryMa
发布于
2025年8月22日
许可协议