AzureVM扩展之DSC

简介:

之前的博文介绍过AzureVM扩展的一些内容,AzureVM extension的国际版和国内版是有挺大区别的,从功能丰富程度来看,国际版目前是要比国内多很多内容的,且即便是相同的功能,可能版本号也不一致,像BGInfo啊,Access管理之类的比较常用,此外还有Docker扩展目前只在preview版本的新门户中才可以直观的看到,这次为了迎合前两篇PowerShell DSC的主题特地选择了AzureVM Extension中的DSC扩展来做介绍,也是想说明一下DSC这种强大编辑的自动化运维手段是可以无缝扩展到云端的。

###################################################################

想在Azure中使用DSC对VM进行维护,方法与本地基本一致,只是在执行时需要通过Azure的PowerShell方法来实现,下图我做了一个非常简单的实例,在本地安装web-server角色,并把脚本保存为叫“111”的*.ps1文件:

wKiom1VZgLazlyioAAW8NOFcPzk600.jpg

之后执行publish-azurevmdscconfiguration,并制定ps1文件的本地路径,这条命令将会把本地的ps1脚本打包成azure可以识别的zip格式,然后上传到当前操作订阅中的blob容器内:

wKioL1VZgjDwLEmmAAFhTnigUVA040.jpg

此时我在我的blob内找到了名为“windows-powershell-dsc”的容器,这个名字是默认的,当然你可以在上一步的publish中指定container名字,然后就可以在容器内看到下图中所示的zip包文件:

wKiom1VZgLaDtVo3AAMB5Y4apGE878.jpg

接下来就是让zip包里面的“期望的配置(DSC)”在目标vm中执行了,对于现有的虚机,可以使用set-azurevmdsctextension来实现,或者在新创建虚拟机中一并实现(具体方法请自行使用get-help查看):

wKioL1VZgjCgYM3rAAJCiyUnTzI665.jpg

在我的国际版订阅中可以看到当前DSC扩展的版本是1.9,如下图:

wKioL1VZgjGhuA2dAAQxYiYGZfM114.jpg

使用get-azurevmdscextensionstatus能够查看执行结果是否成功,如下图显示“successfully”:

wKiom1VZgLfxsOfYAAQEo069zm8611.jpg

登陆目标vm并查看web-server已经成功部署,如下图:

wKioL1VZgjHwwKy6AAmq44HTPUU927.jpg

#################################################################

之前有提到过DSC能够将“环境配置”与“结构配置”拆分开,也就是“where”和“what”,下图中我按照此格式定义了只对“webserver“角色的虚拟机来安装IIS控制台,并且将默认网站disable掉,如下图,我把”结构配置(what)“保存为本地的*.ps1格式文件:

wKiom1VZgLfja0ZxAAZsnLon5-M037.jpg

然后我在指定受影响的范围,即”环境配置(where)“,并保存为本地的*.psd1文件,如下图:

wKiom1VZgLjSy0M9AAbFa6b68tI095.jpg

完成之后依旧使用publish-azurevmdscconfiguration,指定本地的ps1文件,之后确认已经成功将ps1脚本转换成zip格式上传到blob容器内,如下图:

wKioL1VZgjKj-_GpAAQlL3bRsa8753.jpg

下面就是具体执行步骤,set-azurevmdscextension,与上文不同的是增加了一个"-configurationdatapath"参数,这是用来指定本地psd1文件的,也就是”环境配置(where)“,以此来确保dsc执行范围是否有效,目标vm是否是我期望的”webrole“角色,如下图:

wKioL1VZgjLxUcK4AANIKIyVCCo937.jpg

查看进度,会发现dsc的执行会有几个阶段,比如下图中处于”in progress“,稍后就会显示成功:

wKiom1VZgLjiP21yAAYlMMOSCaU247.jpg

登陆目标vm可以打开IIS控制台,并且默认网站已经被禁用,如下图:

wKiom1VZgLjz9PqLAASgZsTGpNU885.jpg

有关AzureVMextension DSC的日志其实是可以在目标vm中找到的,路径分别为"C:\Packages\Plugins\Microsoft.Powershell.DSC\版本号"和"C:\WindowsAzure\Logs\Plugins\Microsoft.Powershell.DSC\版本号",里面分别存放了DSC扩展功能所需要的文件以及每一次执行过程的详细日志,管理员可以从中来分析失败的原因,如下图:

wKioL1VZgjPyJqI7AAbjMhb5gMQ865.jpg

#################################################################

PowerShell DSC在本地和Azure云端可以很灵活的部署与执行,而且据可靠消息透露在下一版的SCVMM中也会加入对DSC的支持,这样一来就不会出现被puppet和chef等开源项目抢风头的局面了:)



本文转自maomaostyle 51CTO博客,原文链接:http://blog.51cto.com/maomaostyle/1652348,如需转载请自行联系原作者


相关文章
|
机器学习/深度学习 数据采集 搜索推荐
多模型DCA曲线:如何展现和解读乳腺癌风险评估模型的多样性和鲁棒性?
多模型DCA曲线:如何展现和解读乳腺癌风险评估模型的多样性和鲁棒性?
507 1
|
存储 安全 数据安全/隐私保护
特权账号管理系统,全方位的账号安全平台
如今,企业特权账户范围广、数量大且极不稳定是现代企业面临黑客等攻击行为的最大安全隐患。而且,由于特权账户的权限极大,一旦其被攻击者破解,就能完全掌控组织的IT基础设施,从而引发防护控制失效、机密数据泄露、商业诈骗和扰乱企业正常运作的严重后果。
425 0
|
弹性计算 虚拟化 异构计算
2023阿里云GPU服务器租用价格表(包月/按小时/学生价)
2023阿里云GPU服务器租用价格表(包月/按小时/学生价)阿里云GPU服务器租用价格表包括包年包月价格、一个小时收费以及学生GPU服务器租用费用,阿里云GPU计算卡包括NVIDIA V100计算卡、T4计算卡、A10计算卡和A100计算卡,GPU云服务器gn6i可享受3折优惠,阿里云百科分享阿里云GPU服务器租用价格表、GPU一个小时多少钱以及学生GPU服务器收费价格表
1223 0
【计算巢】网络拓扑结构的比较分析:星形、环形与总线型
【5月更文挑战第31天】本文介绍了网络的三种常见拓扑结构:星形、环形和总线型。星形拓扑易于管理和维护,信息传递高效;环形拓扑结构简单,信息环状传递,但环中断可能导致网络瘫痪;总线型成本低、扩展易,但总线故障会全局影响。理解其特点有助于根据需求选择合适的网络结构。
1060 1
|
11月前
|
Java API
一个线上问题让我发现了Calendar类中的秘密-周一真的是每周的第一天吗?
在开发一个查询未完成业务的需求时,遇到了一个问题:清明节后周日提前查出了应于周一才显示的未完成业务。原因是代码中使用了`Calendar`类,默认将周日视为一周的第一天,导致当天获取的“本周一”实际上是下周一。通过调试发现,`Calendar`类的默认设置与实际需求不符。为解决此问题,提出了三种方案:1. 加入判断机制,对周日特殊处理;2. 修改`Calendar`类的设置,将周一设为一周的第一天;3. 使用其他日期处理库如Hutool,默认以周一为一周的开始。此次排错提醒我们在日常开发中需深入了解所用类库的实现细节,以便更好地应对潜在问题。
381 14
|
Windows
Windows的mklink使用方法
【5月更文挑战第20天】Windows的mklink使用方法
1154 0
|
架构师 数据库 OceanBase
OceanBase的创始人是阳振坤
【8月更文挑战第8天】OceanBase的创始人是阳振坤
894 62
|
JavaScript 前端开发 C++
【Vue.js的终极对决】服务端渲染VS客户端渲染:一场关乎速度与SEO的生死较量!
【8月更文挑战第30天】Vue.js 是一个流行的 JavaScript 框架,支持服务端渲染(SSR)和客户端渲染。SSR 在服务器生成完整 HTML,有利于 SEO 并缩短首屏加载时间,但增加服务器负担;客户端渲染则在浏览器生成页面,提升交互性,降低服务器负载。本文通过代码示例对比两者优劣,并提供选择指南,帮助开发者根据 SEO 需求、交互性需求及服务器资源等条件,选择合适的渲染方式,从而优化应用性能和用户体验。
323 0
|
人工智能 自然语言处理 搜索推荐
梅俊:如何用好A1,轻松写好汇报、通知、复盘?
《如何用AI辅助高效写公文》课程由公文写作专家梅俊老师主讲,旨在帮助解决公文写作难题。课程涵盖广泛,不仅限于法定公文,还包括事务类公文,适合各类职场人士。梅俊老师结合15年写作经验和AI研究,提出7步法,包括问题拆解、信息分析、内容生成等,强调人与AI的协作,而非完全依赖AI。课程通过实例演示如何利用AI工具如kimichat和秘塔AI搜索提高写作效率,同时提醒用户需判断信息质量和内容质量。课程教授从初级到高级的14种公文写作,鼓励学员实践并形成“AI思维”。
907 1
|
人工智能 前端开发 JavaScript
web发展历程
【4月更文挑战第25天】web发展历程
463 1