Compartir por


Tutorial: Device Update for Azure IoT Hub using the package agent on Ubuntu Server 18.04 x64 (Actualización de dispositivos para Azure IoT Hub con el agente de paquetes en Ubuntu Server 18.04 x64)

Device Update for IoT Hub admite actualizaciones basadas en imágenes, en paquetes y en scripts.

Las actualizaciones basadas en paquetes son actualizaciones dirigidas que solo modifican una aplicación o un componente específicos en el dispositivo. Esto conduce a un menor consumo de ancho de banda y ayuda a reducir el tiempo necesario para descargar e instalar la actualización. Normalmente, las actualizaciones basadas en paquetes también implican menos tiempo de inactividad de los dispositivos al aplicar una actualización y evitan la sobrecarga asociada a la creación de imágenes. Usan un manifiesto de APT que proporciona al agente de Device Update la información que necesita para descargar e instalar los paquetes especificados en el archivo de manifiesto de APT (y sus dependencias) desde un repositorio designado.

Este tutorial le guía a través de la actualización de Azure IoT Edge en Ubuntu Server 18.04 x64 mediante el agente de paquetes device Update. Aunque en el tutorial se muestra cómo actualizar IoT Edge, mediante pasos similares podría actualizar otros paquetes, como el motor de contenedor que usa.

Las herramientas y los conceptos de este tutorial se siguen aplicando, aunque tenga previsto usar una configuración de plataforma de sistema operativo diferente. Concluya esta introducción a un proceso de actualización integral. A continuación, elija la forma que prefiera para actualizar una plataforma de sistema operativo para profundizar en los detalles.

En este tutorial, aprenderá a:

  • Descargar e instalar el agente de Device Update y sus dependencias.
  • Agregar una etiqueta al dispositivo.
  • Importar una actualización.
  • Cree un grupo de dispositivos.
  • Implementar una actualización del paquete.
  • Supervisar la implementación de la actualización.

Prerrequisitos

Preparación de un dispositivo

Prepare un dispositivo automáticamente o manualmente.

Uso del botón automatizado Implementar en Azure

Para mayor comodidad, en este tutorial se usa una plantilla de Azure Resource Manager basada en cloud-init para ayudarle a configurar rápidamente una máquina virtual Ubuntu 18.04 LTS. Instala el entorno de ejecución de Azure IoT Edge y el agente de paquetes de Device Update. A continuación, configura automáticamente el dispositivo con la información de aprovisionamiento mediante la cadena de conexión del dispositivo IoT Edge (requisito previo) que proporcione. La plantilla de Resource Manager también evita la necesidad de iniciar una sesión de SSH para completar la instalación.

  1. Para empezar, seleccione el botón:

    Captura de pantalla que muestra el botón Implementar en Azure para iotedge-vm-deploy .

  2. Rellene los cuadros de texto disponibles:

    • Suscripción: suscripción de Azure activa en la que se va a implementar la máquina virtual.
    • Grupo de recursos: grupo de recursos existente o recién creado que va a contener la máquina virtual y sus recursos asociados.
    • Región: la región geográfica en la que se implementará la máquina virtual. Este valor tiene como valor predeterminado la ubicación del grupo de recursos seleccionado.
    • Prefijo de etiqueta DNS: valor requerido (de su elección) que se usa como prefijo del nombre de host de la máquina virtual.
    • Nombre de usuario administrador: nombre de usuario al que se proporcionan privilegios raíz en la implementación.
    • Cadena de conexión de dispositivo: cadena de conexión de un dispositivo que se ha creado en el centro de IoT de su elección.
    • Tamaño de VM: tamaño de la máquina virtual que se va a implementar.
    • Versión del SO Ubuntu: versión del sistema operativo Ubuntu que se va a instalar en la máquina virtual base. Deje el valor predeterminado sin cambios porque ya se establecerá en Ubuntu 18.04-LTS.
    • Tipo de autenticación: elija sshPublicKey o contraseña según sus preferencias.
    • Contraseña o clave de administrador: valor de la clave pública SSH o de la contraseña en función del tipo de autenticación que se haya escogido.

    Una vez rellenos todos los cuadros, active la casilla situada en la parte inferior de la página para aceptar los términos. Seleccione Comprar para comenzar la implementación.

  3. Compruebe que la implementación se ha completado correctamente. 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.

    Se debe haber implementado 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. Anote también el nombre DNS asociado, que tiene el formato <dnsLabelPrefix>.<location>.cloudapp.azure.com.

    El nombre DNS se puede obtener en la sección Información general de la máquina virtual recién implementada en Azure Portal.

    Sugerencia

    Para conectarse a través de SSH a esta máquina virtual después de configurarla, use el nombre DNS asociado con el siguiente comando: ssh <adminUsername>@<DNS_Name>.

  4. Abra los detalles de configuración (consulte cómo definir el archivo de configuración aquí) con el comando siguiente. Establezca su connectionType en "AIS" y su connectionData como una cadena vacía.

/etc/adu/du-config.json
  1. Reinicie el agente de Device Update mediante la ejecución del comando siguiente:
 sudo systemctl restart adu-agent

Los paquetes de software de Device Update para Azure IoT Hub están sujetos a los siguientes términos de licencia:

Lea los términos de licencia antes de usar un paquete. La instalación y el uso de un paquete constituyen la aceptación de estos términos. Si no acepta los términos de licencia, no utilice ese paquete.

Preparar manualmente un dispositivo

De forma similar a los pasos automatizados por el script cloud-init, se usan los pasos manuales siguientes para instalar y configurar un dispositivo. Siga estos pasos para preparar un dispositivo físico.

  1. Siga las instrucciones para instalar el entorno de ejecución de Azure IoT Edge.

    Nota:

    El agente de Device Update no depende de IoT Edge. Pero depende del servicio IoT Identity Service que se instala con IoT Edge (1.2.0 y versiones posteriores) para obtener una identidad y conectarse al IoT Hub.

    Aunque no se trata en este tutorial, el demonio de IoT Identity Service se puede instalar de forma independiente en dispositivos IoT basados en Linux. La secuencia de instalación es importante. El agente de paquetes de Device Update debe instalarse después de IoT Identity Service. De lo contrario, el agente de paquetes no se registrará como un componente autorizado para establecer una conexión a IoT Hub.

  2. Instale los paquetes .deb del agente de Actualización de Dispositivos.

    sudo apt-get install deviceupdate-agent deliveryoptimization-plugin-apt 
    
  3. Introduzca la cadena de conexión principal del módulo de su dispositivo IoT (o dispositivo, en función de cómo aprovisionó el dispositivo con Device Update) en el archivo de configuración ejecutando el siguiente comando:

    /etc/adu/du-config.json
    
  4. Reinicie el agente de Device Update mediante la ejecución del comando siguiente:

     sudo systemctl restart adu-agent
    

Los paquetes de software de Device Update para Azure IoT Hub están sujetos a los siguientes términos de licencia:

Lea los términos de licencia antes de usar un paquete. La instalación y el uso de un paquete constituyen la aceptación de estos términos. Si no acepta los términos de licencia, no utilice ese paquete.

Adición de una etiqueta al dispositivo

  1. Inicie sesión en Azure Portal y vaya al centro de IoT.

  2. En el panel izquierdo, en Dispositivos, busque el dispositivo IoT Edge y vaya al dispositivo gemelo o módulo gemelo.

  3. En el módulo gemelo del agente de Device Update, cambie los valores de etiqueta de Device Update existentes a null para eliminarlos. Si usa la identidad del dispositivo con el agente de Device Update, realice estos cambios en el dispositivo gemelo.

  4. Agregue un nuevo valor de etiqueta de Device Update como se muestra a continuación:

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

Importación de la actualización

  1. Vaya a Versiones de Device Update en GitHub y seleccione la lista desplegable Recursos. Seleccione Tutorial_IoTEdge_PackageUpdate.zip para descargarlo. Extraiga el contenido de la carpeta para detectar un manifiesto de APT de ejemplo (sample-1.0.2-aziot-edge-apt-manifest.json) y su manifiesto de importación correspondiente (sample-1.0.2-aziot-edge-importManifest.json).

  2. Inicie sesión en el portal de Azure y vaya a su centro de IoT con Actualización de Dispositivo. En el panel izquierdo, en Administración automática de dispositivos, seleccione Actualizaciones.

  3. Seleccione la pestaña Actualizaciones.

  4. Seleccione + Importar nueva actualización.

  5. Seleccione + Seleccionar desde el contenedor de almacenamiento. Seleccione una cuenta existente o cree una nueva mediante + Cuenta de almacenamiento. A continuación, seleccione un contenedor existente o cree uno nuevo mediante + Contenedor. Este contenedor se usa para almacenar provisionalmente los archivos de actualización para la importación.

    Nota:

    Se recomienda usar un nuevo contenedor cada vez que importe una actualización para evitar la importación accidental de archivos de actualizaciones anteriores. Si no usa un contenedor nuevo, asegúrese de eliminar los archivos del contenedor existente antes de completar este paso.

    Captura de pantalla que muestra la cuenta de almacenamiento.

  6. En el contenedor, seleccione Cargar y vaya hasta los archivos que descargó en el paso 1. Después de seleccionar todos los archivos de actualización, seleccione Cargar. A continuación, seleccione el botón Seleccionar para volver a la página Importar actualización.

    Captura de pantalla que muestra la selección de archivos cargados.

    En esta captura de pantalla se muestra el paso de importación. Es posible que los nombres de archivo no coincidan con los usados en el ejemplo.

  7. En la página Importar actualización, revise los archivos que se importarán. A continuación, seleccione Importar actualización para iniciar el proceso de importación.

    Captura de pantalla que muestra el inicio del proceso de importación.

  8. Se inicia el proceso de importación y la pantalla cambia a la sección Historial de importación. Cuando la columna Estado indique que la importación se ha realizado correctamente, seleccione el encabezado Available Updates (Actualizaciones disponibles). Debería ver la actualización importada en la lista.

    Captura de pantalla que muestra el estado del trabajo.

Obtenga más información sobre cómo importar actualizaciones.

Creación de un grupo de actualización

  1. Vaya a la pestaña Grupos e implementaciones en la parte superior de la página.

    Captura de pantalla que muestra los dispositivos desagrupados.

  2. Seleccione el botón Agregar grupo para crear un nuevo grupo.

    Captura de pantalla que muestra la adición del grupo de dispositivos.

  3. Seleccione una etiqueta de IoT Hub y clase de dispositivo en la lista. A continuación, seleccione Crear grupo.

    Captura de pantalla que muestra la selección de etiquetas.

  4. Una vez creado el grupo, verá que se actualizan el gráfico de cumplimiento de actualizaciones y la lista de grupos. 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. Obtenga más información sobre Update Compliance.

    Captura de pantalla que muestra la vista de cumplimiento de actualizaciones.

  5. Debería ver el grupo recién creado y las actualizaciones disponibles para los dispositivos del nuevo grupo. Si hay dispositivos que no cumplen los requisitos de clase de dispositivo del grupo, se muestran en un grupo no válido correspondiente. Para implementar la mejor actualización disponible en el nuevo grupo definido por el usuario desde esta vista, seleccione Implementar junto al grupo.

Obtenga más información sobre cómo agregar etiquetas y crear grupos de actualizaciones.

Implementación de la actualización

  1. Una vez creado el grupo, debería ver una nueva actualización disponible para el grupo de dispositivos, con un vínculo a la actualización en Mejor actualización. Puede que tenga que actualizar la página una vez. Más información sobre el cumplimiento de actualizaciones.

  2. Para elegir el grupo de destino, seleccione el nombre del grupo. Se le dirigirá a los detalles del grupo en Group basics (Conceptos básicos del grupo).

    Captura de pantalla que muestra los detalles de los grupos.

  3. Para iniciar la implementación, vaya a la pestaña Implementación actual. Seleccione el vínculo de implementación situado junto a la actualización deseada en la sección Actualizaciones disponibles. La mejor actualización disponible para un grupo determinado se indica con el término Óptima resaltado.

    Captura de pantalla que muestra la selección de una actualización.

  4. Programe la implementación para que se inicie inmediatamente o en el futuro. 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 antes.

    Captura de pantalla que muestra la creación de una implementación.

  5. En Detalles de implementación, Estado cambia a Activo. La actualización implementada está marcada con (implementando).

    Captura de pantalla que muestra la implementación como activa.

  6. Vea el gráfico de cumplimiento para comprobar que la actualización está en curso.

  7. Una vez que el dispositivo se ha actualizado correctamente, puede ver que el gráfico de cumplimiento y los detalles de la implementación se actualizan para reflejar lo mismo.

    Captura de pantalla que muestra que la actualización se ha realizado correctamente.

Supervisar la implementación de actualizaciones

  1. Seleccione la pestaña Historial de implementación en la parte superior de la página.

    Captura de pantalla que muestra Historial de implementación.

  2. Seleccione el vínculo de detalles junto a la implementación que ha creado.

    Captura de pantalla que muestra los detalles de la implementación.

  3. Seleccione Actualizar para ver los detalles de estado más recientes.

Ahora ha completado una actualización de paquetes exitosa, completa e integral mediante Device Update para IoT Hub en un dispositivo con Ubuntu Server 18.04 x64.

Limpieza de recursos

Cuando ya no sea necesario, limpie la cuenta de actualización de dispositivo, la instancia y el Hub de IoT. Limpie también el dispositivo IoT Edge si creó la máquina virtual mediante el botón Implementar en Azure. Para limpiar los recursos, vaya a cada recurso individual y seleccione Eliminar. Limpiar una instancia de actualización de dispositivo antes de limpiar la cuenta de actualización de dispositivo.

Pasos siguientes

Use los siguientes tutoriales para obtener una demostración sencilla de Device Update para IoT Hub: