你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
了解如何使用 Azure 门户将 Azure IoT 操作部署到具有安全生产设置的 Kubernetes 群集。
如果已将 Azure IoT 操作的测试实例部署到群集,并且想要将同一群集用于生产场景,请按照“在现有 Azure IoT 操作实例上启用安全设置”中的步骤进行操作。
在您开始之前
在本文中,我们将讨论 Azure IoT 操作部署和实例,这是两个不同的概念:
Azure IoT 操作部署描述了启用 Azure IoT 操作方案的所有组件和资源。 这些组件和资源包括:
- Azure IoT 操作实例
- Arc 扩展
- 自定义位置
- 可以在 Azure IoT 操作解决方案中配置的资源,例如资产和设备。
Azure IoT Operations 实例 是捆绑在 什么是 Azure IoT Operations? 中定义的服务套件的父资源,例如 MQTT 代理、数据流和 OPC UA 的连接器。
讨论部署 Azure IoT 操作时,我们指的是构成部署的完整组件集。 部署存在后,可以查看、管理和更新实例。
先决条件
云资源:
Azure 订阅。
Azure 访问权限。 有关详细信息,请参阅 “部署详细信息 > 所需的权限”。
开发资源:
- 已在开发计算机上安装的 Azure CLI。 此方案需要 Azure CLI 2.53.0 或更高版本。 如有必要,请使用
az --version检查版本,并使用az upgrade进行更新。 有关详细信息,请参阅 如何安装 Azure CLI。
群集主机:
具有已启用 Azure Arc 的 Kubernetes 群集,并启用了自定义位置和工作负载标识功能。 如果您没有 Azure Arc 启用的 Kubernetes 群集,请按照《准备您的 Azure Arc 启用 Kubernetes 群集》中的步骤进行操作。
如果之前已将 Azure IoT 操作部署到群集,请先卸载这些资源,然后再继续操作。 有关详细信息,请参阅 更新 Azure IoT 操作。
(推荐)在部署 Azure IoT 操作之前配置自己的证书颁发机构:自带颁发机构。
在 Azure 门户中部署
Azure 门户部署体验是一种帮助程序工具,它基于资源和配置生成部署命令。 最后一步是运行 Azure CLI 命令,因此仍需要上一部分所述的 Azure CLI 先决条件。
登录到 Azure 门户。
在搜索框中,搜索并选择“Azure IoT 操作”。
选择“ 创建”。
在“基本信息”选项卡中提供以下信息:
参数 值 订阅 选择包含已启用 Arc 的群集的订阅。 资源组 选择包含已启用 Arc 的群集的资源组。 群集名称 选择要将 Azure IoT 操作部署到的群集。 自定义位置名称 可选:替换自定义位置的默认名称。 部署版本 选择 1.2(最新) 版本。 有关详细信息,请参阅 IoT 操作版本。 选择“下一步: 配置”。
在“配置”选项卡上,提供以下信息:
参数 值 Azure IoT 操作名称 可选:替换 Azure IoT 操作实例的默认名称。 MQTT 代理配置 可选:编辑 MQTT 代理的默认设置。 在 Azure 门户中,可以配置基数和内存配置文件设置。 若要配置其他设置,包括磁盘支持的消息缓冲区和高级 MQTT 客户端选项,请参阅 Azure CLI 支持高级 MQTT 代理配置。 数据流配置文件配置 可选:编辑数据流的默认设置。 有关详细信息,请参阅 “配置数据流配置文件”。 选择“下一步: 依赖项管理”。
在“依赖项管理”选项卡上,选择现有架构注册表或使用以下步骤创建一个:
选择“新建”。
提供架构注册表名称和架构注册表命名空间。
选择“选择 Azure 存储容器”。
从启用了分层命名空间的帐户列表中选择存储帐户,或选择“创建”来创建存储帐户。
架构注册表需要启用了分层命名空间和公用网络访问的 Azure 存储帐户。 创建新的存储帐户时,请选择“常规用途 v2”存储帐户类型,并将“分层命名空间”设置为“启用”。
有关配置存储帐户的详细信息,请参阅 生产部署指南。
在存储帐户中选择容器,或选择“容器”创建一个。
选择“应用”以确认架构注册表配置。
Azure IoT 操作使用命名空间来组织资产和设备。 每个 Azure IoT 操作实例都为其资产和设备使用单一命名空间。 在 “依赖项管理 ”选项卡上,选择现有的 Azure 设备注册表命名空间,或使用以下步骤创建一个:
选择“新建”。
在“基本信息”选项卡中提供以下信息:
参数 值 订阅 选择订阅。 资源组 选择包含您的 Azure IoT 操作实例的资源组。 名称 为命名空间提供唯一名称。 Region 选择要存储命名空间的 Azure 区域。 选择“下一步”继续操作。
在“ 标记 ”选项卡上,可以选择将标记添加到命名空间。 选择“下一步”继续操作。
在“ 查看 + 创建 ”选项卡上,查看配置,然后选择“ 创建 ”以创建命名空间。
返回“ 依赖项管理 ”选项卡,从列表中选择新创建的命名空间。
在“依赖项管理”选项卡上,选择“安全设置”部署选项。
在“部署选项”部分,提供以下信息:
选择“下一步: 自动化”。
运行 Azure CLI 命令
Azure 门户部署体验的最后一步是运行一组 Azure CLI 命令,将 Azure IoT 操作部署到群集。 这些命令是根据你在前几个步骤中提供的信息生成的。
在终端的“自动化”选项卡上运行每个 Azure CLI 命令,一次运行一个:
即使之前已经登录,仍需使用浏览器以交互方式登录到 Azure CLI。 如果未以交互方式登录,则在继续执行下一步以部署 Azure IoT 操作时,可能会收到一条错误消息,指出“设备必须处于受管理状态才能访问资源”。
az login安装最新的 Azure IoT 操作 CLI 扩展。
az upgrade az extension add --upgrade --name azure-iot-ops复制并运行提供的 az iot ops schema registry create 命令,以创建 Azure IoT 操作组件使用的架构注册表。 如果选择使用现有架构注册表,则此命令不会显示在“自动化”选项卡上。
注意
此命令要求你具有角色分配写入权限,因为它会分配角色以授予架构注册表对存储帐户的访问权限。 默认情况下,该角色是内置“存储 Blob 数据参与者”角色,也可以改为创建具有受限权限的自定义角色来进行分配。 有关详细信息,请参阅 az iot ops schema registry create。
若要为 Azure IoT 操作部署准备群集,请复制并运行提供的 az iot ops init 命令。
提示
每个群集只需运行一次
init命令。 如果重用已部署有 Azure IoT 操作版本 0.8.0 的群集,则可跳过此步骤。此命令可能需要几分钟才能完成。 可以在终端的部署进度显示中观看进度。
部署 Azure IoT 操作。 复制并运行提供的 az iot ops create 命令。 此命令可能需要几分钟才能完成。 可以在终端的部署进度显示中观看进度。
如果已遵循可选先决条件来设置自己的证书颁发者,请将
--trust-settings参数添加到create命令:--trust-settings configMapName=<CONFIGMAP_NAME> configMapKey=<CONFIGMAP_KEY_WITH_PUBLICKEY_VALUE> issuerKind=<CLUSTERISSUER_OR_ISSUER> issuerName=<ISSUER_NAME>为已部署的 Azure IoT 操作实例启用机密同步。 复制并运行提供的 az iot ops secretsync enable 命令。 此命令:
- 使用用户分配的托管标识创建联合标识凭据。
- 向用户分配的托管标识添加角色分配,以访问 Azure Key Vault。
- 添加与 Azure IoT 操作实例关联的最小机密提供程序类。
将用户分配的托管标识分配给已部署的 Azure IoT 操作实例。 复制并运行提供的 az iot ops identity assign 命令。 此命令使用指示的已连接群集的 OIDC 颁发者和 Azure IoT 操作服务帐户创建联合标识凭据。
重启架构注册表 Pod 以应用新标识。
kubectl delete pods adr-schema-registry-0 adr-schema-registry-1 -n azure-iot-operations所有 Azure CLI 命令成功完成后,即可关闭“安装 Azure IoT 操作”向导。
create 命令成功完成后,会有一个正在工作的 Azure IoT 操作实例在群集上运行。 此时,实例已配置为用于生产方案。
验证部署
部署完成后,使用 az iot ops 检查 来评估 IoT Operations Service 部署的运行状况、配置和可用性。 该 check 命令可帮助你在部署和配置中发现问题。
az iot ops check
check 命令会显示有关缺少数据流的警告(这是正常且预料之中的),直到你创建数据流为止。 有关详细信息,请参阅使用数据流处理和路由数据。
可以通过向 --detail-level 2 命令添加 check 参数以显示详细试图来检查主题映射、QoS 和消息路由的配置。
运行以下命令,查看所有可用的 Azure IoT 操作 CLI 扩展版本:
az iot ops get-versions
后续步骤
- 如果组件需要连接到 SQL 或 Fabric 等 Azure 终结点,请了解如何 管理 Azure IoT 操作部署的机密。
- 若要将 Azure IoT 操作部署升级到较新版本,请参阅升级 Azure IoT 操作。