Руководство. Выполнение обновления прокси-сервера с помощью службы "Обновление устройств для Центра Интернета вещей"
Если вы еще не сделали этого, ознакомьтесь с разделом Использование обновлений прокси-сервера вместе с обновлением устройства для центра Интернета вещей Azure.
Настройка тестового устройства или виртуальной машины
В этом руководстве в качестве примера используется виртуальная машина Ubuntu Server 18.04 LTS.
Установка агента Обновления устройств и зависимостей
Зарегистрируйте 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
Установите 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>
Перейдите в Центр Интернета вещей Azure и скопируйте основную строку подключения для модуля Обновления устройств устройства IoT. В файле du-config.json замените любое значение по умолчанию для поля
connectionData
основной строкой подключения:sudo nano /etc/adu/du-config.json
Примечание
Вместо этого можно скопировать основную строку подключения для устройства, но мы рекомендуем использовать строку для модуля Обновления устройств. Сведения о настройке этого модуля см. в разделе Подготовка агента обновления устройства.
Убедитесь, что файл /etc/adu/du-diagnostics-config.json содержит правильные параметры для сбора журналов. Пример:
{ "logComponents":[ { "componentName":"adu", "logPath":"/var/log/adu/" }, { "componentName":"do", "logPath":"/var/log/deliveryoptimization-agent/" } ], "maxKilobytesToUploadPerLogPath":50 }
Перезапустите агент Обновления устройств:
sudo systemctl restart adu-agent
Настройка компонентов макета
В целях тестирования и демонстрации мы создадим на устройстве следующие компоненты макета:
- Три двигателя
- Две камеры
- "hostfs"
- "rootfs"
Важно!
Конфигурация указанных выше компонентов основана на реализации примера расширения перечислителя компонента с именем libcontoso-component-enumerator.so. Для нее также требуется файл данных инвентаризации компонентов макета: /usr/local/contoso-devices/components-inventory.json.
Скопируйте папку demo в домашний каталог тестовой виртуальной машины. Затем выполните следующую команду, чтобы скопировать необходимые файлы в подходящие расположения:
`~/demo/tools/reset-demo-components.sh`
Команда
reset-demo-components.sh
выполняет от вашего имени следующие действия:Она копирует components-inventory.json и добавляет его в папку /usr/local/contoso-devices.
Она копирует расширение перечислителя компонентов Contoso (libcontoso-component-enumerator.so) из папки Assets и добавляет его в папку /var/lib/adu/extensions/sources.
Она регистрирует расширение:
sudo /usr/bin/AducIotAgent -E /var/lib/adu/extensions/sources/libcontoso-component-enumerator.so
Просмотрите и запишите текущую версию программного обеспечения компонентов с помощью следующей команды, чтобы настроить виртуальную машину для поддержки обновлений прокси-сервера:
~/demo/show-demo-components.sh
Импорт примера обновления
Если вы еще это не сделали, создайте учетную запись и экземпляр Обновления устройств, включая настройку центра Интернета вещей. Затем запустите указанную ниже процедуру.
в разделе Ресурсыпоследнего выпуска Обновления устройств скачайте манифесты импорта и образы для обновлений прокси-сервера.
Войдите на портал Azure и перейдите в свой центр Интернета вещей с Обновлением устройств. В области слева выберите Управление устройствами>Обновления.
Откройте вкладку Обновления.
Выберите + Импортировать новое обновление.
Выберите + Выбрать из контейнера хранилища, а затем выберите учетную запись хранения и контейнер.
Выберите Отправить, чтобы добавить файлы, скачанные на шаге 1.
Отправьте родительский манифест импорта, дочерний манифест импорта и файлы полезных данных в свой контейнер.
В следующем примере показаны примеры файлов, отправленные для обновления камер, которые подключенных к интеллектуальному пылесосу. Он также включает в себя скрипт, выполняемый перед установкой, чтобы отключить камеры перед обновлением по беспроводной связи.
В примере родительским манифестом импорта является contoso.Virtual-Vacuum-virtual-camera.1.4.importmanifest.json. Дочерним манифестом импорта с подробными сведениями об обновлении камеры является Contoso.Virtual-Vacuum.3.3.importmanifest.json. Обратите внимание, что оба имени файла манифеста должны соответствовать требуемому формату и заканчиваться на .importmanifest.json.
Щелкните Выбрать.
Теперь в пользовательском интерфейсе отображается список файлов, которые будут импортированы в Обновление устройств. Выберите Импорт обновления.
Начинается процесс импорта, а на экране отображается раздел Журнал импорта. Выберите Обновить, чтобы просмотреть, сколько осталось до завершения импорта. Процесс импорта может занять несколько минут или несколько дольше — все зависит от размера обновления.
Если столбец Состояние указывает на то, что импорт успешно выполнен, откройте вкладку Доступные обновления. Импортированное обновление должно появиться в списке.
Подробнее об импорте обновлений.
Создание группы обновлений
Откройте вкладку "Группы и развертывания" в верхней части страницы.
Выберите в списке тег Центра Интернета вещей и класс устройства и щелкните "Создать группу".
После создания группы вы увидите, что диаграмма соответствия обновлений требованиям и список групп обновлены. На диаграмме соответствия обновлений требованиям отображается количество устройств в различных состояниях соответствия: "Обновление не требуется", "Доступны новые обновления" и "Выполняется обновление". Сведения о соответствии обновлений.
Вы должны увидеть только что созданную группу и все доступные обновления для устройств в новой группе. Если есть устройства, которые не соответствуют требованиям к классу устройств в группе, они отобразятся в соответствующей группе недопустимых устройств. Вы можете развернуть лучшее доступное обновление в новой определяемой пользователем группе из этого представления, нажав кнопку "Развернуть" рядом с группой.
Подробнее о добавлении тегов и создании групп обновлений
Развертывание обновления
После создания группы должно появиться новое обновление, доступное для вашей группы устройств, а ссылка на него будет отображаться в разделе "Лучшее обновление" (может потребоваться один раз нажать кнопку "Обновить"). Подробнее о соответствии обновлений.
Выберите целевую группу, щелкнув ее имя. Откроются сведения о группе в разделе "Основные сведения о группе".
- Чтобы начать развертывание, перейдите на вкладку "Текущее развертывание". Щелкните ссылку "Развернуть" рядом с нужным обновлением в разделе "Доступные обновления". Наилучшее доступное обновление для указанной группы обозначается как "Лучшее".
- Запланируйте запуск развертывания немедленно или в будущем и нажмите кнопку "Создать".
- Значение поля "Состояние" в разделе "Сведения о развертывании" должно смениться на "Активно", а развернутое обновление должно быть помечено как "(выполняется развертывание)".
Посмотрите на диаграмму соответствия требованиям. По ней должно быть видно, что процесс обновления выполняется.
После успешного обновления устройства диаграмма соответствия требованиям и сведения о развертывании должны измениться, отражая одну и ту же информацию.
Слежение за развертыванием обновления
Щелкните вкладку "Журнал развертываний" в верхней части страницы.
Щелкните ссылку "Сведения" рядом с созданным развертыванием.
Щелкните "Обновить", чтобы просмотреть последние данные о состоянии.
Вы успешно выполнили комплексное обновление прокси-сервера с помощью Обновления устройств для Центра Интернета вещей.
Очистка ресурсов
Очистите учетную запись Обновления устройств, экземпляр, центр Интернета вещей и устройство Интернета вещей, если они больше не нужны.
Дальнейшие действия
Вы можете использовать следующие руководства для простой демонстрации Обновления устройств для Центра Интернета вещей:
Руководство по Обновлению устройств для Центра Интернета вещей Azure: использование эталонного образа для Raspberry Pi 3 B+ (можно расширить с помощью открытого кода, чтобы при необходимости создавать собственные образы для других архитектур)