pve环境制作cloud-init模板
cloudinit模版可以让我们在通过模板创建系统的时候设置好ip,用户名密码等无需开机进入后在设置
下载cloudinit镜像
- cloudimages下载地址
导入pve中
img="" # 虚拟机镜像
id="" # 虚拟机id
name="" # 虚拟机名字
disk="" # 虚拟机存放磁盘的存储池
# 创建机器
qm create $id --name $name --net0 virtio,bridge=vmbr0
# 导入启动盘
qm importdisk $id $img $disk
# 添加磁盘
qm set $id --scsihw virtio-scsi-pci --scsi0 $disk:vm-$id-disk-0
#调整磁盘大小
qm disk resize $id scsi0 20G
# 添加cloud-init
qm set $id --ide2 $disk:cloudinit
# 设置启动盘
qm set $id --boot c --bootdisk scsi0
qm set $id --serial0 socket --vga serial0
qm set $id --agent enabled=1,fstrim_cloned_disks=1 #optional but recommended
配置模版
此时pve界面中已经可以看到这个虚拟机,启动他,然后设置这个虚拟机,后面就不用每次都要设置一些东西了
- 换源:更新apt源为国内源,这里有坑有些cloudinit官方镜像(debian)使用了cloudinit代管了apt源,这就导致修改源的时候会被cloudinit给改回去
正确的做法是修改cloudinit配置
vim /etc/cloud/cloud.cfg
package_mirrors:
- arches: [default]
# 修改这里
failsafe:
primary: https://deb.debian.org/debian
security: https://deb.debian.org/debian-security
- 升级并安装qga
sudo apt update
sudo apt full-upgrade
sudo apt install qemu-guest-agent
sudo systemctl start qemu-guest-agent
sudo systemctl enable qemu-guest-agent
- 修改时区
sudo timedatectl set-timezone Asia/Shanghai
转换为模版
- 设置为模版,也可以在ui上直接设置为模板
qm template $id