Руководство. Работа с Обновлением устройств для Центра Интернета вещей 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. Заполните доступные текстовые поля.

    Снимок экрана: шаблон iotedge-vm-deploy.

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

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

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

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

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

    Снимок экрана: DNS-имя виртуальной машины iotedge.

    Совет

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

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

    sudo nano /etc/adu/du-config.json
    
  5. Перезапустите агент обновления устройств.

    sudo systemctl restart deviceupdate-agent
    

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

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

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

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

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

    Примечание

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

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

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

    sudo apt-get install deviceupdate-agent 
    
  3. Введите основную строку подключения модуля устройства Интернета вещей (или устройства в зависимости от того, как вы подготовили устройство с помощью обновления устройства) в файле конфигурации. Обратите внимание, что необходимо задать все значения с тегом "Разместить здесь значение". См . раздел Настройка агента du.

    sudo /etc/adu/du-config.json
    
  4. Перезапустите агент обновления устройств.

    sudo systemctl restart deviceupdate-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. Вы увидите группу устройств, содержащую имитированное устройство, настроенное в этом руководстве, а также все доступные обновления для устройств в новой группе. Если есть устройства, которые не соответствуют требованиям к классу устройств в группе, они отобразятся в соответствующей группе недопустимых устройств. Чтобы развернуть наилучшее доступное обновление в новой определяемой пользователем группе из этого представления, выберите Развернуть рядом с группой.

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

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

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

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

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

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

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

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

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

    Совет

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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