写点什么

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:011755
用户头像

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

关注

评论

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

你写,我“奖”|TDengine用户故事征集

TDengine

tdengine 热门活动

低代码数字化运营篇:那些返乡卖农产品的年轻人后来都怎么样了?

优秀

低代码 农产品

枚举代替常量

李子捌

28天写作 21天挑战 12月日更

语音信号处理2:语音信号处理的应用

轻口味

Log4j2 Zero Day 漏洞 Apache Flink 应对指南

Apache Flink

大数据 flink log4j2

把酒言欢话聊天,基于Vue3.0+Tornado6.1+Redis发布订阅(pubsub)模式打造异步非阻塞(aioredis)实时(websocket)通信聊天系统

刘悦的技术博客

tornado 实时通信 Vue 3 web socket redis'

语音信号处理3:语音信号处理的的整体结构

轻口味

重磅发布全总结丨一文看懂阿里云弹性计算年度峰会

阿里云弹性计算

弹性计算 年度峰会

模块七作业

doublechun

「架构实战营」

Java访问修饰符的正确使用姿势

李子捌

Java 28天写作 21天挑战 12月日更

重点人员管控系统开发搭建,指挥调度平台建设方案

电微13828808271

优酷 Android 构建速度优化实践

阿里巴巴终端技术

android App Gradle 移动开发 客户端

LeetCode 刷完 500 题!我想明白了这些……

Charles

算法 刷题 经验总结 内卷 攻略

情报信息分析研判系统搭建,情指勤一体化平台建设开发

电微13828808271

再获行业认可,火线安全入选「软件开发安全优秀厂商」

火线安全

CSS之变量(二)条形加载条

Augus

CSS 12月日更

语音信号处理1:语音信号处理的发展

轻口味

清河机械:用宜搭建设工厂数字化系统,节省80%开发成本

一只大光圈

阿里巴巴 低代码 数字化转型 钉钉宜搭

晚安吻

mtfelix

28天写作

什么是事实?什么是真相?

石云升

28天写作 12月日更

智慧社区小程序搭建,智慧平安社区解决方案

电微13828808271

饿了么小程序容器首屏秒开优化实践

阿里巴巴终端技术

小程序 App 移动开发 客户端 小程序容器

一份前端够用的 Linux 命令

冴羽

vim Linux 前端 Shell 手册

“全”事件触发:阿里云函数计算与事件总线产品完成全面深度集成

阿里巴巴云原生

阿里云 云原生 函数计算 EventBridge

端侧AI进化论:HUAWEI HiAI Foundation的奇妙旅程

脑极体

模块7作业

Asha

智慧公安情报研判重点人员管控系统开发建设

a13823115807

智慧公安情报研判系统开发

RTC月度小报6月丨编程挑战赛圆满收官;声网上市1周年回顾...

声网

人工智能 月度小报

PassJava 开源 (二) :初始化数据库表和搭建管理后台

悟空聊架构

SpringCloud 28天写作 悟空聊架构 12月日更

冬至说焦虑

张老蔫

28天写作

全球IT服务将增1.3万亿美元,联想持续布局智慧服务能力

科技大数据

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