Exercice - Installer le runtime IoT Edge pour Linux

Effectué

Avant de commencer, vous avez besoin des éléments suivants :

Créer des ressources cloud

Créer un groupe de ressources

Dans l’environnement Azure Cloud Shell, effectuez les étapes suivantes.

  1. Sélectionnez « Bash » en haut à gauche comme environnement pour Cloud Shell.

  2. Ajoutez l’extension Azure IoT à l’instance de Cloud Shell.

    az extension add --name azure-iot
    
  3. Créez un groupe de ressources à l’emplacement eastus2 à l’aide de la commande suivante. Donnez un nom à votre groupe de ressources.

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

Créer un appareil IoT Edge dans le hub IoT

  1. Créez un hub IoT de niveau F1 à l’aide de la commande suivante. Attribuez à votre hub IoT le nom de votre groupe de ressources.

    az iot hub create --resource-group <resource-group-name> --name <iot-hub-name> --sku F1 --partition-count 2  
    
  2. Pour pouvoir se connecter, un appareil doit être inscrit auprès de votre service IoT Hub. Exécutez la commande suivante pour créer une identité d’appareil dans votre hub IoT. Attribuez à votre appareil IoT le nom de votre hub IoT.

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

Installer IoT Edge pour Linux

Notes

Accédez à la page Microsoft si vous souhaitez en savoir plus sur l’installation d’IoT Edge pour Linux.

  1. Ouvrez le terminal sur votre ordinateur Linux.

  2. Installez la configuration du référentiel qui correspond au système d’exploitation de votre appareil.

    Ubuntu Server 18.04 :

    curl https://packages.microsoft.com/config/ubuntu/18.04/multiarch/prod.list > ./microsoft-prod.list
    
  3. Copiez la liste générée dans le répertoire sources.list.d.

    sudo cp ./microsoft-prod.list /etc/apt/sources.list.d/
    
  4. Installez la clé publique Microsoft GPG.

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

Installer un moteur de conteneur

Azure IoT Edge s’appuie sur un runtime de conteneur compatible avec OCI. Dans les scénarios de production, nous vous recommandons d’utiliser le moteur Moby. Le moteur Moby est le seul moteur de conteneur officiellement pris en charge avec Azure IoT Edge. Les images conteneur Docker CE/EE sont compatibles avec le runtime Moby.

  1. Mettez à jour les listes de packages sur votre appareil.

    sudo apt-get update
    
  2. Installez le moteur Moby.

    sudo apt-get install moby-engine
    

Si des erreurs surviennent lors de l’installation du moteur de conteneur Moby, vérifiez la compatibilité de votre noyau Linux avec Moby. Certains fabricants d’appareils embarqués livrent des images d’appareils qui contiennent des noyaux Linux personnalisés sans les fonctionnalités nécessaires à la compatibilité du moteur de conteneur. Exécutez la commande suivante, qui utilise le script check-config fourni par Moby pour vérifier la configuration de votre noyau :

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

Dans la sortie du script, vérifiez que tous les éléments sous Generally Necessary et Network Drivers sont activés. Si vous ne disposez pas de certaines fonctionnalités, activez-les en régénérant votre noyau à partir des sources et en sélectionnant les modules associés à inclure dans le noyau .config approprié. De même, si vous utilisez un générateur de configuration du noyau comme defconfig ou menuconfig, trouvez et activez les fonctionnalités respectives et recompilez votre noyau en conséquence. Une fois que vous avez déployé votre nouveau noyau modifié, exécutez à nouveau le script check-config pour vérifier que toutes les fonctionnalités requises ont été activées avec succès.

Installer le démon de sécurité IoT Edge

Le démon de sécurité IoT Edge fournit et gère les standards de sécurité sur l’appareil IoT Edge. Le démon se lance à chaque démarrage et amorce l’appareil en démarrant le reste du runtime IoT Edge.

  1. Mettez à jour les listes de packages sur votre appareil.

    sudo apt-get update
    
  2. Vérifiez les versions d’IoT Edge disponibles.

    apt list -a iotedge
    
  3. Installez la version la plus récente du démon de sécurité, puis utilisez la commande suivante qui installe également la dernière version du package libiothsm-std :

    sudo apt-get install iotedge
    

Provisionnement de l’appareil avec son identité cloud

Authentification avec des clés symétriques

Le runtime IoT Edge est maintenant installé sur votre appareil Linux. Vous devez provisionner l’appareil avec ses informations d’identité et d’authentification cloud.

Cette section décrit la procédure à suivre pour provisionner un appareil avec une authentification par clé symétrique. Vous devez avoir inscrit votre appareil dans IoT Hub et récupéré la chaîne de connexion à partir des informations de l’appareil.

Sur l’appareil IoT Edge, ouvrez le fichier de configuration.

sudo nano /etc/iotedge/config.yaml

Recherchez les configurations d’approvisionnement du fichier et supprimez les marques de commentaire de la section Manual provisioning configuration using a connection string si ce n’est déjà fait.

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

Mettez à jour la valeur de device_connection_string avec la chaîne de connexion à partir de votre appareil IoT Edge. Vérifiez que toutes les autres sections « provisioning » sont commentées. Vérifiez également que la ligne provisioning: n’est pas précédée d’un espace blanc et que les éléments imbriqués sont mis en retrait de deux espaces.

Pour coller le contenu du Presse-papiers dans Nano, cliquez sur le bouton droit en maintenant la touche Maj enfoncée ou appuyez sur Maj+Inser.

Enregistrez et fermez le fichier.

CTRL + X`, `Y`, `Enter

Après avoir entré les informations de provisionnement dans le fichier de configuration, redémarrez le démon :

sudo systemctl restart iotedge

Vérification de la réussite de la configuration

Vérifiez que le runtime a été correctement installé et configuré sur votre appareil IoT Edge.

Vérifiez que le service système IoT Edge est en cours d’exécution.

sudo systemctl status iotedge