openstack之win7镜像初始化

cloudinit为我们提供了一个初始化云主机的工具,但是大部分资料都是针对linux如何使用,对windows怎么具体使用很少涉及(大概是因为很简单,直接安装就行,参考下面文章)

win7镜像制作
openstack之cloudinit配置

完成上述工作之后,一般是需要进行镜像的用户名密码设置,比如增加一个user并指定用户所属(Administrator/Guest),增加一个初始化程序,写个脚本等等…

元数据

元数据可以自己定义,key-value,例如,我需要添加条测试信息

nova meta set instance-000 testInfo=content

这个意思是说,我向主机instance-000添加一条元数据,这个元数据内容是{testInfo:content},如果添加成功,可以在 http://169.254.169.254/openstack/latest/meta_data.json 中看到meta中的信息。目前我还不知道这个自己添加的数据有什么用,如果手动做的话,我觉的应该在instance-000中写一个脚本,去请求meta_data.json数据,然后解析json,获取出testInfo,content,然后达到执行的目的。(这是目前的想法,也是最笨的方法)。cloudinit保留了admin_pass这个字段,创建主机时,直接使用它就可以设置密码(用户名,密码,预设值是在cloudinit安装路径的.conf文件里,可以看到)

nova boot --flavor m1.xlarge --image win7-ci --nic net-id=selfprovide --security-group default instance-0 --meta admin_pass=123456

创建一个云主机,设置网卡selfprovide(注意,使用cloudinit,必须要私网的,内部通信所需),指定初始密码是123456。默认情况下,实例创建成功后,需要重启一次,cloudinit才能生效。

nova meta set instance-0 username=user

增加一个元数据,这个手动解析吧,如果不想干这些事,那就是用user-data来解决

user-data

镜像模板制作时,根本不需要设置任何的用户名密码,如果你安装了cloudinit,并且没有任何改动,当实例创建好以后,会增加一个Admin用户,密码是admin_pass。如果想增加一个Guest该如何用?cloudinit给我们提供了一个user-data方案,请参考cloudinit-userdata. 在windows下可以使用批处理powershellpythonxml格式,linux下shellpythonxml。但要注意加首行标记

批处理

rem cmd

PowerShell

#ps1_sysnative (system native)
#ps1_x86 (Windows On Windows 32bit)

shell

#!/bin/bash

Python

#!/usr/bin/env python

注意:要预装python解析环境
Python is available by default with the build itself, but also it must be in the system PATH.

EC2 format

# 没有标记行

添加一个demo用户示例
这里采用批处理格式

rem cmd
net user demolongruan /add /passwordchg:no /expires:never
net localgroup Guests demo/add
net localgroup Users demo/del

保存文件为adduser.bat

nova boot --flavor m1.large --image win7-ci --nic net-id=selfprovice --security-group default win7-1 --meta  admin_pass=123456 --user-data ./adduser.bat

执行成功,重启后会发现多个Guest用户demo

参考文章:
http://cloudbase-init.readthedocs.io/en/latest/userdata.html#batch
https://ask.openstack.org/en/question/61813/calling-batch-script-from-cloudbase-init/
https://www.ibm.com/developerworks/cn/cloud/library/1620-openstack-metadata-service/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值