Exercice - Installer le runtime IoT Edge pour Linux

Effectué

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

Créer des ressources cloud

Créer un groupe de ressources

Effectuez les étapes suivantes dans l’environnement Azure Cloud Shell.

  1. Sélectionnez « Bash » en haut à gauche en tant qu’environnement pour votre 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. Donnez un nom à votre IoT Hub et remplacez-le par votre groupe de ressources.

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

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

Installer IoT Edge pour Linux

Remarque

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 à votre système d’exploitation d’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 OCI. Pour 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 vous recevez des erreurs lors de l’installation du moteur de conteneur Moby, vérifiez votre noyau Linux pour la compatibilité de 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 fonctionnalités, activez-les en régénérant votre noyau à partir de la source et en sélectionnant les modules associés à inclure dans le noyau approprié .config. De même, si vous utilisez un générateur de configuration de noyau comme defconfig ou menuconfig, recherchez et activez les fonctionnalités respectives et régénérez votre noyau en conséquence. Une fois que vous avez déployé votre noyau nouvellement modifié, réexécutez le script check-config pour vérifier que toutes les fonctionnalités requises ont été correctement activées.

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

Le démon de sécurité IoT Edge fournit et gère les normes de sécurité sur l’appareil IoT Edge. Le démon démarre sur chaque démarrage et démarre 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é, utilisez la commande suivante qui installe également la dernière version du package libiothsm-std :

    sudo apt-get install iotedge
    

Attribuez à l’appareil son identité cloud

S’authentifier avec des clés symétriques

À ce stade, le runtime IoT Edge est installé sur votre appareil Linux et vous devez approvisionner l’appareil avec ses informations d’identité et d’authentification cloud.

Cette section décrit les étapes de provisionnement d’un appareil avec l’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

Trouvez les configurations d’approvisionnement du fichier et décommentez la section de configuration d’approvisionnement manuelle à l'aide d'une chaîne de connexion, si elle n’est pas déjà décommentée.

```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 d’approvisionnement sont commentées. Assurez-vous que la ligne approvisionnement: n’a pas d’espace blanc précédent et que les éléments imbriqués sont mis en retrait par 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 d’approvisionnement 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