BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

Powershell的期望状态配置支持推、拉模式

| 作者 João Miranda 关注 2 他的粉丝 ,译者 孙镜涛 关注 2 他的粉丝 发布于 2013年12月25日. 估计阅读时间: 5 分钟 | CNUTCon 了解国内外一线大厂50+智能运维最新实践案例。

Windows PowerShell博客一直在写有关于PowerShell的期望状态配置(Desired State Configuration,DSC)的内容。DSC是Microsoft针对Windows世界计算机配置管理的提议。最新的一篇文章解释了DSC是怎样支持推和拉两种配置模式的。

DSC是PowerShell工具中新增的内容,它让我们能够声明对于给定的节点或者机器什么是期望的配置。这种方式和PowerShell已经支持的命令式风格是不同的。利用DSC的脚本用户仅需要声明想要的配置,不需要关注为了配置一台机器需要执行哪些步骤。PowerShell 的DSC系统会决定应该如何做。

PowerShell DSC包含资源的概念。资源是允许配置项的构建块,例如:用户、组、服务器角色或者注册表项。PowerShell DSC已经有一些内置的资源,但是也能够创建自定义的资源。下面的示例使用文件资源声明了在本地主机上C:\inetpub\wwwroot文件夹中的内容应该完全复制于 C:\SiteFiles文件夹:

Configuration SiteConfig
{
   # A Configuration block can have zero or more Node blocks
   Node "localhost"
   {
      # File is a built-in resource you can use to manage files and directories
      # This example ensures files from the source directory are present in the 
destination directory
      File MyFileExample
      {
         Ensure = "Present"  # You can also set Ensure to "Absent"
         Type = "Directory“ # Default is “File”
         Recurse = $true
         SourcePath = "C:\SiteFiles" # This is a path that has web files
         DestinationPath = "C:\inetpub\wwwroot" # The path where we want to ensure 
the web files are present
      }
   }
} 

为了应用一个配置,PowerShell提供了两种模式:推模式和拉模式。推模式是通过执行 Start-DscConfiguration 命令立即触发的。例如,下面的命令会将当前路径上的配置应用到脚本内部的所有指定节点上:

Start-DscConfiguration -Wait -Verbose -Path .

拉模式将主动权交给了节点本身。节点需要轮询一个拉服务器以便于查看是否有新的配置。如果检查到了新配置,那么本地配置管理器(Local Configuration Manager,LCM)——PowerShell DSC的引擎——就会下载并应用它们。拉模式的设置稍微有一点复杂:需要配置拉服务器和一个web网站,同时还需要通过Set-DscLocalConfigurationManager 命令在每一个目标节点上配置一个LCM。 Windows PowerShell团队发布了一篇文章和一个帮助工具,以便于让用户能够更容易地设置拉服务器。

尽管大部分工具同时支持这两种模式,但是也有一些工具喜好推模式,例如Ansible;还有一些工具喜好拉模式,例如PuppetChef。有关于这两种模式的争论有很多。推模式更加简单、更容易控制:它不需要在目标节点上安装任何特定的软件,同时配置在用户请求时才会触发。拉模式的可伸缩性更好,支持丰富的元数据:目标节点自己完成配置工作,使用异步方式,同时拉服务器能够集中存储每一个目标节点状态的元数据。

查看英文原文Powershell's Desired State Configuration Supports Push And Pull Modes

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我
社区评论

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT