Tutoriel : Azure Device Update pour IoT Hub en utilisant l’agent de package Ubuntu 22.04
Device Update pour Azure IoT Hub prend en charge les mises à jour basées sur une image, un package et un script. Ce tutoriel montre la mise à jour de package de bout en bout en utilisant l’agent de package Device Update Ubuntu Server 22.04 x64 pour mettre à jour Azure IoT Edge.
Les mises à jour basées sur des packages sont destinées à modifier uniquement un composant ou une application d’appareil spécifique. Ces mises à jour ont une faible consommation de bande passante et des temps d’installation et de téléchargement plus courts que les mises à jour basées sur une image, ce qui permet de réduire le temps d’arrêt des appareils et d’éviter les frais généraux de création d’images. Dans une mise à jour basée sur un package, un manifeste APT fournit à l’agent Device Update les informations dont il a besoin pour télécharger et installer les packages spécifiés et leurs dépendances à partir d’un référentiel désigné.
Ce tutoriel vous guide tout au long de l’installation de Microsoft Defender pour IoT, mais vous pouvez mettre à jour d’autres packages en utilisant des étapes similaires, tels que l’IoT Edge lui-même ou le moteur de conteneur qu’il utilise. Les outils et les concepts de ce tutoriel s’appliquent, même si vous utilisez une autre configuration de plateforme de système d’exploitation.
Dans ce tutoriel, vous allez :
- Téléchargez et installez l’agent Device Update et ses dépendances.
- Ajoutez une balise de groupe à votre appareil.
- Importez la mise à jour du package.
- Déployez la mise à jour du package.
- Affichez l’historique de déploiement des mises à jour.
Prérequis
- Un compte et une instance Device Update configurés avec un hub IoT.
- Un appareil Azure IoT Edge inscrit dans le hub IoT avec la chaîne de connexion copiée.
Préparer l’appareil
Pour des raisons pratiques, ce tutoriel utilise un modèle Azure Resource Manager (ARM) basé sur cloud-init pour configurer rapidement une machine virtuelle Ubuntu 22.04 LTS. Le modèle installe à la fois le runtime IoT Edge et l’agent de package Device Update, puis configure automatiquement l’appareil avec des informations d’approvisionnement en utilisant la chaîne de connexion d’appareil IoT Edge que vous fournissez. L’utilisation du modèle ARM évite également d’avoir à démarrer une session Secure Shell (SSH) pour effectuer la configuration.
Pour exécuter le modèle, sélectionnez le bouton Déployer sur Azure :
Renseignez les informations suivantes :
- Abonnement : abonnement Azure actif dans lequel déployer la machine virtuelle.
- Groupe de ressources : un groupe de ressources existant ou nouveau destiné à contenir la machine virtuelle et ses ressources.
- Région : région géographique dans laquelle déployer la machine virtuelle. Par défaut, il s’agit de l’emplacement du groupe de ressources.
- Préfixe d’étiquette DNS : valeur à préfixer au nom d’hôte de la machine virtuelle.
- Nom d’utilisateur d’administrateur : nom d’utilisateur à fournir avec des privilèges racines au moment du déploiement.
- Type d’authentification : choisissez sshPublicKey ou mot de passe.
- Mot de passe d’administrateur ou Source de clé publique SSH, Type de clé SSH, Nom de paire de clés : mot de passe ou informations sur la clé publique en fonction du choix du type d’authentification.
- Taille de machine virtuelle : taille de la machine virtuelle à déployer.
- Version de système d’exploitation Ubuntu : conservez 22_04-lts.
- Chaîne de connexion d’appareil : chaîne de connexion IoT Edge que vous avez copiée précédemment.
Au bas de la page, sélectionnez Examiner et créer. Une fois la validation réussie, sélectionnez Créer pour démarrer le déploiement de modèle.
Vérifiez que le déploiement se termine correctement, puis patientez quelques minutes après la fin du déploiement, le temps que la post-installation et la configuration terminent l’installation d’IoT Edge et de l’agent de package Device Update.
Vous devriez voir une ressource de machine virtuelle dans le groupe de ressources sélectionné. Notez le nom de l’ordinateur, qui est au format
vm-0000000000000
. Sélectionnez le nom de la machine virtuelle et, sur la page Vue d’ensemble de la machine virtuelle, notez le Nom DNS qui est au format<dnsLabelPrefix>
.<location>.cloudapp.azure.com
.
Conseil
Si vous souhaitez établir une connexion SSH vers cette machine virtuelle après la configuration, utilisez le Nom DNS avec la commande ssh <admin username>@<DNS name>
.
Installer l’agent Device Update sur la machine virtuelle
Important
Le logiciel Azure Device Update pour IoT Hub est soumis aux termes de contrat de licence suivants :
Lisez les termes du contrat de licence avant d’utiliser l’agent. L’installation et l’utilisation de l’agent vaut pour acception de ces termes. Si vous n’acceptez pas les termes du contrat de licence, n’utilisez pas l’agent Device Update.
Pour installer l’agent Device Update sur la machine virtuelle, exécutez la commande suivante.
sudo apt-get install deviceupdate-agent
Ouvrez le fichier des détails de la configuration du-config.json en utilisant la commande suivante.
sudo nano /etc/adu/du-config.json
Dans le fichier, remplacez toutes les valeurs
<placeholder>
par votre propre configuration. Définissez votreconnectionType
comme"AIS"
etconnectionData
en tant que chaîne vide. Pour découvrir un exemple de fichier, consultez Exemple du contenu du fichier du-config.json.Redémarrez l’agent Device Update en exécutant la commande suivante.
sudo systemctl restart deviceupdate-agent
Remarque
Si vous avez précédemment utilisé l’agent du simulator sur cet appareil, exécutez la commande suivante pour appeler le gestionnaire APT et déployer des mises à jour OTA (over-the-air) de package pour ce tutoriel.
sudo /usr/bin/AducIotAgent --register-content-handler /var/lib/adu/extensions/sources/libmicrosoft_apt_1.so --update-type 'microsoft/apt:1'
Ajouter une balise de groupe à votre appareil
Device Update organise automatiquement les appareils en groupes en fonction des balises et des propriétés de compatibilité qui leur sont attribuées. Chaque appareil ne peut appartenir qu’à un seul groupe, mais les groupes peuvent avoir plusieurs sous-groupes pour trier différentes classes d’appareils. Pour plus d’informations sur les balises et les groupes, consultez Gérer les groupes d’appareils.
Sur la page du hub IoT du Portail Azure pour votre instance Device Update, sélectionnez Gestion des périphériques>Appareils dans le volet de navigation gauche.
Accédez au Jumeau d’appareil ou jumeau d’Identité de module de votre appareil.
Dans le fichier Jumeau d’identité de module du jumeau d’appareil ou de l’agent Device Update, supprimez les valeurs de balise Device Update existantes en les définissant sur
null
, puis ajoutez la nouvelle balise de groupe Device Update suivante.Si vous utilisez une identité d’appareil avec l’agent Device Update, apportez ces modifications sur le jumeau d’appareil. Si vous utilisez une identité de module avec le module d’agent Device Update, ajoutez la balise dans le Jumeau d’identité de module.
"tags": { "ADUGroup": "<GroupTagValue>" },
La capture d’écran suivante montre l’emplacement d’ajout de la balise dans le fichier.
Cliquez sur Enregistrer.
Importer la mise à jour
Le fichier Tutorial_IoTEdge_PackageUpdate.zip a les fichiers nécessaires pour le tutoriel.
Téléchargez le fichier Tutorial_IoTEdge_PackageUpdate.zip dans la section Ressources de la dernière mise en production sur la page Versions Device Update GitHub.
Décompressez le fichier . Le dossier Tutorial_IoTEdge_PackageUpdate contient l’exemple de manifeste APT sample-defender-iot-apt-manifest.json et son manifeste d’importation sample-defender-iot--importManifest.json correspondant.
Sur la page du hub IoT du Portail Azure pour votre instance Device Update, sélectionnez Gestion des périphériques>Mises à jour dans le volet de navigation gauche.
Sur la page Mises à jour, sélectionnez Importer une nouvelle mise à jour.
Sur la page Importer une mise à jour, sélectionnez Sélectionner dans le conteneur de stockage.
Sur la page Comptes de stockage, sélectionnez un compte de stockage existant ou créez-en un en sélectionnant Compte de stockage.
Sur la page Conteneurs, sélectionnez un conteneur existant ou créez-en un en sélectionnant Conteneur. Le conteneur vous permet d’indexer les fichiers de mise à jour pour l’importation.
Conseil
Pour éviter d’importer accidentellement des fichiers de mises à jour précédentes, utilisez un nouveau conteneur chaque fois que vous importez une mise à jour. Si vous n’utilisez pas de nouveau conteneur, veillez à supprimer tous les fichiers du conteneur existant.
Sur la page du conteneur, sélectionnez Charger, glissez-déposez ou parcourez et sélectionnez les fichiers de mise à jour téléchargés, puis sélectionnez Charger. Après leur chargement, les fichiers s’affichent sur la page du conteneur.
Vérifiez et sélectionnez les fichiers à importer, puis sélectionnez Sélectionner.
Sur l’écran Importer la mise à jour, sélectionnez Importer la mise à jour.
Le processus d’importation commence et l’écran Mises à jour s’affiche. À l’issue de l’importation, celle-ci apparaît sous l’onglet Mises à jour. Pour plus d’informations sur le processus d’importation, consultez Importer une mise à jour vers Device Update.
Sélectionner le groupe d’appareils
Vous pouvez utiliser la balise de groupe que vous avez appliquée à votre appareil pour déployer la mise à jour sur le groupe d’appareils. Sélectionnez l’onglet Groupes et déploiements dans la partie supérieure de la page Mises à jour pour voir la liste des groupes et des déploiements et le graphique de conformité de la mise à jour.
Le graphique de conformité des mises à jour montre le nombre d’appareils dans différents états de conformité : À la mise à jour la plus récente, Nouvelles mises à jour disponibles et Mises à jour en cours. Pour plus d’informations, consultez Conformité de Device Update.
Sous Nom de groupe figure la liste de tous les groupes d’appareils pour les appareils connectés à ce hub IoT et leurs mises à jour disponibles, avec des liens pour déployer les mises à jour sous État. Les appareils qui ne répondent pas aux exigences de classe d’appareil d’un groupe s’affichent dans un groupe non valide correspondant. Pour plus d’informations sur les balises et les groupes, consultez Gérer les groupes d’appareils.
Vous devriez y trouver le groupe d’appareils qui contient l’appareil que vous avez configuré dans ce tutoriel, de même que les mises à jour disponibles pour les appareils du groupe. Vous devrez probablement actualiser la page. Pour déployer la meilleure mise à jour disponible sur le groupe à partir de cet affichage, sélectionnez Déployer à côté du groupe.
Déployer la mise à jour
Sur la page Détails du groupe, sélectionnez l’onglet Déploiement actuel, puis Déployer à côté de la mise à jour souhaitée dans la section Mises à jour disponibles. La meilleure mise à jour disponible pour le groupe est désignée par une mise en surbrillance Optimale.
Sur la page Créer un déploiement, planifiez le démarrage de votre déploiement (immédiat ou futur), puis sélectionnez Créer.
Conseil
Par défaut, la date et l’heure de Début est définie sur 24 heures à partir de votre heure actuelle. Veillez à sélectionner une autre date et heure si vous souhaitez que le déploiement commence plus tôt.
Sur la page Détails du groupe sous Détails du déploiement, l’État devient Actif. Sous Mises à jour disponibles, la mise à jour sélectionnée est marquée avec (déploiement).
Sous l’onglet Groupes et déploiements de la page Mises à jour, affichez le graphique de conformité pour voir que la mise à jour est maintenant en cours. Une fois votre appareil correctement mis à jour, les détails du déploiement et le graphique de conformité se mettent à jour pour refléter cet état.
Afficher l’historique des déploiements de mises à jour
Sélectionnez l’onglet Historique des déploiements en haut de la page Détails du groupe, sélectionnez le lien détails à côté du déploiement créé.
Sur la page Détails du déploiement, sélectionnez l’icône Actualiser pour afficher les derniers détails de l’état.
Nettoyer les ressources
Dès lors que vous n’avez plus besoin des ressources que vous avez créées pour ce tutoriel, vous pouvez les supprimer.
- Dans le Portail Azure, accédez au groupe de ressources qui contient les ressources.
- Si vous voulez supprimer toutes les ressources dans le groupe, sélectionnez Supprimer le groupe de ressources.
- Si vous souhaitez supprimer seulement certaines ressources, utilisez les cases à cocher pour sélectionner les ressources en question, puis sélectionnez Supprimer.