Exercice - Installer le runtime IoT Edge pour Linux
Avant de commencer, vous avez besoin des éléments suivants :
- Un abonnement Microsoft Azure. Si vous n’en avez pas, vous pouvez vous inscrire à une évaluation gratuite dans la page https://azure.microsoft.com/free . Si vous êtes étudiant, inscrivez-vous pour obtenir un compte Azure for Students.
Créer des ressources cloud
Créer un groupe de ressources
Dans l’environnement Azure Cloud Shell, effectuez les étapes suivantes.
Sélectionnez « Bash » en haut à gauche comme environnement pour Cloud Shell.
Ajoutez l’extension Azure IoT à l’instance de Cloud Shell.
az extension add --name azure-iot
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
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
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.
Ouvrez le terminal sur votre ordinateur Linux.
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
Copiez la liste générée dans le répertoire sources.list.d.
sudo cp ./microsoft-prod.list /etc/apt/sources.list.d/
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.
Mettez à jour les listes de packages sur votre appareil.
sudo apt-get update
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.
Mettez à jour les listes de packages sur votre appareil.
sudo apt-get update
Vérifiez les versions d’IoT Edge disponibles.
apt list -a iotedge
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