如何配置DSC Pull服务器

日期: 2014-06-03 作者:Jason Helmick翻译:张冀川 来源:TechTarget中国 英文

在服务器上逐一部署理想状态配置(DSC)文件无法实现大规模的管理自动化。在之前的《使用自动部署策略锁定配置变更》文章中我们介绍了如何在单台服务器上部署DSC文件。这是重要的第一步,但如果你像我一样希望实现大规模的管理自动化,那么内心的兴奋也会被纷繁的问题所浇灭。如何处理这么多的计算机?如何确保计算机配置与配置文件描述的相一致? 我希望通过介绍如何部署DSC Pull服务器来解答部分问题,请记住DSC在快速发展,因此有你使用的版本可能会有一些变化。

配置DSC基础设施的主要任务包括: 1. 部署Pull服务器 2. 使用唯一的配置ID配置目标计算机、Pull服务器路径 3. 在Pull服务器上创……

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

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服务器的部分重要配置。

 构建Pull服务器

Import-DSCResource cmdlet导入了xPSDesiredStateConfiguration模块。现在我开始定义配置。首先需要安装创建Pull服务器的角色服务,DSC-Service角色同样会安装Pull服务器所需要的IIS以及额外的Web模块。我还喜欢安装Web-Mgmt-Console角色服务。Web-Mgmt-Console提供了图形化IIS管理器,今后进行故障诊断或者日志分析时会用到。

 构建Pull服务器

Pull服务器的关键配置是xDSCWebService部分,我们创建了一个使用8080端口的站点并允许使用非加密传输。在强烈要求使用HTTPS之前,请记住目前我们发送的只是配置信息并不涉及证书。同样定义了站点的路径以及今后配置文件的路径。PhysicalPath指向主站点的路径,ModulePath指向你希望部署到目标服务器上的定制模块的路径,ConfigurationPath指向目标服务器配置文件的路径。

 构建Pull服务器

使用完整的脚本,你需要创建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服务器。在今后的文章中,我将会讲解如何配置目标服务器以检索Pull服务器上的配置,并生成用于目标服务器的配置。使用自动部署策略锁定配置变更

翻译

张冀川
张冀川

TechTarget中国特约专家,任职于某国企信息中心,负责数据中心硬件基础设施及信息系统运维管理工作,对虚拟化及云计算技术有浓厚兴趣,并在工作中积极应用

相关推荐