Skip to main content

Pve Cloud-init 构建

Cloud images下载地址

centos:
http://cloud.centos.org/centos/
ubuntu:
http://cloud-images.ubuntu.com/releases/
debian:
https://cloud.debian.org/images/cloud/OpenStack/
fedora:
https://alt.fedoraproject.org/cloud/
rehat7:
https://access.redhat.com/downloads/content/69/ver=/rhel---7/x86_64/product-downloads
opensuse:
https://software.opensuse.org/distributions/leap#JeOS-ports

创建一个虚拟机

这里的名称,会自动作为本次操作系统的计算机名称

设置虚拟机名称

 

不使用任何介质

 

勾选QEMU代理

这里默认即可,一会是要删除这个硬盘的

保持默认。

一路走下去,到完成。

 

先分离硬盘,再删除

分离硬盘

 

删除硬盘

下载并转换镜像

下载镜像,通过SSH登录到母机上;进入镜像的存放目录或者使用Web页面的下载镜像功能也可以;但是之后的转换云镜像为磁盘的操作需要命令行来完成。

如果你没有添加过额外的存储,那么默认路径在 /var/lib/vz/template/iso 目录下;以Ubuntu为例;使用 qm 命令将下载的云镜像文件转为一个磁盘文件;我这里添加了 /raid0 目录存储虚拟机和镜像文件;

bug:使用ubuntu-20.04-server-cloudimg-amd64-disk-kvm.img这个镜像或开机会提示attempting initrdless boot;所以得下载不带KVM关键字的镜像;至少这个日期版本(20211004)是有问题的。

CentOS的Cloud Image提供了qcow2格式,则无需使用--format参数

 

回到虚拟机“硬件”页面;多了一块“未使用的磁盘0”;双击后,点击添加。

添加新硬盘

这里初始磁盘容量比较小,可以点击磁盘“调整磁盘大小”;显示的是MB,增量的是GB。

调整磁盘大小

再点击“添加”Cloud-Init设备。

添加Cloud-Init设备

选择存储和SCSI ID为1,创建

设置添加的Cloud-Init设备

由于刚刚删除了磁盘,所以启动选项里为空,这时候需要勾选一下刚刚添加的新磁盘为启动盘。勾选“scsi0”并拖拽到第一个,或者取消其他的,只保留scsi0也可以。

光驱默认是IDE接口,可以把它删除了,重新添加为SCSI 2;选项为“不使用任何介质”。

 

这个时候就可以设置Cloud-Init选项了;由于我们使用的是Ubuntu,则这里不能设置用户为“root”,因为这个账户Ubuntu默认禁用;如果有需要,可以在之后的启动后开启root,再生成模板。

在继续填写SSH公钥(可以加载文件)和IP配置,这个时候网卡的Mac地址已经生成,IP配置的选项为DHCP和Static。这些就绪之后,就可以启动这个系统了。

配置模板系统

  1. 设置时区

2. 设置APT仓库源

3. 安装软件或更新系统

image-1656674007483.jpeg

4. 修改SSH配置;(有必要)

5. 清理缓存

6. 其他自定义配置

关机,转换为模板,就可以了。

源地址

源地址2