Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Se aplica a: IoT Edge 1.1
Importante
IoT Edge 1.1 fecha de finalización del soporte técnico fue el 13 de diciembre de 2022. Consulte la página del ciclo de vida de productos de Microsoft para obtener información sobre cómo se admite este producto, servicio, tecnología o API. Para obtener más información sobre cómo actualizar a la versión más reciente de IoT Edge, consulte Update IoT Edge.
A medida que el servicio IoT Edge publica nuevas versiones, querrá actualizar los dispositivos IoT Edge para conocer las características y mejoras de seguridad más recientes. En este artículo se proporciona información sobre cómo actualizar los dispositivos IoT Edge cuando hay una versión nueva disponible.
Es necesario actualizar dos componentes lógicos de un dispositivo IoT Edge si quiere pasar a una versión más reciente. La primera es el subsistema de seguridad. Aunque la arquitectura del subsistema de seguridad ha cambiado entre la versión 1.1 y la 1.2, sus responsabilidades generales siguen siendo las mismas. Se ejecuta en el dispositivo, controla las tareas basadas en seguridad e inicia los módulos cuando se inicia el dispositivo. Actualmente, el subsistema de seguridad solo se puede actualizar desde el propio dispositivo. El segundo componente es el entorno de ejecución, formado por los módulos del centro de IoT Edge y del agente de IoT Edge. Dependiendo de cómo estructura la implementación, el entorno de ejecución se puede actualizar desde el dispositivo o de forma remota.
Debe actualizar el entorno de ejecución de IoT Edge y asegurarse de que las capas de aplicación usen la misma versión de lanzamiento. Aunque se admiten versiones incompatibles, no se prueban juntas. Use las secciones siguientes de este artículo para actualizar tanto el entorno de ejecución como las capas de aplicación en un dispositivo:
- Actualización del subsistema de seguridad
- Actualización de los contenedores del entorno de ejecución
- Comprobación de la coincidencia de versiones
- En el dispositivo, use
iotedge version
para comprobar la versión del subsistema de seguridad. La salida incluye los números de versión principal, menor y de revisión. Por ejemplo, iotedge 1.4.2. - En la configuración del entorno de ejecución de implementación de dispositivos, compruebe que las versiones de URI de imagen de edgehub y edgeagent coincidan con la versión principal y secundaria del subsistema de seguridad. Si la versión del subsistema de seguridad es 1.4.2, las versiones de imagen serían 1.4. Por ejemplo, mcr.microsoft.com/azureiotedge-hub:1.4 y mcr.microsoft.com/azureiotedge-agent:1.4.
- En el dispositivo, use
Para obtener la versión más reciente de Azure IoT Edge, consulte Versiones de Azure IoT Edge.
Actualización del subsistema de seguridad
El subsistema de seguridad de IoT Edge incluye un conjunto de componentes nativos que deben actualizarse mediante el administrador de paquetes en el dispositivo IoT Edge.
Compruebe la versión del subsistema de seguridad que se ejecuta en el dispositivo mediante el comando iotedge version
. Si usa IoT Edge para Linux en Windows, debe conectarse mediante SSH a la máquina virtual Linux para comprobar la versión.
Importante
Si va a actualizar un dispositivo de la versión 1.0 o 1.1 a la versión más reciente, existen diferencias en los procesos de instalación y configuración que requieren pasos adicionales. Para obtener más información, consulte los pasos que se indican más adelante en este artículo: caso especial: actualización de la versión 1.0 o 1.1 a la versión más reciente.
En dispositivos Linux x64, use apt-get o el administrador de paquetes adecuado para actualizar el módulo de ejecución a la versión más reciente.
Actualizar apt.
sudo apt-get update
Nota:
Para obtener instrucciones para obtener la configuración del repositorio más reciente de Microsoft, vea los pasos preliminares para la Instalación de IoT Edge.
Compruebe qué versiones de IoT Edge están disponibles.
apt list -a iotedge
Si desea actualizar a la versión más reciente del módulo en tiempo de ejecución, use el siguiente comando, que también actualiza libiothsm-std a la versión más reciente:
sudo apt-get install iotedge
Si desea actualizar a una versión específica del módulo en tiempo de ejecución, especifique la versión de la salida del comando apt list. Cada vez que iotedge se actualiza, intenta actualizar automáticamente el paquete libiothsm-std a su versión más reciente, lo que puede provocar conflictos de dependencias. Si no va a la versión más reciente, asegúrese de tener como destino ambos paquetes para la misma versión. Por ejemplo, el siguiente comando instala una versión específica de la versión 1.1:
sudo apt-get install iotedge=1.1.1 libiothsm-std=1.1.1
Si la versión que quiere instalar no está disponible a través de apt-get, puede usar curl para acceder a cualquier versión del repositorio de lanzamientos de IoT Edge. Para cualquier versión que desee instalar, busque los archivos libiothsm-std y iotedge para su dispositivo. Para cada archivo, haga clic con el botón derecho en el vínculo del archivo y copie la dirección del vínculo. Use la dirección de vínculo para instalar las versiones específicas de esos componentes:
curl -L <libiothsm-std link> -o libiothsm-std.deb && sudo apt-get install ./libiothsm-std.deb
curl -L <iotedge link> -o iotedge.deb && sudo apt-get install ./iotedge.deb
A continuación, vuelva a aplicar la configuración para asegurarse de que el sistema está totalmente actualizado.
sudo iotedge config apply
Actualización de los contenedores del entorno de ejecución
La forma en que se actualiza el agente de IoT Edge y los contenedores del hub de IoT Edge depende de si utiliza etiquetas rodantes (como 1.1) o etiquetas específicas (como 1.1.1) en su implementación.
Compruebe la versión de los módulos Agente de IoT Edge y Centro de IoT Edge instalada actualmente en el dispositivo mediante los comandos iotedge logs edgeAgent
o iotedge logs edgeHub
. Si usa IoT Edge para Linux en Windows, debe conectarse mediante SSH a la máquina virtual Linux para comprobar las versiones del módulo de runtime.
Comprender las etiquetas de IoT Edge
Las imágenes del Agente de IoT Edge y del centro de IoT Edge se etiquetan con la versión de IoT Edge a la que están asociadas. Hay dos maneras diferentes de usar etiquetas con las imágenes del entorno de ejecución:
Etiquetas graduales: use solo los dos primeros valores del número de versión para obtener la imagen más reciente que coincida con esos dígitos. Por ejemplo, 1.1 se actualiza cada vez que hay una nueva versión para que apunte a la versión 1.1.x más reciente. Si el entorno de ejecución del contenedor en el dispositivo IoT Edge extrae la imagen de nuevo, se actualizan los módulos del entorno de ejecución a la versión más reciente. Las implementaciones desde el portal de Azure tienen como valor predeterminado las etiquetas continuas. Este enfoque se sugiere con fines de desarrollo.
Etiquetas específicas: use los tres valores del número de versión para establecer explícitamente la versión de la imagen. Por ejemplo, la versión 1.1.0 no cambiará después de su lanzamiento inicial. Puede declarar un nuevo número de versión del manifiesto de implementación cuando esté listo para actualizar. Este enfoque se sugiere con fines de producción.
Actualizar una imagen de etiqueta rodante
Si usa etiquetas cambiantes en la implementación (por ejemplo, mcr.microsoft.com/azureiotedge-hub:1.1), debe forzar el tiempo de ejecución del contenedor en el dispositivo para descargar la versión más reciente de la imagen.
Elimine la versión local de la imagen del dispositivo IoT Edge. En equipos con Windows, al desinstalar el subsistema de seguridad también se quitan las imágenes en tiempo de ejecución, por lo que no es necesario volver a realizar este paso.
docker rmi mcr.microsoft.com/azureiotedge-hub:1.1
docker rmi mcr.microsoft.com/azureiotedge-agent:1.1
Es posible que tenga que usar la marca -f
de fuerza para eliminar las imágenes.
El servicio IoT Edge extraerá las versiones más recientes de las imágenes en tiempo de ejecución y las iniciará automáticamente en el dispositivo de nuevo.
Actualizar la imagen de una etiqueta específica
Si usa etiquetas específicas en la implementación (por ejemplo, mcr.microsoft.com/azureiotedge-hub:1.1.1), todo lo que debe hacer es actualizar la etiqueta en el manifiesto de implementación y aplicar los cambios en el dispositivo.
En IoT Hub en Azure Portal, seleccione el dispositivo IoT Edge y luego Establecer módulos.
En la sección Módulos de IoT Edge, seleccione Configuración del entorno de ejecución.
En Configuración de ejecución, actualice el valor Image para Edge Hub con la versión deseada. No seleccione Guardar todavía.
Contraiga la configuración de Edge Hub o desplácese hacia abajo y actualice el valor de imagen para Edge Agent con la misma versión deseada.
Selecciona Guardar.
Seleccione Revisar y crear, revise la implementación y seleccione Crear.
Caso especial: actualización de la versión 1.0 o 1.1 a la versión más reciente
A partir de la versión 1.2, el servicio IoT Edge usa un nuevo nombre de paquete y tiene algunas diferencias en los procesos de instalación y configuración. Si tiene un dispositivo IoT Edge que ejecute la versión 1.0 o 1.1, siga estas instrucciones para obtener información sobre cómo actualizar a la versión más reciente.
Algunas de las principales diferencias entre la versión más reciente y la versión 1.1 y anteriores incluyen:
- El nombre del paquete cambió de iotedge a aziot-edge.
- El paquete libiothsm-std ya no se usa. Si usó el paquete estándar proporcionado como parte de la versión de IoT Edge, las configuraciones se pueden transferir a la nueva versión. Si ha usado una implementación diferente de libiothsm-std, los certificados proporcionados por el usuario, como el certificado de identidad del dispositivo, la ENTIDAD de certificación del dispositivo y el conjunto de confianza, deben volver a configurarse.
- Se introdujo un nuevo servicio de identidad, aziot-identity-service como parte de la versión 1.2. Este servicio controla el aprovisionamiento y la administración de identidades para IoT Edge y para otros componentes de dispositivo que necesitan comunicarse con IoT Hub, como Device Update para IoT Hub.
- El archivo de configuración predeterminado tiene un nombre y una ubicación nuevos. Anteriormente
/etc/iotedge/config.yaml
, ahora se espera que la información de configuración del dispositivo esté en/etc/aziot/config.toml
de forma predeterminada. El comandoiotedge config import
se puede usar para ayudar a migrar la información de configuración de la ubicación y la sintaxis anteriores a las nuevas.- El comando import no puede detectar ni modificar reglas de acceso al módulo de plataforma segura (TPM) de un dispositivo. Si el dispositivo usa la atestación de TPM, debe actualizar manualmente el archivo /etc/udev/rules.d/tpmaccess.rules para conceder acceso al servicio aziottpm. Para obtener más información, consulte Dar acceso de IoT Edge al TPM.
- La API de carga de trabajo de la versión más reciente guarda los secretos cifrados en un nuevo formato. Si actualiza de una versión anterior a la versión más reciente, se importa la clave de cifrado maestra existente. La API de carga de trabajo puede leer secretos guardados en el formato anterior mediante la clave de cifrado importada. Sin embargo, la API de carga de trabajo no puede escribir secretos cifrados en el formato anterior. Una vez que un módulo vuelve a cifrar un secreto, se guarda en el nuevo formato. Los secretos cifrados en la versión más reciente no son legibles por el mismo módulo de la versión 1.1. Si conserva los datos cifrados en una carpeta o volumen montados en el host, cree siempre una copia de seguridad de los datos antes de actualizar para conservar la capacidad de retroceder si es necesario.
- Por motivos de compatibilidad con versiones anteriores al conectar dispositivos que no admiten TLS 1.2, puede configurar edge Hub para que siga aceptando TLS 1.0 o 1.1 a través de la variable de entorno SslProtocols de . Tenga en cuenta que la compatibilidad con TLS 1.0 y 1.1 en IoT Hub se considera obsoleta y podría también eliminarse de Edge Hub en futuras versiones. Para evitar problemas futuros, use TLS 1.2 como la única versión de TLS al conectarse a Edge Hub o IoT Hub.
- La versión preliminar del agente MQTT experimental de Edge Hub 1.2 ha finalizado y no se incluye en Edge Hub 1.3 o posterior. Seguimos refinando nuestros planes para un agente MQTT en función de los comentarios recibidos. Mientras tanto, si necesita un agente MQTT compatible con estándares en IoT Edge, considere la posibilidad de implementar un agente de código abierto como Mosquitto como un módulo ioT Edge.
- A partir de la versión 1.2, cuando se quita una imagen de respaldo de un contenedor, el contenedor sigue ejecutándose y se conserva durante los reinicios. En la versión 1.1, cuando se quita una imagen de respaldo, el contenedor se vuelve a crear inmediatamente y se actualiza la imagen de respaldo.
Antes de automatizar los procesos de actualización, valide que funciona en máquinas de prueba.
Cuando esté listo, siga estos pasos para actualizar IoT Edge en los dispositivos:
Actualizar apt.
sudo apt-get update
Desinstale la versión anterior de IoT Edge, dejando los archivos de configuración implementados.
sudo apt-get remove iotedge
Instale la versión más reciente de IoT Edge, junto con el servicio de identidad de IoT y el microagente de Microsoft Defender para IoT para Edge.
sudo apt-get install aziot-edge defender-iot-micro-agent-edge
Se recomienda instalar el microagente con el agente de Edge para habilitar la supervisión de seguridad y la protección de los dispositivos de Edge. Para obtener más información sobre Microsoft Defender para IoT, consulte ¿Qué es Microsoft Defender para IoT para generadores de dispositivos?.
Importe el archivo config.yaml antiguo en su nuevo formato y aplique la información de configuración.
sudo iotedge config import
Ahora que se ha actualizado el servicio IoT Edge que se ejecuta en los dispositivos, siga los pasos descritos en este artículo para Actualizar los contenedores en tiempo de ejecución.
Pasos siguientes
Consulte las últimas versiones de Azure IoT Edge.
Permanezca actualizado con los anuncios y las actualizaciones recientes del blog de Internet de las cosas.