在服务器上逐一部署理想状态配置(DSC)文件无法实现大规模的管理自动化。在之前的《使用自动部署策略锁定配置变更》文章中我们介绍了如何在单台服务器上部署DSC文件。这是重要的第一步,但如果你像我一样希望实现大规模的管理自动化,那么内心的兴奋也会被纷繁的问题所浇灭。如何处理这么多的计算机?如何确保计算机配置与配置文件描述的相一致? 我希望通过介绍如何部署DSC Pull服务器来解答部分问题,请记住DSC在快速发展,因此有你使用的版本可能会有一些变化。
配置DSC基础设施的主要任务包括: 1. 部署Pull服务器 2. 使用唯一的配置ID配置目标计算机、Pull服务器路径 3. 在Pull服务器上创……
我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。
我原创,你原创,我们的内容世界才会更加精彩!
【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】
微信公众号
TechTarget
官方微博
TechTarget中国
在服务器上逐一部署理想状态配置(DSC)文件无法实现大规模的管理自动化。在之前的《使用自动部署策略锁定配置变更》文章中我们介绍了如何在单台服务器上部署DSC文件。这是重要的第一步,但如果你像我一样希望实现大规模的管理自动化,那么内心的兴奋也会被纷繁的问题所浇灭。如何处理这么多的计算机?如何确保计算机配置与配置文件描述的相一致?
我希望通过介绍如何部署DSC Pull服务器来解答部分问题,请记住DSC在快速发展,因此有你使用的版本可能会有一些变化。
配置DSC基础设施的主要任务包括:
1. 部署Pull服务器
2. 使用唯一的配置ID配置目标计算机、Pull服务器路径
3. 在Pull服务器上创建并部署配置脚本,目标计算机将接收这些脚本
听起来很简单,但在开始时可能会令人困惑。在本文中我们将从配置Pull服务器开始讲起。
基本原则
务必在实验环境下进行测试直至熟悉了其使用方法,我有三台虚拟机。一台虚拟机是域控制器,用作Pull服务器,其他两台虚拟机用于部署,其中Server S1加入了域,Server S2未加入域。所有的服务器必须运行WMF 4。
正确部署DSC
我们使用Pull服务器的理念部署DSC配置:目标计算机将检索Pull服务器并获取配置。Pull服务器仅在网络中提供服务器消息块共享,从测试角度考虑,我喜欢这种简单的服务器消息块共享方式,但配置HTTPS Pull服务器供目标服务器获取或者更新配置有很多好处。HTTPS Pull服务器简化了部署模块及资源定制,而且更方便管理。因此最好在生产环境中配置HTTPS Pull服务器,这也是我所关注的一点。
如果已经运行了VMF 4,那么构建Pull服务器将非常复杂。必须安装IIS及额外的组件,然后创建目标计算机用于检索配置的站点。微软新提供的定制资源能够完成所有麻烦的工作,只需要下载定制资源然后为Pull服务器写一个简单的配置脚本。
获取最新的DSC资源
VMF 4包括了内置的DSC资源集合,这些资源集合实际上是PowerShell模块,使配置及写入服务器变得很容易。VMF4最初发布时,微软以及PowerShell社区一直在狂热地编写额外的资源,一个例子就是简化构建HTTPS Pull服务器的新资源。首先你需要获取新资源,目前这些新资源已作为DSC资源包发布并可下载。
对于这些额外的资源,需要考虑一些重要的因素:
在配置中用到这些资源的所有服务器要在本地存储用到的资源。
你不需要担心资源部署问题因为DSC HTTPS Pull服务器将会自动完成部署。
模块必须拷贝到Pull服务器的特定目录:C:Program FilesWindowsPowerShellModules。
模块名以x开头表示测试模块,官方还未提供支持。但如果登录PowerShell.org咨询相关问题,将会有很多DSC志愿者提供帮助。
你应该验证是否将资源模块拷贝到了正确的路径下,打开Powershll命令提示符并输入:
PS> Get-Module –ListAvailable,将会看到以x开头的模块位于列表顶端。
构建Pull服务器
xPSDesiredStateConfiguration模块是用于帮助构建Pull服务器的特定资源。在配置脚本中使用时必须先引入这些资源,如下示例是引入并配置Pull服务器的部分重要配置。
Import-DSCResource cmdlet导入了xPSDesiredStateConfiguration模块。现在我开始定义配置。首先需要安装创建Pull服务器的角色服务,DSC-Service角色同样会安装Pull服务器所需要的IIS以及额外的Web模块。我还喜欢安装Web-Mgmt-Console角色服务。Web-Mgmt-Console提供了图形化IIS管理器,今后进行故障诊断或者日志分析时会用到。
Pull服务器的关键配置是xDSCWebService部分,我们创建了一个使用8080端口的站点并允许使用非加密传输。在强烈要求使用HTTPS之前,请记住目前我们发送的只是配置信息并不涉及证书。同样定义了站点的路径以及今后配置文件的路径。PhysicalPath指向主站点的路径,ModulePath指向你希望部署到目标服务器上的定制模块的路径,ConfigurationPath指向目标服务器配置文件的路径。
使用完整的脚本,你需要创建MOF文件并将其推送给Pull服务器。
为实现上述目的,我在配置脚本的底部增加了如下配置。第一行在子目录CreatePullServer中创建了DSC.MOF配置,第二行推送该配置。
CreatePullServer -ComputerName DC
Start-DscConfiguration .CreatePullServer -wait
在这个例子中,ComputeName DC是Pull服务器的名字。运行该脚本很快就能得到一个全功能的Pull服务器!在浏览器中输入http://localhost:8080/psDSCPullServer.svc/能够验证Pull服务器可以响应请求。
如果一切OK,将会收到与下面图片类似的XML回复。
我们还没有完成所有任务,已经完成的仅是创建了Pull服务器。在今后的文章中,我将会讲解如何配置目标服务器以检索Pull服务器上的配置,并生成用于目标服务器的配置。使用自动部署策略锁定配置变更
相关推荐
-
Windows Server 2012 R2中的期望状态配置(DSC)功能的主要作用是什么?怎么用?
-
如何在管理工具箱中添加DSC资源
如果你正在探索使用DSC的声明式配置以及浮动管理所带来的巨大效益,那么很可能会对在环境中使用感兴趣。
-
使用自动部署策略锁定配置变更
如果你具备Linux/Unix背景,那么你应该熟悉自动化及配置管理产品Puppet和 Chef。这些配置工具使配置管理及自动化部署更简单。但如果是Windows环境呢?
-
使用VMware vMA实现日常管理自动化
作为一名VMware管理员,实现自动化有多种选择。可以使用VMware Orchestrator、PowerCLI以及vSphere Management Assistant。