cloudbase-init是类似cloud-init的windows上的云初始化程序,能够在启动的时候获取元数据来修改主机名、修改密码。

可从下面链接下载安装包:

64位版本 https://www.cloudbase.it/downloads/CloudbaseInitSetup_Beta_x64.msi

32位版本 https://www.cloudbase.it/downloads/CloudbaseInitSetup_Beta_x86.msi

请参考openstack p_w_picpath之制作windows server 2003 镜像一文进行镜像的制作。

然后再使用如下命令,以tap方式启动,可以外界通信。

wKiom1UVQJyhONbuAABeCG4Q36k006.jpg

使用VNC Viewer连接进去后,直接点击安装程序进行安装。

wKiom1UVQGvz3B5HAAG381USd4M787.jpg

下一步

wKioL1UVQaLDsUmwAAFxtK1j33k152.jpg

这里设置用户名为Administrator,后面修改的就是该用户的密码。如果是其他用户名,将会先创建,然后设置密码。

直接下一步,直到完成

wKiom1UVQG_ATWxsAAHf2p0dXfs256.jpg

查看目录C:\Program Files\Cloudbase Solutions\Cloudbase-init\conf目录,会看到如下图所示的配置文件

wKioL1UVQabBuTe5AAFLGjWf07c300.jpg

分别修改2个conf文件的内容

wKiom1UVQHGx_DwrAAL_W3t0xjM418.jpg

wKioL1UVQaiyRqbVAANt-5gsPhE915.jpg

然后关闭系统,上传镜像到系统中。


下面进行2种不同参数的启动

1.不加载到驱动器

wKioL1UVQ1OwdIlxAACDEZT_HNs184.jpg

通过vnc,以用户名administrator,密码123456可以登录系统,发现主机名已经被设置为test123。

wKioL1UVQyHiLTtMAAFJndB2bUM834.jpg

通过链接http://169.254.169.254可以访问元数据服务

wKioL1UVQySi2JUNAADnbqWjoYI595.jpg

继续查看meta_data.json文件内容

wKiom1UVQfSy0rmXAAKBYuLYQ40834.jpg

我们发现启动时候传入的主机名和密码都可以看到。

2.加载到驱动器

设置--config-drive 参数为true

wKiom1UVQu6y03DLAAB1-Y2Jd1w471.jpg

登录系统后,查看我的电脑,可以看到光驱已经被加载

wKioL1UVRCXTNxCgAAD76X4M5A8937.jpg

这样就不需要通过http访问元数据服务了,元数据已经被加载到了光盘文件中。

查看光盘可以看到

wKiom1UVQu-ioElIAADtVxBoudU271.jpg

继续查看meta_data.json文件内容

wKioL1UVRCbxWL5vAAUMRWmpNuY185.jpg
可以看到跟http://169.254.169.254/openstack/latest/meta_data.json一样的数据内容。