PVE - cloud-init
# 下载 镜像
选择 LTS 版本,本文以 https://cloud-images.ubuntu.com/releases/22.04/release/ubuntu-22.04-server-cloudimg-amd64.img
为例
两种方式下载:
- 在宿主机中使用 shell
wget
下载 - 在其他电脑下载,然后通过网页上传到 PVE,其目录为
/var/lib/vz/template/iso
# 创建 虚拟机
- 常规:自定义个名称,如
template
- 操作系统:不适用任何介质
- 系统:
- 机型:q35
- Qemu 代理:勾选
- BIOS:OVMF(UEFI)
- 添加 EFI 磁盘:勾选
- EFI 存储:local-lvm
- 磁盘:删除
- CPU:
- 按需选择核心数
- 类别:host
- 内存:按需
- 网络:默认
- 确认:完成
# 导入 镜像
宿主机输入:
qm disk import <VM ID> 镜像文件 local-lvm
# qm disk import 101 /var/lib/vz/template/iso/ubuntu-22.04-server-cloudimg-amd64.img local-lvm
导入后,回到创建的虚拟机 - 硬件, 未使用的磁盘0
,编辑,高级,勾选 SSD仿生
,添加
# 扩容 磁盘
添加的磁盘大小 2g 多,应该是镜像解压后的大小,因此还需要一些额外的大小做其他用途。
宿主机输入:
qm disk resize <VM ID> <磁盘编号> 16G
#qm disk resize <VM ID> scsi0 16G
# 添加 硬件
- 添加 串口,作用为可在虚拟机的控制台中复制粘贴
- 添加 CloudInit 设备
- 存储:local-lvm
# 配置 Cloud-Init
- 账号
- 密码
- SSH 公钥
- IP 配置:推荐使用静态,IPV6 没有就选 DHCP
设置好后,点击 重生成镜像
# 修改 引导顺序
选项 - 引导顺序,勾选 scsi0
,并拖动到第一位。
然后就可以 启动
了,等待初始化完成。
# 进行 定制化操作
- 修改 国内源
- 安装 Docker
- ....
# 转换 模板
- 虚拟机关机
- 侧边栏 - 选中虚拟机 -
转换成模板
# 克隆 虚拟机
- 右键 虚拟机模板 - 克隆
- 定义个名称、链接克隆,确定
- 选中 新生成的虚拟机,
Cloud-Init
- 修改下 IP 信息,OK
- 重生成镜像
- 启动
注意
如果需要修改 hosts,如使用 kubesphere 部署 k8s,需将 /etc/cloud/cloud.cfg
中的 - update-etc-hosts
注释掉,否则重启后会导致找不到 lb.kubesphere.local
。
# 参考
上次更新: 2023/12/09, 10:33:55