MENU

PVE下Cloud-Init使用备忘

August 20, 2023 • 折腾

引子

Cloud-Init是一套工业标准,是统一不同操作系统发行版在跨平台的云端服务器上初始化安装的流程。 Cloud-Init运行在 Guest Machine中,并在初始化时将一些自定义的配置应用到 Guest Machine中的应用程序。想象一下,假如你是一个云主机提供商,每天都需要为客户初始化成千上万台虚拟主机,这些机器可能使用不用的操作系统,可能根据客户需求设定不同的IP地址,不同的 SSH-key,以及设置不同的hostname等等,这个时候需要怎么办,Cloud-Init就是为了解决这个问题而诞生的。

Cloud-Init 操作

常见Cloud-Init映像

  • qcow2
  • img
  • iso
  • 等等,基本和安装镜像无异

Ubuntu Cloud-Init 镜像下载:https://cloud-images.ubuntu.com

PVE侧关键操作备忘

# 创建虚拟机、下载 Cloud-Init映像,操作略。
cd /var/lib/vz/template/iso/ # 默认镜像存放地点
qm importdisk 1001 ubuntu-20.04-server-cloudimg-amd64.img local-lvm  # 导入到某一指定虚拟机
qm importdisk  <vmid> <images-name> <storage pool>  --format=<disk-fs> 
# vmid:vm的id 例如102
# images-name:磁盘镜像的名字
# storage pool: 存储磁盘镜像的位置,如lvm-thin local
# disk-fs: 磁盘镜像格式  raw/vmdk/qcow2
# 创建 Cloud-Init CD-ROM 驱动器,配置对应的参数

# 调整映像启动顺序,可以加速启动(跳过CD和网络启动)

# 还要配置一个串行控制台并将其用作显示器。许多 Cloud-Init 映像都依赖于此,因为这是 OpenStack 映像的一个需求。
# 实际测试这一步可以省略?
qm set 1001 --serial0 socket --vga serial0

# 可以此作为模板,方便后续操作
qm template 1001
Archives QR Code
QR Code for this page
Tipping QR Code