admin avatar

转载:Debian制作Cloud-Init的pve系统模版

🕤 by admin

转载:Debian制作Cloud-Init的pve系统模版

Cloud-Init特点:

1.可以自己设置系统用户密码,或者公钥验证。

2.小鸡硬盘可以在现有分区上自动扩容,不需要去创建新的分区。(这个功能简直太关键了)

3.可以快速配置小鸡网络。

4.自动更新系统到最新版。

总而言之就是批量部署虚拟机的时候效率会大大的提高~

环境:PVE5.4-13 模板系统:debian-10.0.0-amd64-netinst

首先下载Debian10镜像:

1
2
cd /var/lib/vz/template/iso
wget https://cdimage.debian.org/debian-cd/current/amd64/iso-cd/debian-10.0.0-amd64-netinst.iso

创建虚拟机这里就不多说了,只有一个点要注意一下,用来制作模板的系统,硬盘能给小就给小,我这边分了5GB:

img

虚拟机创建完毕之后不要马上开机,现在需要添加一个CloudInit设备:

img

总线设备IDE,顺序0:

img

然后开机按照正常流程安装系统,到网络配置这里,我是选择的手动:

img

我给这台小鸡分配了一个尾号为165IP:

img

继续安装按流程走,到硬盘分区这里选择手动:

img

只创建一个分区,把5G硬盘的全部容量都划分到/,这里注意要把Bootable flag开启,因为我们没有/boot分区:

img

模板系统能精简就精简,所以最后让我们选择安装组件的时候,只装一个SSH服务:

img

系统安装完成,开机之后使用VNC登录进来,不要去用SSH,原因我懒得说。。

登进去后在这台小鸡里面安装CloudInit:

1
2
apt -y update
apt -y install cloud-init

然后编辑配置文件:

1
nano /etc/cloud/cloud.cfg

删除这些没用的配置,注意这里是删除如下的配置,不是添加:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
cloud_config_modules:
 - snap
 - snap_config
 - ubuntu-advantage
 - disable-ec2-metadata
 - byobu

cloud_final_modules:
 - snappy
 - fan
 - landscape
 - lxd
 - puppet
 - chef
 - mcollective
 - salt-minion
 - rightscale_userdata

注:有些是之前我在Ubuntu18.04上面的配置,Debian10没有就不用管。

如图所示:

img

最后清理系统/删除安装系统时创建的用户/删除登录记录/删除命令记录:

1
2
3
4
apt clean
userdel -r imlala
echo > /var/log/wtmp
history -c

回到Proxmox面板上点关机,把这台虚拟机关掉,然后右键转换成模板。

这样一个Debian10的系统模板就做好了,现在我们可以右键点击克隆,模式选择完整克隆:

img

之后我们可以在这里更改这台克隆机器的CPU/内存/硬盘等配置,这里我把硬盘增加到了50GB:

img

点击Cloud-Init设置这台小鸡的用户/密码:

img

设置这台小鸡的网络,之前模板系统是165,为验证Cloud-Init是否能够正常工作,这里我把它配置为166,然后再配了一个IPv6:

img

全部设置好了之后点击“重生成映像”:

img

现在打开这台虚拟机,在VNC中我们可以看到Cloud-Init已经在按我们之前的配置去设置这台机器的一些信息了:

img

使用上面的方法目前测试是可以制作Debian 12 cloud-init模版的,其实Debian官方也有Debian 12 cloud-init模版,但是发现在使用过程中很多问题,参考了上面的方法成功制作Debian 12 cloud-init模版,本来想自己重新整理一篇文章出来的,但是懒,没办法,直接复制吧,如果原作者认为侵犯了您的权利,请联系删除。

文章来源:https://lala.im/6157.html

💘 相关文章

写一条评论