Microsoft Desired State Configuration v3 概述
Microsoft的 Desired State Configuration (DSC) 是声明性配置平台。 使用 DSC 时,计算机的状态使用一种格式进行描述,即使读者不是主题专家,也应当清楚地理解这种格式。 与命令性工具不同,使用 DSC,应用程序环境的定义与实现交付方式的脚本逻辑不同。
DSCv3 命令行应用程序以声明方式和幂等方式抽象化软件组件的管理。 DSCv3 在 Linux、macOS 和 Windows 上运行,没有任何外部依赖项。
使用 DSCv3,可以:
- 创作 DSC 资源以任何语言管理系统。
- 调用单个资源。
- 创建定义系统所需状态的配置文档。
配置文档
DSC 配置文档是定义资源实例的声明性 YAML 文件。 通常,配置文档定义要强制实施的状态。
示例方案包括应用程序环境或作/安全标准的要求。
DSC 资源
DSC 资源定义如何管理特定系统或应用程序组件的状态。 资源描述组件的可管理设置的架构。 每个资源都可以与 获取 和 测试作一起使用,以检索资源实例的当前状态并验证它是否处于所需状态。 大多数资源还支持使用 集作强制实施所需状态。
示例方案包括如何更新文件的内容、如何运行更改计算机状态的实用工具,或如何配置应用程序的设置。
与 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 资源和基于类的 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 Dev Box、Windows Dev Home 和 WinGet)是 DSCv3 作为业务流程代理的早期合作伙伴。
DSCv3 使用 JSON 架构定义 DSCv3 返回的资源、配置文档和输出的结构。 这些架构可以更轻松地将 DSCv3 与其他工具集成,因为它们标准化并记录了如何与 DSCv3 进行交互。
另请参阅
- 基于命令的 DSC 资源剖析,了解如何使用所选语言创作资源。
- “dsc”命令的命令行参考