写点什么

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

  • 2013-12-24
  • 本文字数:1265 字

    阅读完需:约 4 分钟

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
}
}
}
{1}

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

Start-DscConfiguration -Wait -Verbose -Path .

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

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

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

2013-12-24 09:011992
用户头像

发布了 321 篇内容, 共 134.0 次阅读, 收获喜欢 19 次。

关注

评论

发布
暂无评论
发现更多内容

在线CSS代码压缩美化工具

入门小站

工具

专家带你吃透 Flink 架构:一个新版 Connector 的实现

腾讯云大数据

flink 流计算 Oceanus

二哥的小破站终于上线了,颜值贼高!

沉默王二

Java 分布式

【工具推荐】Github国内访问速度太慢?一招教你轻松搞定

恒生LIGHT云社区

GitHub

Tableau Day2: 可视化入门图形制作

贾献华

1月月更

优化服务器存储架构——Amazon EBS io2 Block Express正式推出!

亚马逊云科技 (Amazon Web Services)

存储

网络安全好学吗?手把手教你学利用漏洞渗透 网络安全工程师学习资料汇总

学神来啦

十三部门修订发布《网络安全审查办法》,企业数据安全合规应尽早

行云管家

云计算 互联网 网络安全 数据安全

利用Graviton2和CloudFront为S3对象存储动态生成缩略图

亚马逊云科技 (Amazon Web Services)

存储

低代码音视频开发训练营正在火热报名中!

阿里云CloudImagine

阿里云 低代码 低代码平台 媒体处理 视频云

在Amazon SageMaker中灵活使用多种存储服务

亚马逊云科技 (Amazon Web Services)

存储

快来一起玩转LiteOS组件:RHas

华为云开发者联盟

C语言 LiteOS 组件 RHas 哈希函数库

Linux之chown命令

入门小站

Linux

前端开发之CSS样式——自定义滚动条

@零度

CSS 前端开发

Apache Flink 不止于计算,数仓架构或兴起新一轮变革

Apache Flink

大数据 flink 编程 实时计算 流式数仓

java开发框架Redis之sentinel和集群

@零度

redis JAVA开发

阿里副总裁浅雪对话VMware全球副总裁原欣:阿里云携手VMware,助力企业数字化转型

大咖说

云计算 阿里云 数字化转型 阿里巴巴‘

SAP HANA Delivery Unit概念简述

汪子熙

数据库 内存数据库 1月月更

手把手教你使用 Timestream 实现物联网时序数据存储和分析!

亚马逊云科技 (Amazon Web Services)

存储

iOS开发-数据结构与算法学习之排序篇

iOSer

ios 算法 数据结构与算法 ios开发 iOS 知识体系

开源堡垒机可以一直免费使用吗?为什么?

行云管家

开源 网络安全 堡垒机

有道围棋 AI:智能匹配儿童棋力的良师益友

有道技术团队

网易有道 围棋

TDengine助力京东云IoT数据统计改造

TDengine

数据库 tdengine OpenTSDB

设计是表达的艺术,不是艺术的表达

Yisen玩设计

大数据开发之Hive表数据同步至HBase

@零度

大数据 hive HBase

有了这个新特性,一扫实例存储数据丢失风险!

亚马逊云科技 (Amazon Web Services)

存储

教程直播第6期 | OceanBase 如何进行 Benchmark 测试及调优

OceanBase 数据库

oceanbase OceanBase 开源 OceanBase 社区版

kafka的优缺点都有那些

编程江湖

kafka

图形测试分析毫无头绪?HarmonyOS图形栈测试技术帮你解决|HDC2021技术分论坛

HarmonyOS开发者

HarmonyOS

EventBridge 最佳实践场景:流计算 Oceanus 告警消息实时推送

腾讯云大数据

flink 流计算 Oceanus

Powershell的期望状态配置支持推、拉模式_DevOps & 平台工程_João Miranda_InfoQ精选文章