Compartir a través de


Ejecución de Azure IoT Edge en máquinas virtuales Ubuntu

Se aplica a:Marca de verificación de IoT Edge 1.5 IoT Edge 1.5

Importante

IoT Edge 1.5 LTS es la versión compatible. IoT Edge 1.4 LTS finaliza su ciclo de vida el 12 de noviembre de 2024. Si está usando una versión anterior, consulte Actualización de IoT Edge.

El entorno de ejecución de Azure IoT Edge convierte un dispositivo en un dispositivo IoT Edge. Implemente el tiempo de ejecución en dispositivos tan pequeños como Raspberry Pi o tan grandes como un servidor industrial. Después de configurar el entorno de ejecución de IoT Edge, implemente la lógica de negocios en el dispositivo desde la nube.

Para más información sobre cómo funciona el entorno de ejecución de IoT Edge y sus componentes, consulte Descripción del entorno de ejecución de Azure IoT Edge y su arquitectura.

En este artículo se enumeran los pasos para implementar una máquina virtual Ubuntu con el entorno de ejecución de Azure IoT Edge instalado y configurado mediante una cadena de conexión de dispositivo proporcionada. La implementación utiliza una plantilla de Azure Resource Manager basada en cloud-init del repositorio del proyecto iotedge-vm-deploy.

En el primer arranque, la máquina virtual instala la versión más reciente del entorno de ejecución de Azure IoT Edge mediante cloud-init. También establece una cadena de conexión proporcionada antes de que se inicie el entorno de ejecución, por lo que puede configurar y conectar rápidamente el dispositivo IoT Edge sin iniciar una sesión de SSH o escritorio remoto.

Implementación con el botón Implementar en Azure

El botón Implementar en Azure le permite implementar rápidamente plantillas de Azure Resource Manager desde GitHub. En esta sección se muestra cómo usar el botón Implementar en Azure en el repositorio de proyectos iotedge-vm-deploy .

  1. Implemente una máquina virtual Linux habilitada para Azure IoT Edge mediante la plantilla iotedge-vm-deploy de Azure Resource Manager. Para empezar, seleccione el botón siguiente:

    Botón Implementar en Azure para iotedge-vm-deploy

  2. En la nueva ventana, escriba los valores de los campos de formulario disponibles:

    Captura de pantalla que muestra la plantilla iotedge-vm-deploy.

    Campo Descripción
    Suscripción suscripción de Azure activa en la que se va a implementar la máquina virtual.
    Grupos de recursos Un grupo de recursos existente o nuevo que contenga la máquina virtual y sus recursos asociados.
    Región Región geográfica donde se implementa la máquina virtual. Este valor tiene como valor predeterminado la ubicación del grupo de recursos seleccionado.
    Prefijo de etiqueta DNS Valor necesario que elija para prefijar el nombre de host de la máquina virtual.
    Nombre de usuario administrador Un nombre de usuario con privilegios de raíz en la implementación.
    Cadena de conexión del dispositivo Una cadena de conexión del dispositivo para un dispositivo que creó en el centro de IoT.
    Tamaño de VM Tamaño de la máquina virtual que se va a implementar.
    Versión del sistema operativo Ubuntu Versión del sistema operativo Ubuntu que se va a instalar en la máquina virtual base.
    Tipo de autenticación Elija sshPublicKey o contraseña en función de sus preferencias.
    Contraseña o clave de administrador El valor de clave pública o contraseña SSH, en función del tipo de autenticación que elija.

    Seleccione Next : Review + create esta opción para revisar los términos y, a continuación, seleccione Crear para iniciar la implementación.

  3. Compruebe que la implementación se completa correctamente. El recurso de máquina virtual se implementa en el grupo de recursos seleccionado. Anote el nombre de la máquina, que tiene el formato vm-0000000000000. Además, tenga en cuenta el nombre DNS asociado, que tiene el formato <dnsLabelPrefix>.<___location>. cloudapp.azure.com.

    Puede encontrar el nombre DNS en la sección Información general de la nueva máquina virtual en Azure Portal.

    Captura de pantalla que muestra el nombre dns de la máquina virtual de IoT Edge.

  4. Si quiere conectarse a través de SSH a la máquina virtual después de la instalación, use el nombre DNS asociado con el comando ssh <adminUsername>@<DNS_Name>.

Implementación desde la CLI de Azure

  1. Asegúrese de instalar la extensión IoT de la CLI de Azure así:

    az extension add --name azure-iot
    
  2. Si está usando la CLI de Azure en su escritorio, empiece iniciando sesión:

    az login
    
  3. Si tiene varias suscripciones, seleccione la que quiera usar:

    1. Muestre las suscripciones:

      az account list --output table
      
    2. Copie el campo SubscriptionID de la suscripción que desea usar.

    3. Configura tu suscripción de trabajo con el ID que copiaste.

      az account set -s <SubscriptionId>
      
  4. Cree un grupo de recursos nuevo (o especifique uno que ya exista en los pasos siguientes):

    az group create --name IoTEdgeResources --___location westus2
    
  5. Creación de una máquina virtual:

    Para usar un authenticationType de password, use el ejemplo siguiente:

    az deployment group create \
    --resource-group IoTEdgeResources \
    --template-uri "https://raw.githubusercontent.com/Azure/iotedge-vm-deploy/main/edgeDeploy.json" \
    --parameters dnsLabelPrefix='my-edge-vm1' \
    --parameters adminUsername='<REPLACE_WITH_USERNAME>' \
    --parameters deviceConnectionString=$(az iot hub device-identity connection-string show --device-id <REPLACE_WITH_DEVICE-NAME> --hub-name <REPLACE-WITH-HUB-NAME> -o tsv) \
    --parameters authenticationType='password' \
    --parameters adminPasswordOrKey="<REPLACE_WITH_SECRET_PASSWORD>"
    

    Para autenticarse con una clave SSH, especifique un authenticationType de tipo sshPublicKey y, tras ello, proporcionando el valor de la clave SSH en el parámetro adminPasswordOrKey. Observe el ejemplo siguiente:

    #Generate the SSH Key
    ssh-keygen -m PEM -t rsa -b 4096 -q -f ~/.ssh/iotedge-vm-key -N ""
    
    #Create a VM using the iotedge-vm-deploy script
    az deployment group create \
    --resource-group IoTEdgeResources \
    --template-uri "https://raw.githubusercontent.com/Azure/iotedge-vm-deploy/main/edgeDeploy.json" \
    --parameters dnsLabelPrefix='my-edge-vm1' \
    --parameters adminUsername='<REPLACE_WITH_USERNAME>' \
    --parameters deviceConnectionString=$(az iot hub device-identity connection-string show --device-id <REPLACE_WITH_DEVICE-NAME> --hub-name <REPLACE-WITH-HUB-NAME> -o tsv) \
    --parameters authenticationType='sshPublicKey' \
    --parameters adminPasswordOrKey="$(< ~/.ssh/iotedge-vm-key.pub)"
    
  6. Compruebe que la implementación se haya completado correctamente. Se debe implementar un recurso de máquina virtual en el grupo de recursos seleccionado. Tome nota del nombre de la máquina, tiene el formato vm-0000000000000. Además, tome nota del nombre DNS asociado, que tiene el formato <dnsLabelPrefix>.<___location>. cloudapp.azure.com.

    Puede obtener el nombre DNS de la salida con formato JSON del paso anterior, en la sección salidas como parte de la entrada SSH pública . Use este valor para SSH en la máquina recién implementada.

    "outputs": {
      "public SSH": {
        "type": "String",
        "value": "ssh <adminUsername>@<DNS_Name>"
      }
    }
    

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

    Captura de pantalla que muestra el nombre dns de la máquina virtual de IoT Edge.

  7. Si quiere conectarse a través de SSH a la máquina virtual después de la instalación, use el nombre DNS asociado con el comando ssh <adminUsername>@<DNS_Name>.

Pasos siguientes

Ahora que aprovisionó un dispositivo IoT Edge con el entorno de ejecución instalado, implemente módulos de IoT Edge.

Si tiene problemas para instalar el entorno de ejecución de IoT Edge, consulte la página de solución de problemas .

Para actualizar una instalación existente a la última versión de IoT Edge, vea Actualice el archivo de configuración del demonio de seguridad y el entorno de ejecución de IoT Edge.

Si desea abrir puertos para acceder a la máquina virtual a través de SSH u otras conexiones entrantes, consulte la documentación de Azure Virtual Machines sobre la apertura de puertos y puntos de conexión en una máquina virtual Linux.