Tutorial: Azure Device Update for IoT Hub 22.04 con un agente de paquete de Ubuntu
Device Update for IoT Hub admite actualizaciones basadas en imágenes, en paquetes y en scripts. En este tutorial se muestra una actualización de paquetes de un extremo a otro usando el agente de paquetes Device Update Ubuntu Server 22.04 x64 para actualizar Azure IoT Edge.
Las actualizaciones basadas en paquetes están dirigidas a modificar solo una aplicación o un componente específico en el dispositivo. Estas actualizaciones tienen un menor consumo de ancho de banda y tiempos de descarga e instalación más cortos que las actualizaciones basadas en imágenes, lo que reduce el tiempo de inactividad del dispositivo y evita la sobrecarga de la creación de imágenes. En una actualización basada en paquetes, un manifiesto de APT proporciona al agente de Device Update la información que necesita para descargar e instalar los paquetes especificados y sus dependencias desde un repositorio designado.
Este tutorial le guía por la instalación de Microsoft Defender para IoT, pero puede actualizar otros paquetes mediante pasos similares, como IoT Edge o el motor de contenedor que usa. Las herramientas y los conceptos de este tutorial se aplican incluso si usa una configuración de plataforma del sistema operativo diferente.
En este tutorial ha:
- Descargar e instalar el agente de Device Update y sus dependencias.
- Adición de una etiqueta de grupo al dispositivo.
- Importe la actualización del paquete.
- Implemente la actualización del paquete.
- Vea el historial de implementación de actualizaciones.
Requisitos previos
- Una cuenta y una instancia de Device Update configuradas con una instancia de IoT Hub.
- Un dispositivo Azure IoT Edge registrado en IoT Hub con la cadena de conexión copiada.
Preparar el dispositivo
Para mayor comodidad, en este tutorial se usa una plantilla de Azure Resource Manager (ARM) basada en cloud-init para configurar rápidamente una máquina virtual (VM) de Ubuntu 22.04 LTS. La plantilla instala el entorno de ejecución de Azure IoT Edge y el agente de paquetes de Device Update y configura automáticamente el dispositivo con la información de aprovisionamiento mediante la cadena de conexión del dispositivo IoT Edge que proporcione. El uso de la plantilla de ARM también evita la necesidad de iniciar una sesión de Secure Shell (SSH) para completar la configuración.
Para ejecutar la plantilla, seleccione el siguiente botón Implementar en Azure:
Complete la siguiente información:
- Suscripción: la suscripción activa de Azure en la que se va a implementar la máquina virtual.
- Grupo de recursos: un grupo de recursos existente o nuevo que contenga la máquina virtual y sus recursos.
- Región: la región geográfica en la que se va a implementar la máquina virtual, que tiene como valor predeterminado la ubicación del grupo de recursos.
- Prefijo de etiqueta DNS: un valor para prefijar el nombre de host de la máquina virtual.
- Nombre de usuario de administrador: un nombre de usuario para proporcionar privilegios raíz en la implementación.
- Tipo de autenticación: elija sshPublicKey o contraseña.
- Contraseña de administrador u origen de clave pública SSH, tipo de clave SSH, nombre del par de claves: la información de clave pública SSH o contraseña basada en la elección del tipo de autenticación.
- Tamaño de máquina virtual: el tamaño de la máquina virtual que se va a implementar.
- Versión del sistema operativo Ubuntu: deje en 22_04-lts.
- Cadena de conexión del dispositivo: la cadena de conexión de IoT Edge que copió anteriormente.
En la parte inferior de la página, seleccione Revisar y crear. Cuando la validación se realice correctamente, seleccione Crear para iniciar la implementación de la plantilla.
Compruebe que la implementación se completa correctamente y aguarde unos minutos a que se complete la implementación para que las actividades posteriores a la instalación y la configuración terminen de instalar IoT Edge y el agente de actualización del paquete de dispositivos.
Debería ver un recurso de máquina virtual en el grupo de recursos seleccionado. Anote el nombre de la máquina, que tiene el formato
vm-0000000000000
. Seleccione el nombre de la máquina virtual y, en la página Información general de la máquina virtual, anote el nombre DNS, que tiene el formato<dnsLabelPrefix>
.<location>.cloudapp.azure.com
.
Sugerencia
Para conectarse a través de SSH a esta máquina virtual después de la instalación, use el nombre DNS asociado con el comando ssh <admin username>@<DNS name>
.
Instalación del agente de Device Update en la máquina virtual
Importante
El software de Azure Device Update for IoT Hub está sujeto a los siguientes términos de licencia:
- Licencia de actualización de dispositivos para IoT Hub
- Licencia de cliente de Optimización de distribución
Lea los términos de licencia antes de usar el agente. La instalación y el uso del agente constituyen la aceptación de estos términos. Si no está de acuerdo con los términos de licencia, no use el agente de Device Update.
Para instalar el agente de Device Update en la máquina virtual, ejecute el siguiente comando.
sudo apt-get install deviceupdate-agent
Abra el archivo de detalles de configuración du-config.json mediante el siguiente comando.
sudo nano /etc/adu/du-config.json
En el archivo, reemplace todos los valores
<placeholder>
por su propia configuración. Establezca elconnectionType
como"AIS"
yconnectionData
como una cadena vacía. Por ejemplo, consulte Contenido de archivo "du-config.json" de ejemplo.Reinicie el agente de Device Update con el comando siguiente.
sudo systemctl restart deviceupdate-agent
Nota:
Si ha usado el agente del simulador en este dispositivo anteriormente, ejecute el siguiente comando para invocar el controlador de APT e implementar actualizaciones del paquete de forma inalámbrica para este tutorial.
sudo /usr/bin/AducIotAgent --register-content-handler /var/lib/adu/extensions/sources/libmicrosoft_apt_1.so --update-type 'microsoft/apt:1'
Adición de una etiqueta de grupo al dispositivo
Este servicio organiza automáticamente los dispositivos por grupos en función de las etiquetas y propiedades de compatibilidad que tienen asignadas. Cada dispositivo puede pertenecer solo a un grupo, pero los grupos pueden tener varios subgrupos para ordenar diferentes clases de dispositivos. Para más información sobre etiquetas y grupos, consulte Administración de grupos de dispositivos.
En la página Azure Portal IoT Hub de la instancia de Device Update, seleccione Administración de dispositivos>Dispositivos en el panel de navegación izquierdo.
Vaya al dispositivo gemelo o al gemelo identidad de módulo del dispositivo.
En el archivo de dispositivo gemelo o gemelo de identidad de módulo de agente de Device Update, elimine los valores de etiqueta de Device Update existentes estableciéndolos en
null
y agregue la siguiente nueva etiqueta de grupo de Device Update.Si usa la identidad del dispositivo con el agente de Device Update, realice estos cambios en el dispositivo gemelo. Si usa una identidad de módulo con el módulo del agente de Device Update, agregue la etiqueta en el gemelo de identidad de módulo.
"tags": { "ADUGroup": "<GroupTagValue>" },
En el siguiente recorte de pantalla se muestra dónde se encuentra en el archivo para agregar la etiqueta.
Seleccione Guardar.
Importación de la actualización
El archivo Tutorial_IoTEdge_PackageUpdate.zip tiene los archivos necesarios para el tutorial.
Descargue el archivo Tutorial_IoTEdge_PackageUpdate.zip de la sección Recursos de la versión más reciente en la página de versiones de actualización de dispositivos de GitHub.
Descomprima el archivo . La carpeta Tutorial_IoTEdge_PackageUpdate extraída contiene el manifiesto de APT de ejemplo sample-defender-iot-apt-manifest.json y su manifiesto de importación sample-defender-iot--importManifest.json correspondiente.
En la página Azure Portal IoT Hub de la instancia de Device Update, seleccione Administración de dispositivos>Actualizaciones en el panel de navegación izquierdo.
En la página Actualizaciones, seleccione Importar una nueva actualización.
En la página Importar actualización, seleccione Seleccionar desde el contenedor de almacenamiento.
En la página Cuentas de almacenamiento, seleccione una cuenta de almacenamiento o elija Cuenta de almacenamiento para crear una nueva.
En la página Contenedores, seleccione un contenedor o elija Contenedor para crear uno nuevo. El contenedor se usa para almacenar provisionalmente los archivos de actualización para la importación.
Sugerencia
Para evitar la importación accidental de archivos de actualizaciones anteriores, use un nuevo contenedor cada vez que importe una actualización. Si no usa un contenedor nuevo, asegúrese de eliminar los archivos del contenedor existente.
En la página del contenedor, seleccione Cargar, arrastre y coloque o busque y seleccione los archivos de actualización que descargó y, a continuación, seleccione Cargar. Después de cargarlos, los archivos aparecen en la página del contenedor.
Revise y seleccione los archivos que se van a importar y, a continuación, seleccione Seleccionar.
En la pantalla Importar actualización, seleccione Importar actualización.
El proceso de importación comienza y la pantalla cambia a la pantalla Actualizaciones. Después de que la importación se realice correctamente, aparece en la pestaña Actualizaciones. Para más información sobre el proceso de importación, consulte Importación de una actualización a Device Update.
Selección del grupo de dispositivos
Puede usar la etiqueta de grupo que aplicó al dispositivo para implementar la actualización en el grupo de dispositivos. Seleccione la pestaña Grupos e implementaciones de la parte superior de la página Actualizaciones para ver la lista de grupos e implementaciones y el gráfico de comprobación de actualizaciones.
En el gráfico de Update Compliance se muestra el recuento de dispositivos en los distintos estados de compatibilidad: En la actualización más reciente, Nuevas actualizaciones disponibles y Actualizaciones en curso. Para más información, consulte Cumplimiento de Device Update.
En Nombre de grupo, verá una lista de todos los grupos de dispositivos de los dispositivos conectados a este centro de IoT y sus actualizaciones disponibles, con vínculos para implementar las actualizaciones en Estado. Los dispositivos que no cumplen los requisitos de clase de dispositivo de un grupo aparecen en un grupo no válido correspondiente. Para más información sobre etiquetas y grupos, consulte Administración de grupos de dispositivos.
Debería ver el grupo de dispositivos que contiene el dispositivo que configuró en este tutorial, junto con las actualizaciones disponibles para los dispositivos del grupo. Es posible que tenga que actualizar la página. Para implementar la mejor actualización disponible en el grupo desde esta vista, seleccione Implementar junto al grupo.
Implementación de la actualización
En la página Detalles del grupo, seleccione la pestaña Implementación actual y, a continuación, seleccione Implementar junto a la actualización deseada en la sección Actualizaciones disponibles. La mejor actualización disponible para el grupo se indica con el término Óptima resaltado.
En la página Crear implementación, programe la implementación para que se inicie inmediatamente o en el futuro y, a continuación, seleccione Crear.
Sugerencia
De forma predeterminada, la fecha y hora de inicio es de 24 horas a partir de la hora actual. Asegúrese de seleccionar una fecha y hora diferentes si quiere que la implementación comience más pronto.
En la página Detalles del grupo en Detalles de implementación, Estado cambia a Activo. En Actualizaciones disponibles, la actualización seleccionada se marca con (implementando).
En la pestaña Grupos e implementaciones de la página Actualizaciones, vea el gráfico de cumplimiento para ver que la actualización está en curso. Una vez que el dispositivo se actualice correctamente, el gráfico de cumplimiento y los detalles de implementación se actualizan para reflejar ese estado.
Ver el historial de implementación de actualizaciones
Seleccione la pestaña Historial de implementación de la parte superior de la página Detalles del grupo y seleccione el vínculo detalles junto a la implementación que creó.
En la página Detalles de la implementación, seleccione el icono Actualizar para ver los detalles de estado más recientes.
Limpieza de recursos
Cuando ya no necesite los recursos creados en este tutorial, puede eliminarlos.
- En Azure Portal, vaya al grupo de recursos que contiene los recursos.
- Si desea eliminar todos los recursos del grupo, seleccione Eliminar grupo de recursos.
- Si solo desea eliminar algunos recursos, use las casillas para seleccionarlos y, a continuación, elija Eliminar.