Поделиться через


Руководство. Работа с Обновлением устройств для Центра Интернета вещей Azure: использование агента пакетов в Ubuntu Server 18.04 x64

Обновление устройств для Центра Интернета вещей Azure поддерживает обновления на основе образов, пакетов и скриптов.

Обновления на основе пакетов являются целевыми и изменяют только конкретный компонент или приложение на устройстве. Благодаря этому меньше используется пропускная способность, а также ускоряются процессы скачивания и установки обновления. Обновления на основе пакетов, как правило, также позволяют сократить время простоя обновляемых устройств и избежать расходов, связанных с созданием образов. Они используют Манифест APT, который предоставляет агенту Обновления устройств сведения, необходимые для загрузки и установки пакетов, указанных в файле манифеста APT (а также их зависимостях) из указанного репозитория.

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

Средства и основные понятия в этом руководстве применяются, даже если вы планируете использовать другую конфигурацию платформы ОС. Дочитайте описание процесса обновления. Затем выберите предпочтительный способ обновления и платформу ОС, чтобы узнать больше.

Из этого руководства вы узнаете, как выполнять следующие задачи:

  • Скачивание и установка агента Обновления устройств и его зависимостей.
  • Добавление тега к устройству.
  • Импорт обновлений.
  • Создание группы устройств.
  • Развертывание обновления пакета.
  • Мониторинг развертывания обновления.

Предварительные требования

Подготовка устройства

Подготовьте устройство автоматически или вручную.

Использование кнопки автоматического развертывания в Azure

Для удобства в этом руководстве используется шаблон Azure Resource Manager на основе cloud-init, который поможет быстро настроить виртуальную машину LTS Ubuntu 18.04. Он устанавливает как среду выполнения Azure IoT Edge, так и агент пакета Обновления устройств. Затем он автоматически настраивает устройство с помощью сведений о подготовке, используя строку подключения устройства для предоставленного устройства IoT Edge (предварительное требование). Шаблон Resource Manager также позволяет избежать необходимости запускать сеанс SSH для завершения установки.

  1. Чтобы начать работу, нажмите кнопку.

    Снимок экрана: кнопка .

  2. Заполните доступные текстовые поля.

    • Подписка. Активная подписка Azure для развертывания виртуальной машины.
    • Группа ресурсов. Существующая или только что созданная группа ресурсов, содержащая виртуальную машину и связанные с ней ресурсы.
    • Регион.Географический регион для развертывания виртуальной машины. По умолчанию это значение равно расположению выбранной группы ресурсов.
    • Префикс метки DNS. Необходимое значение, которое используется для добавления префикса имени узла виртуальной машины.
    • Имя пользователя администратора. Имя пользователя, которому при развертывании предоставляются привилегии суперпользователя.
    • Строка подключения устройства.Строка подключения для устройства, созданного в предполагаемом центре Интернета вещей.
    • Размер виртуальной машины.Размер развертываемой виртуальной машины.
    • Версия ОС Ubuntu. Версия операционной системы Ubuntu, устанавливаемая на базовую виртуальную машину. Оставьте значение по умолчанию без изменений, так как оно уже будет задано в Ubuntu 18.04-LTS.
    • Тип проверки подлинности. Выберите sshPublicKey или пароль в зависимости от ваших предпочтений.
    • Пароль или ключ администратора. Значение открытого ключа SSH или значение пароля в зависимости от выбранного типа проверки подлинности.

    После заполнения всех полей установите флажок в нижней части страницы, чтобы принять условия. Щелкните Приобрести, чтобы начать развертывание.

  3. Убедитесь, что развертывание выполнено успешно. Подождите несколько минут после развертывания, чтобы дать процессам после установки и настройки завершить установку IoT Edge и агента пакета Обновления устройств.

    Ресурс виртуальной машины должен быть развернут в выбранной группе ресурсов. Запишите имя компьютера в формате vm-0000000000000. Кроме того, запишите связанное DNS-имя в формате <dnsLabelPrefix>.<location>.cloudapp.azure.com.

    DNS-имя указано в разделе Обзор развернутой виртуальной машины на портале Azure.

    Совет

    Чтобы после завершения установки подключиться к этой виртуальной машине по протоколу SSH, используйте соответствующее DNS-имя с помощью команды ssh <adminUsername>@<DNS_Name>.

  4. Откройте сведения о конфигурации (см. инструкции по настройке файла конфигурации с помощью приведенной ниже команды. Задайте для параметра connectionType значение "AIS", а для connectionData — пустую строку.

/etc/adu/du-config.json
  1. Перезапустите агент Обновления устройств, выполнив следующую команду.
 sudo systemctl restart adu-agent

На программные пакеты Обновления устройств для Центра Интернета вещей Azure распространяются условия следующих лицензий:

Прочтите условия лицензионного соглашения перед использованием пакета. Установка и использование пакета означают, что вы принимаете эти условия. Если вы с ними не согласны, не используйте пакет.

Подготовка устройства вручную

Как и в случае с автоматической настройкой с помощью скрипта cloud-init, для установки и настройки устройства необходимо выполнить вручную следующие действия, чтобы подготовить физическое устройство.

  1. Следуйте инструкциям из статьи Установка среды выполнения Azure IoT Edge.

    Примечание

    Агент Обновления устройств не зависит от IoT Edge. Но он использует управляющую программу службы идентификации Интернета вещей, которая устанавливается вместе с IoT Edge (версия 1.2.0 и выше) для получения удостоверения и подключения к Центру Интернета вещей.

    Хотя управляющая программа службы идентификации Интернета вещей не рассматривается в этом руководстве, ее можно установить изолированно на устройствах Интернета вещей под управлением Linux. Последовательность установки имеет большое значение. Агент пакета Обновления устройств необходимо устанавливать после службы идентификации Интернета вещей. В противном случае агент пакета не будет зарегистрирован как авторизованный компонент для установления подключения к Центру Интернета вещей.

  2. Установите DEB-пакеты агента Обновления устройств.

    sudo apt-get install deviceupdate-agent deliveryoptimization-plugin-apt 
    
  3. Введите основную строку подключения модуля вашего устройства IoT (или устройства, в зависимости от того, как вы подготовили устройство с помощью Обновления устройств) в файле конфигурации, выполнив следующую команду.

    /etc/adu/du-config.json
    
  4. Перезапустите агент Обновления устройств, выполнив следующую команду.

     sudo systemctl restart adu-agent
    

На программные пакеты Обновления устройств для Центра Интернета вещей Azure распространяются условия следующих лицензий:

Прочтите условия лицензионного соглашения перед использованием пакета. Установка и использование пакета означают, что вы принимаете эти условия. Если вы с ними не согласны, не используйте пакет.

Добавление тега на устройство

  1. Войдите на портал Azure и перейдите в центр Интернета вещей.

  2. На левой панели в разделе Устройства найдите устройство IoT Edge и перейдите к двойнику устройства или двойнику модуля.

  3. В двойнике модуля агента Обновления устройств удалите все существующие значения тегов обновления устройства, присвоив им значение NULL. Если вы используете удостоверение устройства с агентом Обновления устройств, внесите эти изменения в двойник устройства.

  4. Добавьте новое значение тега Обновления устройств, как показано ниже.

        "tags": {
                "ADUGroup": "<CustomTagValue>"
                },
    

Импорт обновления

  1. Перейдите на страницу выпусков Обновления устройств в GitHub и щелкните раскрывающийся список Assets (Ресурсы). Выберите Tutorial_IoTEdge_PackageUpdate.zip для скачивания. Извлеките содержимое папки, чтобы обнаружить пример манифеста APT (sample-1.0.2-aziot-edge-apt-manifest.json) и соответствующий манифест импорта (sample-1.0.2-aziot-edge-importManifest.json).

  2. Войдите на портал Azure и перейдите в свой центр Интернета вещей с Обновлением устройств. В области слева в разделе Автоматическое управление устройствами выберите Обновления.

  3. Откройте вкладку Обновления.

  4. Выберите + Импортировать новое обновление.

  5. Щелкните + Выбрать из контейнера хранилища. Выберите существующую учетную запись или создайте новую, щелкнув + Учетная запись хранения. Затем выберите существующий контейнер или создайте новый, щелкнув + Контейнер. Этот контейнер будет использоваться для размещения файлов обновления для импорта.

    Примечание

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

    Снимок экрана: учетная запись хранения.

  6. В контейнере щелкните Отправка и перейдите к файлам, скачанным на шаге 1. Выбрав все файлы обновления, щелкните Отправить. Затем щелкните Выбрать, чтобы вернуться на страницу Импорт обновления.

    Снимок экрана: выбор отправленных файлов.

    На этом снимке экрана показан шаг импорта. Имена файлов могут не совпадать с именами, которые используются в примере.

  7. На странице Импорт обновления проверьте импортируемые файлы. Затем щелкните Импорт обновления, чтобы начать процесс импорта.

    Снимок экрана: начало процесс импорта.

  8. Начнется процесс импорта, а на экране появится раздел Журнал импорта. Если столбец Состояние указывает на то, что импорт успешно выполнен, выберите заголовок Доступные обновления. Импортированное обновление должно появиться в списке.

    Снимок экрана: состояние задания.

См. дополнительные сведения об импорте обновлений.

Создание группы обновлений

  1. Откройте вкладку Группы и развертывания в верхней части страницы.

    Снимок экрана: разгруппированные устройства.

  2. Нажмите кнопку Добавить группу, чтобы создать новую группу.

    Снимок экрана: добавление к группе устройств.

  3. Выберите тег Центр Интернета вещей и укажите класс устройства в списке. Затем выберите Создать группу.

    Снимок экрана: выбор тега.

  4. После создания группы вы увидите, что схема соответствия обновлений и список групп обновлены. На схеме соответствия обновлений требованиям отображается количество устройств в разных состояниях соответствия: При последнем обновлении, Доступны новые обновления и Выполняющиеся обновления. Подробнее о соответствии обновлений.

    Снимок экрана: представление

  5. Вы должны увидеть только что созданную группу и все доступные обновления для устройств в новой группе. Если есть устройства, которые не соответствуют требованиям группы к классу устройств, они отображаются в соответствующей недопустимой группе. Чтобы развернуть наилучшее доступное обновление в новой определяемой пользователем группе из этого представления, выберите Развернуть рядом с группой.

См. дополнительные сведения о добавлении тегов и создании групп обновлений.

Развертывание обновления

  1. После создания группы должно появиться новое обновление, доступное для вашей группы устройств. Ссылка на него будет отображаться в разделе Лучшее обновление. Возможно, потребуется выполнить обновление один раз. См. дополнительные сведения о соответствии обновлений.

  2. Выберите целевую группу, указав ее имя. Откроются сведения о группе в разделе Основные сведения о группе.

    Снимок экрана: сведения о группе.

  3. Чтобы начать развертывание, перейдите на вкладку Текущее развертывание. Щелкните ссылку Развернуть рядом с нужным обновлением в разделе Доступные обновления. Наилучшее доступное обновление для указанной группы обозначается как Лучшее.

    Снимок экрана: выбор обновления.

  4. Запланируйте запуск развертывания немедленно или в будущем. Щелкните Создать.

    Совет

    По умолчанию дата и время запуска — это 24 часа начиная от текущего времени. Если вы хотите, чтобы развертывание началось раньше, выберите другие дату и время.

    Снимок экрана: создание развертывания.

  5. В разделе Сведения о развертывании для параметра Состояние задается значение Активно. Развернутое обновление помечается как (развертывается).

    Снимок экрана: развертывание в активном состоянии.

  6. Просмотрите схему соответствия, чтобы убедиться, что обновление выполняется.

  7. После успешного обновления устройства схема соответствия и сведения о развертывании должны измениться, отражая одну и ту же информацию.

    Снимок экрана: успешное обновление.

Слежение за развертыванием обновления

  1. Щелкните вкладку Журнал развертываний в верхней части страницы.

    Снимок экрана: журнал развертываний.

  2. Щелкните ссылку Сведения рядом с созданным развертыванием.

    Снимок экрана: сведения о развертывании.

  3. Щелкните Обновить, чтобы просмотреть последние данные о состоянии.

Вы успешно выполнили комплексное обновление на основе пакета на устройстве с Ubuntu Server 18.04 x64 с помощью Обновления устройств для Центра Интернета вещей.

Очистка ресурсов

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

Дальнейшие действия

Используйте следующие руководства для простой демонстрации Обновления устройств для Центра Интернета вещей: