转:Windows系统初始化工具Cloudbase-init
原文地址:https://foxi.buduanwang.vip/windows/1789.html/
在Windows实现初始化工具叫做cloudbase-init。
- 作者: Cloudbase Solutions Srl
- 联系人:[email protected]
- 主页: http://www.cloudbase.it/cloud-init-windows/
- 文档:http://cloudbase-init.readthedocs.org/en/latest/
- 资料来源:https://github.com/openstack/cloudbase-init
- 许可证: Apache 2.0
Proxmox VE对于Windows类型的虚拟机,提供了一个叫作configdrive2的元数据服务,务必先看下面链接,了解Proxmox VE在Cloudinit方面的实现。
佛西博客 - Proxmox VE与Cloud-init (buduanwang.vip)
在Windows客户机中安装好Cloudinit-base软件包之后,下次开机会从配置的元数据列表中,搜寻现有的元数据,在Proxmox VE 元数据服务就是configdrive2,因此,Cloudbase-init会读取cloudinit信息,从而自定义虚拟机。
目前PVE支持的元数据类型有User,Network。所以目前能办到的就是修改ip或者dns,新建用户,修改密码等基本功能。
一 修改PVE代码
看过上面的链接,你应该注意到,对于任何类型的os,PVE都会将用户密码进行加密,再写入到cloudinit驱动器中。
然而Windows就只识别明文密码。所以不修改代码,在用户创建这块就会存在问题。
这里有一个热爱ProxmoxVE的团队做出了一个修改代码的补丁,本文就是根据此方案,给大家分享。
GECO-IT-PUBLIC/Geco-Cloudbase-Init - Geco-Cloudbase-Init - Version Control System
安装git
apt update && apt install git -y
克隆库
cd /opt/ && git clone https://git.geco-it.net/GECO-IT-PUBLIC/Geco-Cloudbase-Init/
PVE6和PVE7代码不一样,因此有2个补丁,先确认自己是哪个版本,在终端执行pveversion