Azure Automation State Configuration 入门

注意

Azure 自动化 State Configuration 将于 2027 年 9 月 30 日停用,请在该日期之前转换到 Azure 计算机配置。 有关详细信息,请参阅博客文章公告。 Azure Machine Configuration 服务结合了 DSC 扩展、Azure Automation State Configuration 以及客户反馈中最常请求的功能。 Azure Machine Configuration 还包括通过已启用 Arc 的服务器提供的混合计算机支持。

注意

适用于 Linux 的 Azure Automation DSC 已于 2023 年 9 月 30 日停用。

本文提供了使用 Azure 自动化 State Configuration 执行最常见任务的分步指南,如:

  • 创建、导入和编译配置
  • 实现对计算机的管理
  • 查看报表

如需简要了解 State Configuration,请参阅 State Configuration 概述。 有关 Desired State Configuration (DSC) 文档,请参阅 Windows PowerShell Desired State Configuration 概述

如果需要一个已经设置好的示例环境,而不想按照本文所述步骤进行操作,则可使用 Azure 自动化托管节点模板。 此模板设置了一个完整的 State Configuration (DSC) 环境,包括一个由 State Configuration (DSC) 管理的 Azure 虚拟机。

先决条件

若要完成本文中的示例,需要具备以下条件:

创建 DSC 配置

将创建一个简单的 DSC 配置,以确保存在(或不存在)Web-Server Windows 功能 (IIS),具体取决于分配节点的方式。

Azure 自动化中的配置名称必须限制为不超过 100 个字符。

  1. 启动 VS Code(或任何文本编辑器)。

  2. 键入以下文本:

    configuration TestConfig
    {
        Node IsWebServer
        {
            WindowsFeature IIS
            {
                Ensure               = 'Present'
                Name                 = 'Web-Server'
                IncludeAllSubFeature = $true
            }
        }
    
        Node NotWebServer
        {
            WindowsFeature IIS
            {
                Ensure               = 'Absent'
                Name                 = 'Web-Server'
            }
        }
    }
    
  3. 将该文件另存为 TestConfig.ps1。

此配置在每个节点块中调用一个资源,即 WindowsFeature 资源。 此资源可确保 Web 服务器功能要么存在,要不不存在。

将配置导入 Azure 自动化

接下来,会将配置导入自动化帐户。

  1. 登录到 Azure 门户

  2. 在左侧选择“所有资源”,并选择自动化帐户的名称。

  3. 在“自动化帐户”页上的“配置管理”下,选择“State configuration (DSC)” 。

  4. 在“State Configuration (DSC)”页中,依次选择“配置”选项卡和“添加”。

  5. 在“导入配置”页中,浏览到计算机上的 TestConfig.ps1 文件。

    “导入配置”边栏选项卡的屏幕截图

  6. 选择“确定”

查看 Azure 自动化中的配置

在导入配置以后,即可在 Azure 门户中查看该配置。

  1. 登录到 Azure 门户

  2. 在左侧选择“所有资源”,并选择自动化帐户的名称。

  3. 在“自动化帐户”页上的“配置管理”下,选择“State configuration (DSC)” 。

  4. 在“State configuration (DSC)”页上,选择“配置”选项卡,然后选择在前一过程中导入的配置的名称,即“TestConfig”。

  5. 在“TestConfig 配置”页中,选择“查看配置源”

    “TestConfig 配置”边栏选项卡的屏幕快照

    此时会打开“TestConfig 配置源”窗格,其中显示配置的 PowerShell 代码。

编译 Azure 自动化中的配置

在将所需状态应用到某个节点之前,必须将定义该状态的 DSC 配置编译成一个或多个节点配置(MOF 文档),然后放置在自动化 DSC 拉取服务器上。 如需详细了解如何在 State Configuration (DSC) 中编译配置,请参阅在 Azure Automation State Configuration 中编译配置。 有关编译配置的详细信息,请参阅 DSC 配置

  1. 登录到 Azure 门户

  2. 在左侧选择“所有资源”,并选择自动化帐户的名称。

  3. 在“自动化帐户”页上的“配置管理”下,选择“State configuration (DSC)” 。

  4. 在“State configuration (DSC)”页上,选择“配置”选项卡,然后选择前面导入的配置的名称,即“TestConfig”。

  5. 若要启动编译作业,请在 TestConfig 配置窗格上选择“编译”,然后选择“是”

    “TestConfig 配置”页的屏幕截图,其中突出显示“编译”按钮

注意

在 Azure 自动化中编译配置时,它会自动将任何创建的节点配置 MOF 文件部署到拉取服务器。

查看编译作业

开始编译后,即可在“配置”页的“编译作业”磁贴中查看该作业 。 “编译作业”磁贴显示当前正在运行的、已完成的以及失败的作业。 打开编译作业窗格时,它会显示有关该作业的信息,包括遇到的任何错误或警告、在配置中使用的输入参数以及编译日志。

  1. 登录到 Azure 门户

  2. 在左侧选择“所有资源”,并选择自动化帐户的名称。

  3. 在“自动化帐户”页上的“配置管理”下,选择“State configuration (DSC)” 。

  4. 在“State configuration (DSC)”页上,选择“配置”选项卡,然后选择前面导入的配置的名称,即“TestConfig”。

  5. 在“编译作业”下,选择要查看的编译作业。 此时会打开“编译作业”窗格,其中标记了编译作业的开始日期。

    “编译作业”页的屏幕截图

  6. 若要查看有关该作业的更多详细信息,请选择“编译作业”窗格中的任意磁贴。

查看节点配置

成功完成编译作业以后,会创建一个或多个新的节点配置。 节点配置是部署到拉取服务器的 MOF 文档。 可在“State Configuration (DSC)”页中查看自动化帐户中的节点配置。 节点配置的名称格式为 ConfigurationName.NodeName

  1. 登录到 Azure 门户

  2. 在左侧选择“所有资源”,并选择自动化帐户的名称。

  3. 在“自动化帐户”页上的“配置管理”下,选择“State configuration (DSC)” 。

  4. 在“State configuration (DSC)”页中,选择“编译的配置”选项卡

    “编译的配置”选项卡屏幕截图

启用由 State Configuration 管理的 Azure 资源管理器 VM

可使用 State Configuration 来管理 Azure VM(包括经典 VM 和资源管理器 VM)、本地 VM、Linux 计算机、AWS VM,以及本地物理计算机。 本文介绍如何仅启用 Azure 资源管理器 VM。 要了解如何启用其他类型的计算机,请参阅启用由 Azure 自动化 State Configuration 管理的计算机

  1. 登录到 Azure 门户

  2. 在左侧选择“所有资源”,并选择自动化帐户的名称。

  3. 在“自动化帐户”页上的“配置管理”下,选择“State configuration (DSC)” 。

  4. 在“State Configuration (DSC)”页中,选择“节点”选项卡,然后单击“+ 添加”

    “DSC 节点”页的屏幕截图,其中突出显示“添加 Azure VM”按钮

  5. 在“虚拟机”窗格中,选择自己的 VM。

  6. 在“虚拟机详细信息”窗格中,选择“+ 连接”

    重要

    VM 必须是运行支持的操作系统的 Azure 资源管理器 VM。

  7. 在“注册”窗格的“节点配置名称”字段中,选择要应用到 VM 的节点配置的名称。 可以选择在此时提供名称。 可以在启用节点以后更改分配的节点配置。

  8. 选中“根据需要重新启动节点”,并选择“确定”

    “注册”边栏选项卡的屏幕快照

    所指定的节点配置以“配置模式频率”提供的值指定的时间间隔应用于 VM。 VM 按“刷新频率”值指定的时间间隔检查节点配置的更新。 有关如何使用这些值的详细信息,请参阅配置本地配置管理器

Azure 将启动启用 VM 的过程。 完成后,VM 会显示在自动化帐户的“State configuration (DSC)”页上的“节点”选项卡中

查看托管节点的列表

状态配置 (DSC) 页面的“节点”选项卡包含自动化帐户中已启用管理的所有计算机的列表

  1. 登录到 Azure 门户
  2. 在左侧选择“所有资源”,并选择自动化帐户的名称。
  3. 在“自动化帐户”页上的“配置管理”下,选择“State configuration (DSC)” 。
  4. 在“State configuration (DSC)”页中,选择“节点”选项卡

DSC 节点状态值

DSC 节点可以采用如下所述的六个值中的任何一个:

  • 失败 - 如果在节点上应用一个或多个配置时出错,将显示此状态。
  • 不合规 - 当节点上发生偏移时,将显示此状态,需要执行仔细检查
  • 无响应 - 当超过 24 小时未签入节点时,将显示此状态
  • 挂起 - 当节点具有要应用的新配置并且拉取服务器正在等待节点签入时,将显示此状态
  • 正在进行 - 当节点应用配置并且拉取服务器处于等待状态时,将显示此状态。
  • 合规 - 当节点具有有效配置并且当前未发生偏移时,将显示此状态。

注意

  • RefreshFrequencyMins - 定义节点联系代理服务的频率,可以在加入到 DSC 的过程中提供。 最大值为 10080 分钟。
  • 如果节点在 1440 分钟(1 天)内未联系代理服务,则会将节点标记为“无响应”。 建议使用小于 1440 分钟的 RefreshFrequencyMins 值,否则节点将错误地显示为“无响应”状态。

查看托管节点的报告

每当 State Configuration 在托管节点上执行一致性检查时,该节点就会将状态报告发送回拉取服务器。 可以在该节点的页上查看这些报告。

  1. 登录到 Azure 门户

  2. 在左侧选择“所有资源”,并选择自动化帐户的名称。

  3. 在“自动化帐户”页上的“配置管理”下,选择“State configuration (DSC)” 。

  4. 在“State configuration (DSC)”页中,选择“节点”选项卡。在此处,可以查看配置状态的概述,以及每个节点的详细信息。

    “节点”页的屏幕截图

  5. 在“节点”选项卡上,选择节点记录以打开报告。 选择要查看的报告。

    “报告”窗格的屏幕截图

可以查看相应的一致性检查的以下状态信息:

  • 报告状态。 可能的值为:
    • Compliant - 节点符合检查结果。
    • Failed - 配置检查失败。
    • Not Compliant - 节点处于 ApplyandMonitor 模式,计算机未处于所需状态。
  • 一致性检查的开始时间。
  • 一致性检查的总运行时间。
  • 一致性检查的类型。
  • 任何错误,包括错误代码和错误消息。
  • 在配置中使用的任何 DSC 资源,以及每个资源的状态(节点是否处于该资源的所需状态)。 选择每个资源可获取相应资源的更多详细信息。
  • 节点的名称、IP 地址和配置模式。

还可以通过选择“查看原始报告”来查看节点发送到服务器的实际数据。 有关如何使用该数据的详细信息,请参阅使用 DSC 报表服务器

启用节点以后,可能需要一段时间才会获得第一个报告。 启用节点后,可能最多需要等待 30 分钟才能获得第一个报告。

为节点重新分配其他节点配置

为节点分配配置时,可以让其使用不同于初始配置的节点配置。

  1. 登录到 Azure 门户

  2. 在左侧选择“所有资源”,并选择自动化帐户的名称。

  3. 在“自动化帐户”页上的“配置管理”下,选择“State configuration (DSC)” 。

  4. 在“State configuration (DSC)”页中,选择“节点”选项卡

  5. 在“节点”选项卡中,选择要重新分配的节点的名称

  6. 在该节点的页面上,选择“分配节点配置”

    “节点详细信息”页的屏幕截图,其中突出显示了“分配节点配置”按钮

  7. 在“分配节点配置”页中,选择要向其分配节点的节点配置,并选择“确定”

    “分配节点配置”页面的屏幕截图

注销节点

如果不再希望 State Configuration 对其进行管理,可以注销该节点。 请参阅如何从自动化 State Configuration 中删除配置和节点

后续步骤