你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

在 Azure IoT 操作预览版中部署解决方案

重要

Azure IoT 操作预览版(由 Azure Arc 启用)当前处于预览状态。 不应在生产环境中使用此预览版软件。

有关 beta 版本、预览版或尚未正式发布的版本的 Azure 功能所适用的法律条款,请参阅 Microsoft Azure 预览版的补充使用条款

使用 Azure IoT Orchestrator 预览版部署、配置和更新 Azure IoT 操作预览版边缘计算方案的组件。

Diagram that shows the architecture of Azure IoT Orchestrator components in the cloud and managing an Arc-enabled Kubernetes cluster.

Orchestrator 是一项服务,可以管理已启用 Arc 的 Kubernetes 群集上的应用程序工作负载。 它利用 Helm、Kubectl 和 Arc 等现有工具在目标群集上实现所需的状态。 Orchestrator 使用名为“提供程序”的扩展性模型,使其能够支持各种操作系统平台和部署机制的部署和配置。 Orchestrator 还提供对账和状态报告功能,以确保维持所需的状态。

构造

有几种构造可以帮助你管理应用程序工作负载的部署和配置。

清单

三类清单(解决方案、目标和实例)协同工作,旨在描述群集的所需状态。 有关创建清单文件的详细信息,请参阅清单

解决方案

解决方案是一个模板,定义可在一个或多个目标上部署的应用程序工作负载。 解决方案描述了应用程序组件。 应用程序组件是要部署在目标群集上的资源,它使用目标清单(例如 PowerShell 脚本或 Azure IoT 数据处理器预览版管道)中定义的基础结构组件。

目标

目标是特定的部署环境,例如 Kubernetes 群集或边缘设备。 它会描述基础结构组件,这些组件只需在设备上安装一次,例如 PowerShell 或 Azure IoT 数据处理器。 每个目标都有自己的配置设置,可根据部署环境的特定需求进行自定义。 目标还指定要在目标上管理的资源类型的提供程序绑定(例如 Helm、PowerShell 脚本、CR 或 Bash 脚本)。

实例

实例是将解决方案部署到目标的特定部署。 可以将其视为解决方案的实例。

提供程序

提供程序是允许 Orchestrator 在各种 OS 平台和部署机制中支持部署和配置的扩展性模型。 提供程序负责执行实现资源所需状态所需的操作。 Orchestrator 支持几种行业标准工具,例如 Helm、Kubectl 和 Arc。有关详细信息,请参阅提供程序

协调

对账进程确保了资源的所需状态得以维持。 群集上的资源管理器会将所有资源的当前状态与解决方案清单中指定的所需状态进行比较。 如果发现存在差异,资源管理器会调用群集上的相应提供程序,将资源更新到所需状态。

如果资源管理器无法对账所需状态,部署会被报告为失败,且群集将保持之前的成功状态。

默认情况下,资源管理器每三分钟会触发一次对账,以检查是否更新到所需状态。 可以配置此轮询间隔策略,针对需要更频繁检查或倾向于不太频繁检查的场景进行自定义,以减少开销。

状态报告

状态报告功能确保了所需状态得以维持。 当群集上的资源管理器检测到单个组件出现故障时,它会认为整个部署失败并重试部署。 如果特定组件再次发生故障,部署会被认定为再次失败,基于可配置对账设置,资源管理器会停止状态寻找,并将实例更新为“失败”状态。 失败(或成功)状态会同步到云端,可通过资源提供程序 API 进行查看。 然后,可以生成体验工作流,以通知客户、尝试重试,或部署以前的解决方案版本。