写点什么

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

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

关注

评论

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

Kafka性能测试初探

FunTester

ChatGPT 何时替代码农?

酱紫的小白兔

码农 机器人 ChatGPT

独家合作:百度飞桨AI4S最新成果亮相香港力学盛会,PINN方法获得沪港众学者关注

飞桨PaddlePaddle

羊毛党请远离消费卷

MobTech袤博科技

云原生典型应用架构

穿过生命散发芬芳

云原生架构 三周年连更

焱融存储方案入选爱分析·智能制造最佳实践案例

焱融科技

高性能 #分布式文件存储 #全闪存储

海泰方圆《数字政府密码应用与数据安全合规性建设指南》顺利通过评审

电子信息发烧客

Shell脚本的变量

芯动大师

Shell命令 三周年连更 shell变量

11分钟解决“世界性”难题!百度生物计算研究成果登顶《Nature》正刊

飞桨PaddlePaddle

百度 飞桨 nature

LLMs 记忆体全新升级:六大新功能全面出击,用户体验值拉满!

Zilliz

大模型时代 向量数据库 zillizcloud LLMs

C++多线程编程和同步机制:详解和实例演示

小万哥

c++ 程序员 后端 多线程 同步

【分布式技术专题】「分布式技术架构」手把手教你如何开发一个属于自己的限流器RateLimiter功能服务

码界西柚

分布式 限流器 三周年连更 动手实现 RateLimter

Flink应用开发

阿泽🧸

flink 三周年连更

开源项目LuckyDraw分享&介绍

进基的小张

小程序 开源 开发 GitHub、 项目上线

ChatGPT背后的打工人:你不干,有的是AI干

引迈信息

人工智能 低代码 ChatGPT JNPF

2 行代码开启 SAST,将代码漏洞定位到具体行数

极狐GitLab

DevOps DevSecOps SAST 应用安全测试 安全扫描

这8种常见的防火墙,分别有哪些优缺点?

wljslmz

防火墙 三周年连更

Markdown基础语法教程

进基的小张

学习 markdown markdown语法 markdown编辑器 基础

【崖山论“见”】YashanDB Meetup 第2期|数据库“大心脏”融合存储引擎揭秘

YashanDB

《AGI时代的破局之道 | 社区征文》

后台技术汇

三周年征文

全球首个开发者村“开村”!数字之光在何处点亮?

脑极体

开发者 开发者社区

2023-05-05:给定一个无向、连通的树 树中有 n 个标记为 0...n-1 的节点以及 n-1 条边 。 给定整数 n 和数组 edges , edges[i] = [ai, bi]表示树中的

福大大架构师每日一题

golang 算法 rust

木兰汇专访 | 网心科技联合创始人马婷:创业者的“长期主义”

网心科技

服务网格(Service Mesh)是什么?

乌龟哥哥

三周年连更

下载LORA模型

IT蜗壳-Tango

三周年连更

图像识别数据集的重要性及其分类

数据堂

PS 2020 photoshop绿色版

源字节1号

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