Ejercicio: Instalación del entorno de ejecución de Azure IoT Edge para Linux

Completado

Antes de empezar, necesitará lo siguiente:

Creación de recursos en la nube

Crear un grupo de recursos

Siga estos pasos en el entorno de Azure Cloud Shell.

  1. Seleccione "Bash" en la parte superior izquierda como entorno de Cloud Shell.

  2. Agregue la extensión de Azure IoT a la instancia de Cloud Shell.

    az extension add --name azure-iot
    
  3. Cree un grupo de recursos en la ubicación eastus2 con el comando siguiente. Asigne un nombre al grupo de recursos.

    az group create --name <resource-group-name> --location eastus2   
    

Creación de un dispositivo IoT Edge en el centro de IoT

  1. Cree un centro de IoT de nivel F1 con el comando siguiente. Asigne un nombre al centro de IoT y reemplácelo por el grupo de recursos.

    az iot hub create --resource-group <resource-group-name> --name <iot-hub-name> --sku F1 --partition-count 2  
    
  2. Se debe registrar un dispositivo con IoT Hub para poder conectarlo. Ejecute el comando siguiente para crear una identidad de dispositivo en el centro de IoT. Asigne un nombre al dispositivo IoT y reemplácelo por el centro de IoT.

    az iot hub device-identity create --hub-name <iot-hub-name> --device-id <device-id>
    

Instalación de IoT Edge para Linux

Nota:

Si quiere obtener más información sobre la instalación de IoT Edge para Linux, vaya a la página de Microsoft.

  1. Abra el terminal en el equipo Linux.

  2. Instale la configuración del repositorio que coincida con el sistema operativo del dispositivo.

    Ubuntu Server 18.04:

    curl https://packages.microsoft.com/config/ubuntu/18.04/multiarch/prod.list > ./microsoft-prod.list
    
  3. Copie la lista generada en el directorio sources.list.d.

    sudo cp ./microsoft-prod.list /etc/apt/sources.list.d/
    
  4. Instale la clave pública de GPG de Microsoft.

    curl https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > microsoft.gpg
    sudo cp ./microsoft.gpg /etc/apt/trusted.gpg.d/
    

Instalación de un motor del contenedor

Azure IoT Edge utiliza un runtime de contenedor compatible con OCI. En los escenarios de producción, se recomienda utilizar el motor de Moby. El motor Moby es el único motor de contenedor compatible oficialmente con Azure IoT Edge. Las imágenes de contenedor de Docker CE/EE son totalmente compatibles con el entorno de ejecución de Moby.

  1. Actualice las listas de paquetes en el dispositivo.

    sudo apt-get update
    
  2. Instale el motor de Moby.

    sudo apt-get install moby-engine
    

Si recibe algún error al instalar el motor del contenedor Moby, compruebe la compatibilidad con Moby del kernel de Linux. Algunos fabricantes de dispositivos incrustados distribuyen imágenes de dispositivos que contienen kernels de Linux personalizados sin las características necesarias para la compatibilidad del motor del contenedor. Ejecute el siguiente comando, que usa el script check-config suministrado por Moby, para comprobar la configuración del kernel:

curl -sSL https://raw.githubusercontent.com/moby/moby/master/contrib/check-config.sh -o check-config.sh
chmod +x check-config.sh
./check-config.sh

En la salida del script, compruebe que todos los elementos que figuran en Generally Necessary y Network Drivers estén habilitados. Si faltan características, puede habilitarlas volviendo a generar el kernel a partir del origen y seleccionando los módulos asociados para incluirlos en el archivo .config del kernel adecuado. Igualmente, si usa un generador de configuración de kernel como defconfig o menuconfig, busque y habilite las características correspondientes y vuelva a generar el kernel como corresponda. Una vez que haya implementado el kernel recién modificado, vuelva a ejecutar el script check-config para comprobar que se han habilitado correctamente todas las características necesarias.

Instalación del demonio de seguridad de IoT Edge

El demonio de seguridad de IoT Edge proporciona y mantiene los estándares de seguridad en el dispositivo IoT Edge. El demonio se inicia en cada arranque e inicia el resto del entorno de ejecución de IoT Edge para arrancar el dispositivo.

  1. Actualice las listas de paquetes en el dispositivo.

    sudo apt-get update
    
  2. Compruebe qué versiones de IoT Edge están disponibles.

    apt list -a iotedge
    
  3. Instale la versión más reciente del demonio de seguridad. Use el comando siguiente, que también instala la versión más reciente del paquete libiothsm-std.

    sudo apt-get install iotedge
    

Aprovisionamiento del dispositivo con su identidad de nube

Autenticación con claves simétricas

En este momento, el entorno de ejecución de IoT Edge se instala en el dispositivo Linux y debe aprovisionar el dispositivo con su información de identidad de nube y autenticación.

En esta sección se explican los pasos necesarios para aprovisionar un dispositivo con la autenticación de clave simétrica. Debe haber registrado el dispositivo en IoT Hub y recuperar la cadena de conexión de la información del dispositivo.

Abra el archivo de configuración en el dispositivo IoT Edge.

sudo nano /etc/iotedge/config.yaml

Busque las configuraciones de aprovisionamiento del archivo y quite la marca de comentario de la sección Manual provisioning configuration using a connection string, si aún no se ha hecho.

```toml
# Manual provisioning configuration using a connection string
provisioning:
  source: "manual"
  device_connection_string: "<ADD DEVICE CONNECTION STRING HERE>"
```

Actualice el valor de device_connection_string con la cadena de conexión desde un dispositivo IoT Edge. Compruebe que cualquier otra sección de aprovisionamiento esté comentada. Asegúrese de que la línea provisioning: no tenga ningún espacio en blanco antes y que los elementos anidados tengan una sangría de dos espacios.

Para pegar el contenido del Portapapeles en Nano, presione Mayús y haga clic con el botón derecho o presione Mayús+Insertar.

Guarde y cierre el archivo.

CTRL + X`, `Y`, `Enter

Después de especificar la información de aprovisionamiento en el archivo de configuración, reinicie el demonio:

sudo systemctl restart iotedge

Comprobación de configuración correcta

Compruebe que el runtime se ha instalado y configurado correctamente en el dispositivo de IoT Edge.

Compruebe que el servicio del sistema IoT Edge esté en ejecución.

sudo systemctl status iotedge