Поддерживаемые платформы Azure IoT Edge

Внимание

Эта статья ссылается на CentOS, дистрибутив Linux, который приближается к состоянию конца жизни (EOL). Пожалуйста, рассмотрите возможность использования и планирования соответствующим образом. Дополнительные сведения см. в руководстве centOS End Of Life.

Область применения:IoT Edge 1.4 проверка mark IoT Edge 1.4

Внимание

IoT Edge 1.4 является поддерживаемым выпуском. Если вы используете более ранний выпуск, см. статью Обновление IoT Edge.

В этой статье объясняется, какие платформы операционной системы, среды выполнения IoT Edge, подсистемы контейнеров и компоненты поддерживаются IoT Edge независимо от общедоступной или предварительной версии.

Поддержка

В случае возникновения проблем во время использования службы Azure IoT Edge есть несколько способов обратиться за помощью. Используйте один из приведенных ниже каналов, чтобы получить поддержку.

Отчеты об ошибках. Большая часть разработки , которая входит в продукт Azure IoT Edge, происходит в проекте с открытым исходным кодом IoT Edge. Вы можете сообщить об ошибках на соответствующей странице для этого проекта. Об ошибках, связанных с Azure IoT Edge для Linux в Windows, можно сообщить на странице, посвященной проблемам iotedge-eflow. Исправления очень быстро попадают из проектов в обновления продукта.

Группа поддержки клиентов Майкрософт. Пользователи, у которых есть план поддержки, могут привлечь службу поддержки Майкрософт, создав запрос в службу поддержки непосредственно из портал Azure.

Запросы функций. Продукт Azure IoT Edge отслеживает запросы функций через сообщество отзывов о продукте.

Подсистемы контейнеров

Для запуска модулей Azure IoT Edge требуется подсистема контейнеров, так как модули реализуются в виде контейнеров. Корпорация Майкрософт предоставляет для этого подсистему контейнеров moby-engine. Эта подсистема контейнеров основана на проекте Moby с открытым кодом. Также часто используются подсистемы контейнеров Docker CE и Docker EE. Они также основаны на проекте Moby с открытым кодом и полностью совместимы с Azure IoT Edge. Корпорация Майкрософт поддерживает системы, использующие эти подсистемы контейнеров, по принципу "насколько возможно", но не может исправить все возможные проблемы, связанные с их использованием. По этой причине мы рекомендуем использовать для рабочей среды только подсистему moby-engine.

Снимок экрана: подсистема Moby в качестве среды выполнения контейнера.

Операционные системы

Azure IoT Edge работает на большинстве операционных систем, поддерживающих выполнение контейнеров, но уровень поддержки отличается. Операционные системы разделены на несколько уровней, которые определяют предоставляемый пользователям уровень поддержки.

  • Поддерживаются системы уровня 1. Для систем уровня 1 корпорация Майкрософт:
    • выполняет автоматические тесты для этой операционной системы;
    • предоставляет для них пакеты установки.
  • Системы уровня 2 совместимы с Azure IoT Edge, то есть их использование не вызывает особых сложностей. Для систем уровня 2:
    • корпорация Майкрософт проводила неофициальное тестирование на этой платформе или имеет информацию, что ее партнеры успешно запустили Azure IoT Edge на этой платформе;
    • для этих платформ могут подойти пакеты установки, предназначенные для других платформ.

Уровень 1

Майкрософт поддерживает системы, указанные в приведенных ниже таблицах, как в общедоступной версии, так и в общедоступной предварительной версии, и тестирует на них каждый новый выпуск.

Контейнеры Linux

Модули, собранные в виде контейнеров Linux, можно развертывать на устройствах с Linux или Windows. Для устройств с Linux среда выполнения IoT Edge устанавливается непосредственно на компьютер виртуальной машины. Для устройств с Windows виртуальная машина Linux, созданная заранее с помощью среды выполнения IoT Edge, запускается на компьютере виртуальной машины.

Для запуска IoT Edge на устройствах Windows сейчас рекомендуется использовать Azure IoT Edge для Linux в Windows.

Операционная система AMD64 ARM32v7 ARM64 End of support
Debian 11 (Bullseye) Debian + ARM32v7 Июнь 2026 г.
Red Hat Enterprise Linux 9 Red Hat Enterprise Linux 9 + AMD64 Май 2032 г.
Red Hat Enterprise Linux 8 Red Hat Enterprise Linux 8 + AMD64 Май 2029 г.
Ubuntu Server 22.04 Ubuntu Server 22.04 + AMD64 Ubuntu Server 22.04 + ARM64 Июнь 2027 г.
Сервер Ubuntu 20.04 Ubuntu Server 20.04 + AMD64 Ubuntu Server 20.04 + ARM64 Апрель 2025 г.
Windows 10/11 Windows 10/11 + AMD64 Windows 10/11 + ARM64 Сведения о поддерживаемых версиях ОС Windows см. в статье Azure IoT EFLOW .
Windows Server 2019/2022 Windows Server 2019/2022 + AMD64 Сведения о поддерживаемых версиях ОС Windows см. в статье Azure IoT EFLOW .

Примечание.

Когда операционная система уровня 1 достигнет даты окончания поддержки, она удаляется из списка поддерживаемых платформ уровня 1. Если вы не выполняете никаких действий, устройства IoT Edge, работающие в неподдерживаемой операционной системе, продолжают работать, но текущие исправления безопасности и исправления ошибок в пакетах узлов операционной системы не будут доступны после окончания даты поддержки. Чтобы продолжить получать обновления поддержки и безопасности, рекомендуется обновить операционную систему узла до поддерживаемой платформы уровня 1 .

Контейнеры Windows

Мы больше не поддерживаем контейнеры Windows. Для запуска IoT Edge на устройствах Windows сейчас рекомендуется использовать Azure IoT Edge для Linux в Windows.

Уровень 2

Системы, перечисленные в следующей таблице, считаются совместимыми с Azure IoT Edge, но не тестируются и не поддерживаются корпорацией Майкрософт.

Внимание

Поддержка этих систем — это лучшие усилия и может потребоваться воспроизвести проблему на поддерживаемой системе уровня 1.

Операционная система AMD64 ARM32v7 ARM64 End of support
CentOS-7 CentOS + AMD64 CentOS + ARM32v7 CentOS + ARM64 Июнь 2024 г.
Debian 10 1 Debian 10 + AMD64 Debian 10 + ARM32v7 Debian 10 + ARM64 Июнь 2024 г.
Debian 11 Debian 11 + AMD64 Debian 11 + ARM64 Июнь 2026 г.
Внедренная ОС Linux Flex Внедренная ОС Linux Flex + AMD64 Внедренная ОС Linux Flex + ARM32v7 Внедренная ОС Linux Flex + ARM64
Внедренная ОС Linux Omni Внедренная ОС Linux Omni + AMD64 Внедренная ОС Linux Omni + ARM64
RHEL 7 RHEL 7 + AMD64 RHEL 7 + ARM32v7 RHEL 7 + ARM64 Июнь 2024 г.
Ubuntu 20.04 2 Ubuntu 20.04 + ARM32v7 Апрель 2025 г.
Ubuntu 22.04 2 Ubuntu 22.04 + ARM32v7 Июнь 2027 г.
Ubuntu Core 3 Ubuntu Core + AMD64 Ubuntu Core + ARM64 Апрель 2027 г.
Wind River 8 Wind River 8 + AMD64
Yocto (Киркстоун)
Для проблем с Yocto откройте проблему GitHub
Yocto + AMD64 Yocto + ARM32v7 Yocto + ARM64 Апрель 2024 г.
Raspberry Pi OS Buster Raspberry Pi OS Buster + ARM32v7 Raspberry Pi OS Buster + ARM64 Июнь 2024 г.

1 С выпуском 1.3 существуют новые системные вызовы, которые вызывают сбои в Debian 10. Чтобы просмотреть обходное решение, ознакомьтесь с известной проблемой: Debian 10 (Buster) в разделе ARMv7 в заметках о выпуске 1.3.

2 Пакета установки доступны в выпусках Azure IoT Edge. Ознакомьтесь с инструкциями по установке в автономном режиме или конкретной версии.

3 Ubuntu Core полностью поддерживается, но автоматическое тестирование Оснастки в настоящее время происходит на Сервере Ubuntu 22.04 LTS.

Примечание.

Когда операционная система уровня 2 достигнет даты окончания поддержки, она удаляется из поддерживаемого списка платформ. Если вы не выполняете никаких действий, устройства IoT Edge, работающие в неподдерживаемой операционной системе, продолжают работать, но текущие исправления безопасности и исправления ошибок в пакетах узлов операционной системы не будут доступны после окончания даты поддержки. Чтобы продолжить получать обновления поддержки и безопасности, рекомендуется обновить операционную систему узла до поддерживаемой платформы уровня 1 .

Выпуски

В следующей таблице перечислены поддерживаемые в настоящее время выпуски. Ресурсы и заметки о выпуске IoT Edge доступны на странице выпусков azure-iotedge.

Заметки о выпуске и ресурсы Тип Дата выпуска Дата окончания поддержки
1.4 Долгосрочная поддержка (LTS): Август 2022 г. 12 ноября 2024 г.

Дополнительные сведения об журнале версий IoT Edge см. в разделе "Журнал версий".

Внимание

  • Каждый продукт Майкрософт имеет жизненный цикл. Жизненный цикл начинается, когда продукт освобождается и заканчивается, когда он больше не поддерживается. Зная ключевые даты в этом жизненном цикле, вы можете принимать обоснованные решения о том, когда необходимо обновить или внести другие изменения в программное обеспечение. IoT Edge управляется современной политикой жизненного цикла Майкрософт.

IoT Edge использует пакет SDK Microsoft.Azure.Device.Client. Дополнительные сведения см. в репозитории GitHub пакета SDK для Azure IoT на C# или на странице справочных сведений об Azure SDK для .NET. В приведенном ниже списке указана версия клиентского пакета SDK, на основе которого тестируется каждый выпуск.

Версия IoT Edge Версия пакета SDK Microsoft.Azure.Devices.Client
1.4 1.36.6

Виртуальные машины

Azure IoT Edge можно запускать на виртуальных машинах, таких как виртуальная машина Azure. Использование виртуальной машины в качестве устройства IoT Edge часто необходимо, когда клиенты хотят расширить существующую инфраструктуру с помощью аналитики Edge. Семейство ОС узла виртуальной машины должно совпадать с семейством гостевой ОС, используемой в контейнере модуля. Здесь действует то же требование, что и при запуске непосредственно на устройстве Azure IoT Edge. Azure IoT Edge не зависит от используемой технологии виртуализации и работает на виртуальных машинах на базе таких платформ, как Hyper-V и vSphere.

Снимок экрана: Azure IoT Edge на виртуальной машине.

Минимальные требования к системе

Azure IoT Edge отлично работает на различных устройствах, от Raspberry Pi3 до серверного оборудования. Выбор подходящего оборудования для вашего сценария зависит от рабочих нагрузок, которые вы хотите запускать. Принятие окончательного решения может быть затруднительно. Но можно легко запустить прототип решения на традиционных переносных или настольных компьютерах.

Эксперименты во время создания прототипов помогут вам сделать окончательный выбор устройства. Вопросы, на которые вам следует ответить, чтобы принять решение:

  • Сколько модулей составляют рабочую нагрузку?
  • Сколько уровней ваши контейнеры модулей совместно используют?
  • На каком языке написаны модули?
  • Сколько данных будут обрабатывать модули?
  • Нужно ли модулям специализированное оборудование для увеличения рабочих нагрузок?
  • Каковы желаемые характеристики производительности вашего решения?
  • Каков ваш бюджет на оборудование?