Microsoft Desired State Configuration v3 概述
Microsoft Desired State Configuration (DSC) 是一个声明性配置平台。 使用 DSC 时,使用一种应该清楚理解的格式描述计算机的状态,即使读者不是主题专家也是如此。 与命令性工具不同,使用 DSC 时,应用程序环境的定义独立于实现交付方式的脚本逻辑。
DSCv3 命令行应用程序以声明方式和幂等方式抽象化软件组件的管理。 DSCv3 在 Linux、macOS 和 Windows 上运行,没有任何外部依赖项。
使用 DSCv3,可以:
- 创作 DSC 资源以任何语言管理系统。
- 调用单个资源。
- 创建用于定义系统所需状态的配置文档。
配置文档
DSC 配置文档是定义资源实例的声明性 YAML 文件。 通常,配置文档定义要强制实施的状态。
示例方案包括应用程序环境或操作/安全标准的要求。
DSC 资源
DSC 资源定义如何管理特定系统或应用程序组件的状态。 资源描述组件的可管理设置的架构。 每个资源都可以与 获取 和 测试 操作一起使用,以检索资源实例的当前状态并验证它是否处于所需状态。 大多数资源还支持使用 Set 操作强制实施所需状态。
示例方案包括如何更新文件的内容、如何运行更改计算机状态的实用工具,以及如何配置应用程序的设置。
与 PowerShell DSC 的差异
DSCv3 利用 PSDesiredStateConfiguration 模块 来支持与基于 PowerShell 的现有资源的兼容性。
DSCv3 在几个重要方面与 PowerShell Desired State Configuration (PSDSC) 不同:
- DSCv3 不依赖于 PowerShell。 无需安装 PowerShell 即可使用 DSCv3,并管理以 bash、python、C#、Go 或任何其他语言编写的资源。
- DSCv3 不包括本地配置管理器。 DSCv3 作为命令调用。 它不作为服务运行。
- 非 PowerShell 资源使用 JSON 文件(而不是 MOF 文件)定义其架构。
- 配置文档在 JSON 或 YAML 文件中定义,而不是在 PowerShell 脚本文件中定义。
重要的是,虽然 DSCv3 表示对 DSC 平台的重大更改,但 DSCv3 能够调用 PSDSC 资源,包括基于脚本和基于类的 DSC 资源,就像它们现在一样。 配置文档不兼容,但所有已发布的 PSDSC 资源都兼容。 可以将 DSCv3 中的 PSDSC 资源与 Windows PowerShell 和 PowerShell 配合使用。
安装
安装 DSCv3:
- 从 PowerShell/DSC 存储库下载最新版本。
- 展开发布存档。
- 将包含扩展存档内容的文件夹添加到 。
PATH
从 PowerShell 库安装PSDesiredStateConfiguration
版本 3 beta:
# Using PSResourceGet
Install-PSResource -Name PSDesiredStateConfiguration -Version 3.0.0-beta1 -Prerelease
# Using PowerShellGet
Install-Module -Name PSDesiredStateConfiguration -RequiredVersion 3.0.0-beta1 -AllowPrerelease
与 DSCv3 集成
DSCv3 是一种平台工具,用于抽象定义和调用资源的问题。 高阶工具(如 Azure 计算机配置、Azure Automanaged VM 和 WinGet)是 DSCv3 作为业务流程代理的早期合作伙伴。
DSCv3 使用 JSON 架构来定义资源结构、配置文档和 DSCv3 返回的输出。 借助这些架构,可以更轻松地将 DSCv3 与其他工具集成,因为它们标准化并记录了如何与 DSCv3 交互。
另请参阅
- 基于命令的 DSC 资源的剖析 ,了解如何使用所选语言创作资源。
- “dsc”命令的命令行参考