你当前正在访问 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 CLI 的 Azure IoT 操作扩展。 使用以下命令添加扩展或将其更新到最新版本:
az extension add --upgrade --name azure-iot-ops
群集主机:
具有已启用 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.1(GA 版本)或 1.2(预览版)。 如果选择 1.2(预览版本),请选中同意预览条款的框。 有关详细信息,请参阅 IoT作版本。
选择“下一步: 配置”。
在“配置”选项卡上,提供以下信息:
参数 值 Azure IoT 操作名称 可选:替换 Azure IoT 操作实例的默认名称。 MQTT 代理配置 可选:编辑 MQTT 代理的默认设置。 在 Azure 门户中,可以配置基数和内存配置文件设置。 若要配置其他设置,包括磁盘支持的消息缓冲区和高级 MQTT 客户端选项,请参阅 Azure CLI 支持高级 MQTT 代理配置。 数据流配置文件配置 可选:编辑数据流的默认设置。 有关详细信息,请参阅 “配置数据流配置文件”。
选择“下一步: 依赖项管理”。
在“依赖项管理”选项卡上,选择现有架构注册表或使用以下步骤创建一个:
选择“新建”。
提供架构注册表名称和架构注册表命名空间。
选择“选择 Azure 存储容器”。
从启用了分层命名空间的帐户列表中选择存储帐户,或选择“创建”来创建存储帐户。
架构注册表需要启用了分层命名空间和公用网络访问的 Azure 存储帐户。 创建新的存储帐户时,请选择“常规用途 v2”存储帐户类型,并将“分层命名空间”设置为“启用”。
有关配置存储帐户的详细信息,请参阅 生产部署指南。
在存储帐户中选择容器,或选择“容器”创建一个。
选择“应用”以确认架构注册表配置。
在 “依赖项管理 ”选项卡上,选择“ 安全设置 部署”选项。
在“部署选项”部分,提供以下信息:
选择“下一步: 自动化”。
运行 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重要
对于 预览版,需要将
--allow-preview标志追加到az extension add命令,以安装 Azure IoT作 CLI 扩展的预览版。az extension add --upgrade --name azure-iot-ops --allow-preview复制并运行提供的 az iot ops schema registry create 命令,以创建 Azure IoT作组件使用的架构注册表。 如果选择使用现有架构注册表,则此命令不会显示在“自动化”选项卡上。
注意
此命令要求你具有角色分配写入权限,因为它会分配角色以授予架构注册表对存储帐户的访问权限。 默认情况下,该角色是内置“存储 Blob 数据参与者”角色,也可以改为创建具有受限权限的自定义角色来进行分配。 有关详细信息,请参阅 az iot ops schema registry create。
Azure IoT作使用 命名空间 来组织资产和设备。 每个 Azure IoT作实例对其资产和设备使用单个命名空间。 可以使用现有命名空间或运行
az iot ops ns create命令来创建 Azure 设备注册表命名空间。 替换为<my namespace name>命名空间的唯一名称。az iot ops ns create -n <my namespace name> -g $RESOURCE_GROUP或者,可以在 Azure 门户中创建新的 Azure 设备注册表命名空间:
- 在搜索框中,键入并选择 Azure 设备注册表。
- 在左侧菜单中,选择 “命名空间”。
- 然后选择 “+ 创建 ”以创建新命名空间。 请确保使用与已启用 Arc 的 Kubernetes 群集相同的资源组。
注意
命名空间资源可从 2507 预览版获取。 如果使用的是早期版本,则命名空间不可用,可以跳过此步骤。
若要为 Azure IoT作部署准备群集,请复制并运行提供的 az iot ops init 命令。
提示
每个群集只需运行一次
init命令。 如果重用已部署有 Azure IoT 操作版本 0.8.0 的群集,则可跳过此步骤。此命令可能需要几分钟才能完成。 可以在终端的部署进度显示中观看进度。
部署 Azure IoT 操作。 复制并运行提供的 az iot ops create 命令。 此命令可能需要几分钟才能完成。 可以在终端的部署进度显示中观看进度。
如果要使用现有命名空间,请将以下参数添加到
create命令:--ns-resource-id $(az iot ops ns show --name <my namespace name> --resource-group $RESOURCE_GROUP -o tsv --query id)如果要使用预览连接器配置,请将以下参数添加到
create命令:--feature connectors.settings.preview=Enabled注意
配置
--feature参数仅在 最新的 GA 版本中可用。 如果使用的是 2507 预览版,则此参数不可用。如果已遵循可选先决条件来设置自己的证书颁发者,请将
--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 Operations CLI 扩展版本:
az iot ops get-versions
后续步骤
- 如果组件需要连接到 SQL 或 Fabric 等 Azure 终结点,请了解如何 管理 Azure IoT 操作部署的机密。
- 若要将 Azure IoT作部署升级到较新版本,请参阅 升级 Azure IoT作。