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


Руководство. Выполнение обновления прокси-сервера с помощью службы "Обновление устройств для Центра Интернета вещей"

Если вы еще не сделали этого, ознакомьтесь с разделом Использование обновлений прокси-сервера вместе с обновлением устройства для центра Интернета вещей Azure.

Настройка тестового устройства или виртуальной машины

В этом руководстве в качестве примера используется виртуальная машина Ubuntu Server 18.04 LTS.

Установка агента Обновления устройств и зависимостей

  1. Зарегистрируйте packages.microsoft.com в репозитории пакетов APT:

    sudo apt-get update
    
    sudo apt install curl
    
    curl https://packages.microsoft.com/config/ubuntu/18.04/multiarch/prod.list > ~/microsoft-prod.list
    
    sudo cp ~/microsoft-prod.list /etc/apt/sources.list.d/
    
    curl https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > ~/microsoft.gpg
    
    sudo cp ~/microsoft.gpg /etc/apt/trusted.gpg.d/
    
    sudo apt-get update
    
  2. Установите deviceupdate-agent на устройстве IoT. Скачайте последний файл Debian для Обновления устройств по адресу packages.microsoft.com:

    sudo apt-get install deviceupdate-agent
    

    Кроме того, можно скопировать скачанный файл Debian на тестовую виртуальную машину. Если вы используете PowerShell на своем компьютере, выполните следующую команду оболочки:

      scp <path to the .deb file> tester@<your vm's ip address>:~
    

    Затем выполните удаленный вход в виртуальную машину и запустите следующую команду оболочки в папке home:

          #go to home folder 
          cd ~
          #install latest Device Update agent
          sudo apt-get install ./<debian file name from the previous step>
    
  3. Перейдите в Центр Интернета вещей Azure и скопируйте основную строку подключения для модуля Обновления устройств устройства IoT. В файле du-config.json замените любое значение по умолчанию для поля connectionData основной строкой подключения:

       sudo nano /etc/adu/du-config.json  
    

    Примечание

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

  4. Убедитесь, что файл /etc/adu/du-diagnostics-config.json содержит правильные параметры для сбора журналов. Пример:

    {
      "logComponents":[
        {
          "componentName":"adu",
           "logPath":"/var/log/adu/"
        },
        {
          "componentName":"do",
          "logPath":"/var/log/deliveryoptimization-agent/"
        }
      ],
      "maxKilobytesToUploadPerLogPath":50
    }
    
  5. Перезапустите агент Обновления устройств:

    sudo systemctl restart adu-agent
    

Настройка компонентов макета

В целях тестирования и демонстрации мы создадим на устройстве следующие компоненты макета:

  • Три двигателя
  • Две камеры
  • "hostfs"
  • "rootfs"

Важно!

Конфигурация указанных выше компонентов основана на реализации примера расширения перечислителя компонента с именем libcontoso-component-enumerator.so. Для нее также требуется файл данных инвентаризации компонентов макета: /usr/local/contoso-devices/components-inventory.json.

  1. Скопируйте папку demo в домашний каталог тестовой виртуальной машины. Затем выполните следующую команду, чтобы скопировать необходимые файлы в подходящие расположения:

    `~/demo/tools/reset-demo-components.sh` 
    

    Команда reset-demo-components.sh выполняет от вашего имени следующие действия:

    1. Она копирует components-inventory.json и добавляет его в папку /usr/local/contoso-devices.

    2. Она копирует расширение перечислителя компонентов Contoso (libcontoso-component-enumerator.so) из папки Assets и добавляет его в папку /var/lib/adu/extensions/sources.

    3. Она регистрирует расширение:

      sudo /usr/bin/AducIotAgent -E /var/lib/adu/extensions/sources/libcontoso-component-enumerator.so
      
  2. Просмотрите и запишите текущую версию программного обеспечения компонентов с помощью следующей команды, чтобы настроить виртуальную машину для поддержки обновлений прокси-сервера:

    ~/demo/show-demo-components.sh
    

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

Если вы еще это не сделали, создайте учетную запись и экземпляр Обновления устройств, включая настройку центра Интернета вещей. Затем запустите указанную ниже процедуру.

  1. в разделе Ресурсыпоследнего выпуска Обновления устройств скачайте манифесты импорта и образы для обновлений прокси-сервера.

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

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

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

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

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

  6. Выберите Отправить, чтобы добавить файлы, скачанные на шаге 1.

  7. Отправьте родительский манифест импорта, дочерний манифест импорта и файлы полезных данных в свой контейнер.

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

    В примере родительским манифестом импорта является contoso.Virtual-Vacuum-virtual-camera.1.4.importmanifest.json. Дочерним манифестом импорта с подробными сведениями об обновлении камеры является Contoso.Virtual-Vacuum.3.3.importmanifest.json. Обратите внимание, что оба имени файла манифеста должны соответствовать требуемому формату и заканчиваться на .importmanifest.json.

    Снимок экрана: примеры файлов, отправленные для обновления камер, подключенных к устройству интеллектуального пылесоса.

  8. Щелкните Выбрать.

  9. Теперь в пользовательском интерфейсе отображается список файлов, которые будут импортированы в Обновление устройств. Выберите Импорт обновления.

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

  10. Начинается процесс импорта, а на экране отображается раздел Журнал импорта. Выберите Обновить, чтобы просмотреть, сколько осталось до завершения импорта. Процесс импорта может занять несколько минут или несколько дольше — все зависит от размера обновления.

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

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

Подробнее об импорте обновлений.

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

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

  2. Нажмите кнопку "Добавить группу", чтобы создать группу. Снимок экрана: добавление группы устройств.

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

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

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

Подробнее о добавлении тегов и создании групп обновлений

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

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

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

Сведения о группе

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

Выбор обновления

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

Создание развертывания

  1. Значение поля "Состояние" в разделе "Сведения о развертывании" должно смениться на "Активно", а развернутое обновление должно быть помечено как "(выполняется развертывание)".

Развертывание активно

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

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

    Обновление выполнено

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

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

    Журнал развертывания

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

    Сведения о развертывании

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

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

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

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

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

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