pve虚拟机`cloud-init`配置实现web控制台修改密码IP等
pve虚拟机cloud-init配置实现web控制台修改密码IP等
目标:给 Ubuntu 22.04 模板 VM 装上 cloud-init,克隆后在 PVE 界面 /
qm set --cipassword改密码即可生效(密码、hostname、SSH 公钥、IP 等都能由 PVE 下发)。环境:PVE 9.2.2
116.19.21.200;源模板 VM 100(mo-ban-xun-ni-ji,用户名jiyun/ 密码123,Ubuntu 22.04 live-server 安装)。一句话原理:PVE 通过 cloudinit 盘(ide2 的 NoCloud CD-ROM)把 ciuser/cipassword 等用户数据喂给 guest 里的 cloud-init,克隆时 PVE 换新 instance-id,cloud-init 检测到新实例就重新应用密码。
上传常规的镜像此处以ubuntu-22.04.4-live-server-amd64.iso为例子
一、删除 subiquity 安装器残留(关键)
1 | # 删两个残留文件(这一步是 cloud-init 生效的根因) |
删掉的这两个文件是 subiquity(Ubuntu live-server 安装器)留下的:
99-installer.cfg里datasource_list: [ None ]把 cloud-init 锁死,导致密码改不动。subiquity-disable-cloudinit-networking.cfg里network: {config: disabled}禁用了 cloud-init 网络管理。
最后关机 > 硬件添加 cloudinit设备即可实现开关机、接下来制作成模板就行。
至此可以对虚拟机进行修改密码 配置IP等操作。
比如使用cloudinit配置IP 系统内会自动生成如下网卡配置
1 | root@cloudinit-demo:/etc/netplan# cat 00-installer-config.yaml |
All articles in this blog are licensed under CC BY-NC-SA 4.0 unless stating additionally.
Comment






