Azure IoT Edge 支持的平台

适用于:“是”图标 IoT Edge 1.1

重要

IoT Edge 1.1 终止支持日期为 2022 年 12 月 13 日。 请查看 Microsoft 产品生命周期,了解此产品、服务、技术或 API 的受支持情况。 有关更新到最新版本的 IoT Edge 的详细信息,请参阅 更新 IoT Edge

本文介绍 IoT Edge 支持哪些操作系统平台、 IoT Edge 运行时、容器引擎和组件(无论是正式发布还是预览版)。

获取支持

如果在使用 Azure IoT Edge 服务时遇到问题,可以通过多种方式来寻求支持。 请尝试通过以下某个渠道来寻求支持:

报告 bug - 涉及 Azure IoT Edge 产品的大多数开发都是在 IoT Edge 开放源代码项目中进行的。 可以在项目的问题页面上报告 bug。 与 Azure IoT Edge for Linux on Windows 相关的 bug 可以在 iotedge-eflow 问题页上报告。 修复很快就会从项目实施到产品更新中。

Microsoft 客户支持团队 - 拥有支持计划的用户可以通过直接从 Azure 门户创建支持票证来与 Microsoft 客户支持团队进行沟通。

功能请求 - Azure IoT Edge 产品通过产品的“用户之声”页面跟踪功能请求。

容器引擎

Azure IoT Edge 模块是以容器形式实现的,因此 IoT Edge 需要容器引擎来启动这些模块。 Microsoft 提供了容器引擎 moby-engine 来满足此要求。 该容器引擎基于 Moby 开源项目。 Docker CE 和 Docker EE 是其他常用的容器引擎。 它们也基于 Moby 开放源代码项目并且与 Azure IoT Edge 兼容。 Microsoft 对使用那些容器引擎的系统提供尽力而为的支持;但是,Microsoft 不能为其中的问题提供修复。 因此,Microsoft 建议在生产系统上使用 moby-engine。


作为容器运行时的 Moby 引擎

操作系统

Azure IoT Edge 在大多数可以运行容器的操作系统上运行;但是,并非所有这些系统都受到同等支持。 操作系统分组为各个层级,这些层级表示用户可以预期的支持级别。

  • 支持第 1 层系统。 对于第 1 层系统,Microsoft 会采取以下措施:
    • 将此操作系统包括在自动化测试中
    • 为它们提供安装程序包
  • 第 2 层系统与 Azure IoT Edge 兼容并且可以相对容易地使用。 对于第 2 层系统:
    • Microsoft 已在平台上进行了非正式测试,或者知道合作伙伴已在平台上成功运行 Azure IoT Edge
    • 适用于其他平台的安装程序包在这些平台上可能会正常工作

主机 OS 系列必须始终与模块容器内部使用的来宾 OS 系列相匹配。

换言之,在 Linux 上只能使用 Linux 容器,在 Windows 上只能使用 Windows 容器。 使用 Windows 容器时,仅支持进程隔离的容器,而不支持 Hyper-V 隔离的容器。

IoT Edge for Linux on Windows 使用 Windows 主机上运行的 Linux 虚拟机中的 IoT Edge。 通过这种方式,可以在 Windows 设备上运行 Linux 模块。

第 1 层

下表中列出的系统(不管是公开发布版还是公共预览版)受 Microsoft 的支持,并在每个新版本中进行了测试。

Azure IoT Edge 支持构建为 Linux 或 Windows 容器的模块。 可以将 Linux 容器部署到 Linux 设备,或使用 IoT Edge for Linux on Windows 将 Linux 容器部署到 Windows 设备。 Windows 容器只能部署到 Windows 设备。

Linux 容器

构建为 Linux 容器的模块可以部署到 Linux 或 Windows 设备。 对于 Linux 设备,IoT Edge 运行时会直接安装在主机设备上。 对于 Windows 设备,使用 IoT Edge 运行时预生成的 Linux 虚拟机会在主机设备上运行。

建议使用 IoT Edge for Linux on Windows 在 Windows 设备上运行 IoT Edge。

操作系统 AMD64 ARM32v7 ARM64
Debian 11 (Bullseye) Debian + ARM32v7
Ubuntu Server 20.04 Ubuntu Server 20.04 + AMD64 Ubuntu Server 20.04 + ARM64
Ubuntu Server 18.04 Ubuntu Server 18.04 + AMD64 Ubuntu Server 18.04 + ARM64
Windows 10/11 专业版 Windows 10/11 Pro + AMD64
Windows 10/11 企业版 Windows 10/11 Enterprise + AMD64
Windows 10/11 IoT 企业版 Windows 10/11 IoT Enterprise + AMD64
Windows Server 2019/2022 Windows Server 2019/2022 + AMD64

所有 Windows 操作系统的版本必须最低为 17763 且安装了所有当前的累积更新。

注意

Ubuntu Server 16.04 支持将在 IoT Edge 版本 1.1 发布时结束。

Windows 容器

重要

IoT Edge 1.1 LTS 是最后一个支持 Windows 容器的发布通道。 从版本 1.2 开始,将不再支持 Windows 容器。 请考虑使用或移动至 IoT Edge for Linux on Windows 以在 Windows 设备上运行 IoT Edge。

构建为 Windows 容器的模块只能部署到 Windows 设备。

操作系统 AMD64 ARM32v7 ARM64
Windows 10 IoT 企业版 check1
Windows Server 2019 check1
Windows Server IoT 2019 check1

所有 Windows 操作系统都必须是 1809 版(内部版本 17763)。 Windows 的这一特定内部版本是 Windows 上的 IoT Edge 所必需的,因为 Windows 容器的版本必须与主机 Windows 设备的版本完全匹配。 Windows 容器当前只使用内部版本 17763。

注意

Windows 10 IoT 核心版支持将在 IoT Edge 版本 1.1 发布时结束。

第 2 层

下表中列出的系统被视为与 Azure IoT Edge 兼容,但 Microsoft 不会对其进行主动测试或维护。

操作系统 AMD64 ARM32v7 ARM64
CentOS-7 CentOS + AMD64 CentOS + ARM32v7 CentOS + ARM64
Debian 10 1 Debian 10 + AMD64 Debian 10 + ARM32v7 Debian 10 + ARM64
Debian 11 Debian 11 + AMD64 Debian 11 + ARM64
Mentor Embedded Linux Flex OS Mentor Embedded Linux Flex OS + AMD64 Mentor Embedded Linux Flex OS + ARM32v7 Mentor Embedded Linux Flex OS + ARM64
Mentor Embedded Linux Omni OS Mentor Embedded Linux Omni OS + AMD64 Mentor Embedded Linux Omni OS + ARM64
RHEL 7 RHEL 7 + AMD64 RHEL 7 + ARM32v7 RHEL 7 + ARM64
Ubuntu 18.04 2 Ubuntu 18.04 + ARM32v7
Ubuntu 20.04 2 Ubuntu 20.04 + ARM32v7
Wind River 8 Wind River 8 + AMD64
Yocto Yocto + AMD64 Yocto + ARM32v7 Yocto + ARM64
Raspberry Pi OS Buster Raspberry Pi OS Buster + ARM32v7 Raspberry Pi OS Buster + ARM64

1 随着 1.3 的发布,Debian 10 中出现了导致故障的新系统调用。 若要查看解决方法,请查看 1.3 发行说明的已知问题:ARMv7 上的 Debian 10 (Buster) 部分了解详细信息。

2Azure IoT Edge 版本上提供了安装包。 请参阅脱机或特定版本安装中的安装步骤。

发行版本

下表列出了当前支持的版本。 IoT Edge 发行资产和发行说明在 azure-iotedge 版本页上提供。

发行说明和资产 类型 发布日期 支持结束日期
1.4 长期支持 (LTS) 2022 年 8 月 2024 年 11 月 12 日
1.1 长期支持 (LTS) 2021 年 2 月 2022 年 12 月 13 日

有关 IoT Edge 版本历史记录的详细信息,请参阅版本历史记录

IoT Edge 1.1 是首个长期支持 (LTS) 发布通道。 此版本未引入任何新功能,但会收到对回归进行的安全更新和修复。 IoT Edge 1.1 LTS 使用 .NET Core 3.1,且有效支持期至 2022 年 12 月 13 日,以匹配 .NET Core 和 .NET 5 发布生命周期

重要

  • 每个 Microsoft 产品都有生命周期。 生命周期从产品发布开始,到不再受支持时结束。 了解此生命周期中的关键日期可帮助你就何时升级软件或对其进行其他更改做出明智的决策。 IoT Edge 由 Microsoft 的新式生命周期策略治理。
  • 随着长期支持渠道的发布,我们建议所有当前运行 1.0.x 的客户将其设备升级到 1.1.x,以获得持续的支持。

IoT Edge 使用 Microsoft.Azure.Devices.Client SDK。 有关详细信息,请参阅 Azure IoT C# SDK GitHub 存储库Azure SDK for .NET 参考内容。 以下列表显示了用于测试每个版本的客户端 SDK 版本:

IoT Edge 版本 Microsoft.Azure.Devices.Client SDK 版本
1.4 1.36.6
1.3 1.36.6
1.2.0 1.33.4-NestedEdge
1.1 (LTS) 1.28.0
1.0.10 1.28.0
1.0.9 1.21.1
1.0.8 1.20.3
1.0.7 1.20.1
1.0.6 1.17.1
1.0.5 1.17.1

虚拟机

Azure IoT Edge 可在虚拟机中运行。 当客户想要利用边缘智能增强现有的基础结构时,经常会使用虚拟机作为 IoT Edge 设备。 主机 VM OS 系列必须与模块容器内部使用的来宾 OS 系列相匹配。 直接在设备上运行 Azure IoT Edge 时,同样要满足此要求。 Azure IoT Edge不区分底层虚拟化技术,将在以 Hyper-V 和 vSphere 等平台为后盾的 VM 中工作。


VM 中的 Azure IoT Edge

最低系统要求

在 Raspberry Pi3 等小型设备以及服务器级硬件上,Azure IoT Edge 都能非常顺利地运行。 哪种硬件适合方案取决于想要运行的工作负荷。 在设备方面做出最终决策可能比较复杂;但是,可以在传统的便携式计算机或台式机上轻松开始设计解决方案的原型。

在设计原型期间获得的经验可以帮助你在设备方面做出最终的选择。 应考虑的问题包括:

  • 工作负荷中有多少个模块?
  • 模块的容器共享多少层?
  • 你的模块采用什么语言编写?
  • 模块将处理多少数据?
  • 模块是否需要使用任何专用硬件来加速其工作负荷?
  • 所需的解决方案性能特点有哪些?
  • 硬件预算是多少?