Tutoriel : Device Update pour Azure IoT Hub avec l’agent de package sur Ubuntu Server 22.04 x64
Device Update pour Azure IoT Hub prend en charge les mises à jour basées sur une image, un package et un script.
Les mises à jour basées sur un package sont des mises à jour ciblées qui modifient uniquement un composant ou une application spécifique sur l’appareil. Elles réduisent la consommation de bande passante et permettent de réduire le temps de téléchargement et d’installation des mises à jour. Les mises à jour basées sur un package permettent généralement de réduire les temps d’arrêt des appareils lorsque vous appliquez une mise à jour et d’éviter une surcharge liée à la création d’images. Elles utilisent un manifeste apt qui fournit à l’agent Device Update les informations dont il a besoin pour télécharger et installer les packages spécifiés dans le fichier manifeste APT (et leurs dépendances) à partir d’un dépôt désigné.
Ce tutoriel vous guide tout au long de la mise à jour d’Azure IoT Edge sur Ubuntu Server 22.04 x64 à l’aide de l’agent de package Device Update. Bien que le tutoriel illustre l’installation de Microsoft Defender pour IoT, en suivant des étapes similaires, vous pouvez mettre à jour d’autres packages, 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 toujours, même si vous envisagez d’utiliser une autre configuration de plateforme de système d’exploitation. Terminez cette présentation d’un processus de mise à jour de bout en bout. Choisissez ensuite votre formulaire de mise à jour de la plateforme du système d’exploitation de votre choix pour étudier les détails.
Ce didacticiel vous montre comment effectuer les opérations suivantes :
- Téléchargez et installez l’agent Device Update et ses dépendances.
- Ajoutez une étiquette à votre appareil.
- Importez une mise à jour.
- Déployez une mise à jour de package.
- Supervisez le déploiement de la mise à jour.
Prérequis
Si vous ne l’avez pas encore fait, créez un compte et une instance de mise à jour de l’appareil. Configurez un hub IoT.
Vous avez besoin de la chaîne de connexion pour un appareil IoT Edge.
Si vous avez utilisé le tutoriel de l’agent Simulator pour effectuer des tests préalables, exécutez la commande ci-dessous pour appeler le gestionnaire APT et déployer des mises à jour OTA de package dans ce tutoriel :
sudo /usr/bin/AducIotAgent --register-content-handler /var/lib/adu/extensions/sources/libmicrosoft_apt_1.so --update-type 'microsoft/apt:1'
Préparer un appareil
Utiliser le bouton de déploiement automatique sur Azure
Pour des raisons pratiques, ce tutoriel utilise un modèle Azure Resource Manager basé sur cloud-init pour vous aider à configurer rapidement une machine virtuelle Ubuntu 22.04 LTS. Il installe à la fois le runtime Azure IoT Edge et l’agent de mise à jour de l’appareil. Ensuite, il configure automatiquement l’appareil avec des informations de configuration en utilisant la chaîne de connexion de l’appareil pour un appareil IoT Edge (condition préalable) que vous fournissez. Le modèle Resource Manager évite également d’avoir à démarrer une session SSH pour effectuer l’installation.
Pour commencer, sélectionnez le bouton :
Renseignez les zones de texte disponibles :
- Abonnement: Abonnement Azure actif dans lequel déployer la machine virtuelle.
- Groupe de ressources : groupe de ressources existant ou nouvellement créé pour contenir la machine virtuelle et ses ressources associées.
- Region: région géographique dans laquelle déployer la machine virtuelle. Cette valeur est définie par défaut sur l’emplacement du groupe de ressources sélectionné.
- Préfixe d’étiquette DNS : valeur obligatoire de votre choix, utilisée pour préfixer le nom d’hôte de la machine virtuelle.
- Nom d’utilisateur administrateur : nom de l’utilisateur qui est doté de privilèges root sur le déploiement.
- Chaîne de connexion de l’appareil : Chaîne de connexion d’appareil pour un appareil créé dans votre hub IoT prévu.
- Taille de la machine virtuelle : taille de la machine virtuelle à déployer.
- Version du système d’exploitation Ubuntu : Version du système d’exploitation Ubuntu à installer sur la machine virtuelle de base. Laissez la valeur par défaut inchangée, car elle est déjà définie sur Ubuntu 22.04-LTS.
- Type d’authentification : choisissez sshPublicKey ou mot de passe selon votre préférence.
- Mot de passe ou clé d’administrateur : valeur de la clé publique SSH ou du mot de passe en fonction du choix du type d’authentification.
Une fois toutes les zones remplies, activez la case à cocher en bas de la page pour accepter les termes du contrat. Sélectionnez Acheter pour commencer le déploiement.
Vérifiez que le déploiement a complètement abouti. 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.
Une ressource de machine virtuelle doit être déployée dans le groupe de ressources sélectionné. Notez le nom de l’ordinateur, qui est au format
vm-0000000000000
. Notez également le nom DNSassocié, qui est au format<dnsLabelPrefix>
.<location>
.cloudapp.azure.com.Vous pouvez trouver le Nom DNS dans la section Vue d’ensemble de la machine virtuelle nouvellement déployée dans le Portail Azure.
Conseil
Pour établir une connexion SSH vers cette machine virtuelle après la configuration, utilisez le Nom DNS associé avec la commande suivante :
ssh <adminUsername>@<DNS_Name>
.Installez l’agent Device Update sur la machine virtuelle.
sudo apt-get install deviceupdate-agent
Ouvrez les détails de configuration (voir comment configurer le fichier de configuration ici avec la commande ci-dessous. Définissez votre connectionType sur « AIS » et connectionData en tant que chaîne vide. Notez que toutes les valeurs avec l’étiquette « Placer la valeur ici » doivent être définies. Consultez Configuration d’un agent Device Update.
sudo nano /etc/adu/du-config.json
Redémarrez l’agent Device Update.
sudo systemctl restart deviceupdate-agent
Les packages logiciels de Device Update pour Azure IoT Hub sont soumis aux termes de contrat de licence suivants :
Lisez les termes du contrat de licence avant d’utiliser un package. Le fait d’installer et d’utiliser un package revient à accepter ces termes. Si vous n’acceptez pas les termes du contrat de licence, n’utilisez pas le package en question.
Ajouter une étiquette à votre appareil
Connectez-vous au portail Azure et accédez à votre hub IoT.
Dans le volet gauche, sous Appareils, recherchez votre appareil IoT Edge et accédez au jumeau d’appareil ou au jumeau de module.
Dans le jumeau de module du module d’agent Device Update, supprimez toutes les valeurs d’étiquette Device Update existantes en leur affectant la valeur Null. Si vous utilisez l’identité d’appareil avec l’agent Device Update, effectuez ces changements sur le jumeau d’appareil.
Ajoutez une nouvelle valeur d’étiquette Device Update comme indiqué ci-dessous :
"tags": { "ADUGroup": "<CustomTagValue>" },
Cette capture d’écran montre la section dans laquelle la balise doit être ajoutée dans le jumeau.
Importer la mise à jour
Accédez à Device Update releases dans GitHub, puis cliquez sur la liste déroulante Assets. Téléchargez
Tutorial_IoTEdge_PackageUpdate.zip
en le sélectionnant. Extrayez le contenu du dossier pour découvrir un exemple de manifeste APT (sample-defender-iot-apt-manifest.json) et son manifeste d’importation correspondant (sample-defender-iot--importManifest.json).Connectez-vous au portail Azure et accédez à votre hub IoT avec Device Update. Dans le volet gauche, sous Gestion automatique des appareils, sélectionnez Mises à jour.
Sélectionnez l’onglet Mises à jour.
Sélectionnez + Importer une nouvelle mise à jour.
Sélectionnez + Sélectionner dans le conteneur de stockage. Sélectionnez un compte existant ou créez-en un en utilisant + Compte de stockage. Sélectionnez ensuite un conteneur existant ou créez-en un en utilisant + Conteneur. Ce conteneur est utilisé pour préparer vos fichiers de mise à jour pour l’importation.
Notes
Nous vous recommandons d’utiliser un nouveau conteneur chaque fois que vous importez une mise à jour pour éviter d’importer accidentellement des fichiers à partir de mises à jour précédentes. Si vous n’utilisez pas un nouveau conteneur, veillez à supprimer tous les fichiers du conteneur existant avant de terminer cette étape.
Dans votre conteneur, sélectionnez Charger et accédez aux fichiers que vous avez téléchargés à l’étape 1. Une fois que vous sélectionnez tous vos fichiers de mise à jour, sélectionnez Charger. Sélectionnez ensuite le bouton Sélectionner pour revenir à la page Importer la mise à jour.
Cette capture d’écran montre l’étape d’importation. Les noms de fichiers peuvent ne pas correspondre à ceux utilisés dans l’exemple.
Sur la page Importer la mise à jour, passez en revue les fichiers à importer. Sélectionnez ensuite Importer la mise à jour pour démarrer le processus d’importation.
Le processus d’importation commence et l’écran passe à la section Historique d’importation. Quand la colonne État indique que l’importation a réussi, sélectionnez l’en-tête Mises à jour disponibles. Vous devez maintenant voir votre mise à jour importée dans la liste.
Pour plus d’informations sur le processus d’importation, consultez Importer une mise à jour vers Device Update.
Afficher les groupes d’appareils
Device Update utilise des groupes pour organiser les appareils. Device Update trie automatiquement les appareils en groupes en fonction des étiquettes et des propriétés de compatibilité qui leur sont attribuées. Chaque appareil appartient à un seul groupe, mais les groupes peuvent avoir plusieurs sous-groupes pour trier différentes classes d’appareils.
Accédez à l’onglet Groupes et déploiements en haut de la page.
Affichez la liste des groupes et le graphique de conformité de 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. En savoir plus sur la conformité des mises à jour.
Vous devez voir un groupe d’appareils qui contient l’appareil simulé que vous avez configuré dans ce tutoriel, ainsi que toutes les mises à jour disponibles pour les appareils du nouveau groupe. Si des appareils ne répondent pas aux exigences de classe d’appareil du groupe, ils apparaissent dans un groupe non valide correspondant. Pour déployer la meilleure mise à jour disponible sur le nouveau groupe défini par l’utilisateur à partir de cet affichage, sélectionnez Déployer à côté du groupe.
Pour plus d’informations sur les balises et les groupes, consultez Gérer les groupes d’appareils.
Déployer la mise à jour
Une fois le groupe créé, vous devriez voir une nouvelle mise à jour disponible pour votre groupe d’appareils, avec un lien vers cette mise à jour sous Meilleure mise à jour. Vous devrez peut-être actualiser une fois.
Pour plus d’informations sur la conformité, consultez Conformité des mises à jour des appareils.
Sélectionnez le groupe cible en sélectionnant le nom du groupe. Vous êtes redirigé vers les détails du groupe sous Informations de base du groupe.
Pour démarrer le déploiement, accédez à l’onglet Déploiement actuel. Sélectionnez le lien de déploiement à côté de la mise à jour souhaitée dans la section Mises à jour disponibles. La meilleure mise à jour disponible pour un groupe donné est indiquée par la mention Optimale.
Planifiez votre déploiement pour qu’il démarre immédiatement ou plus tard. Sélectionnez ensuite 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.
Sous Détails du déploiement, État devient Actif. La mise à jour déployée est marquée avec la mention (déploiement en cours).
Affichez le graphique de conformité pour voir que la mise à jour est maintenant en cours.
Une fois votre appareil correctement mis à jour, vous voyez que votre graphique de conformité et les détails du déploiement sont mis à jour pour concorder.
Surveiller le déploiement de la mise à jour
Sélectionnez l’onglet Historique du déploiement en haut de la page.
Sélectionnez le lien Détails en regard du déploiement que vous avez créé.
Sélectionnez Actualiser pour voir les détails d’état les plus récents.
Vous avez maintenant réussi une mise à jour de package de bout en bout avec Device Update pour IoT Hub sur un appareil Ubuntu Server 22.04 x64.
Nettoyer les ressources
Quand vous n’en avez plus besoin, nettoyez votre compte de mise à jour d’appareil, votre instance et votre hub IoT. Nettoyez également l’appareil IoT Edge si vous avez créé la machine virtuelle via le bouton Déployer sur Azure. Pour nettoyer les ressources, accédez à chaque ressource, puis sélectionnez Supprimer. Nettoyez une instance Device Update avant de nettoyer le compte Device Update.