关注微软私有云、公有云,虚拟化,项目经验丰富。商业合作请通过邮件联系,邮件地址a9y#foxmail.com(请替换#为@)。
全部博文(94)
分类: Windows平台
2014-05-05 16:35:33
""在微软私有云体系中可以说是一个非常重要的环节。要知道在单独的Hyper-V主机运维中,是不可能接触到服务模板的。只有接触到,你才会发现它所带来的好处。
在上一章节中,我们介绍了在服务模板中所部属的虚拟机中运行一些自定义脚本。今天的内容是接着昨天的话题:脚本中的变量。
============我是分隔线============
还是以昨天的一个需求为例:
作为最终用户A,希望部署虚拟机的时候将某些特定员工加入到"本地管理员组"中,作为管理员的我接到了这个需求,那么通过在服务模板中定义自定义脚本,完成了他的需求。
但是用户A觉得这种方法还不是很灵活,他希望自己定义哪些人可以被加到本地管理员中。同样,管理员不希望自己被这种小事所折磨,所以这种事情要A自己干,但是A还不能得到域管理员的密码。
============实现=========================
有了目标,就开始实施,在服务模板中,可以使用一个有趣的符号作为变量,在管理员定制服务模板时,可以让用户自行输入一些指定的参数,这些参数可以作为部署的一个参考。同时这些参数也可以作为变量传递给自定义脚本。
首先在"库"窗格打开模板→服务模板,创建一个服务模板,或者直接导入一个服务模板,比如" HA GATEWAY-2NIC"。
右键点击,选择打开设计器,或者在顶部点击选择打开设计器。
我们看一下这里
还有这里
以及这里,发现了么,通过使用@变量名@ ,我们可以定义一些最终可以由用户手动输入的信息,而这些信息可以自定义。这一点对于租户和解放管理员非常拥有。
像账户密码、密钥、特定的运行参数,可以在除了"硬件配置"选项卡下的大多数界面使用变量。
类似在运行脚本中使用变量,只需要把命令参数变为@username@即可。@@之间的变量名不做任何限制,只要保证唯一即可。
再次提醒,该功能只能在服务模板中实现,普通的VM模板是无法使用的。
不过这些变量让用户输入,但是用户不知道变量怎么填写怎么办?
回到服务模板下,双击已创建的服务模板,查看服务模板的属性,点击"服务设置",可以看到所有已经配置的参数。
双击任意一条参数,在"描述"里输入你希望用户看到的描述文字即可。
最终用户的体验是什么样子的呢?
用户选择部署服务,会要求用户输入变量的一些值,点击不同的值,在下方就可以看到"描述",填写起来自然毫无问题。
通过服务模板的变量,我们轻松搞定了任何小事都要联系管理员的用户A。