Mettre à jour IoT Edge
S’applique à : IoT Edge 1.5 IoT Edge 1.4
Important
IoT Edge 1.5 LTS et IoT Edge 1.4 LTS sont des versions prises en charge. IoT Edge 1.4 LTS est en fin de vie le 12 novembre 2024.
Chaque fois que le service IoT Edge publie de nouvelles versions, mettez à jour vos appareils IoT Edge pour obtenir les dernières fonctionnalités et améliorations de la sécurité. Cet article fournit des informations sur la façon de mettre à jour vos appareils IoT Edge quand une nouvelle version est disponible.
Deux composants logiques d’un appareil IoT Edge doivent être mis à jour si vous souhaitez passer à une version plus récente.
Sous-système de sécurité : il s’exécute sur l’appareil, gère les tâches basées sur la sécurité, et démarre les modules au démarrage de l’appareil. Le sous-système de sécurité ne peut être mis à jour qu’à partir de l’appareil lui-même.
Runtime IoT Edge : le runtime IoT Edge est constitué des modules de hub IoT Edge (
edgeHub
) et d’agent IoT Edge (edgeAgent
). Selon la façon dont vous structurez votre déploiement, le runtime peut être mis à jour à partir de l’appareil ou à distance.
Comment effectuer la mise à jour
Utilisez les sections de cet article pour mettre à jour le sous-système de sécurité et les conteneurs d’exécution sur un appareil.
Versions correctives
Lorsque vous effectuez une mise à niveau entre des versions correctives, par exemple de la version 1.4.1 vers la version 1.4.2, l’ordre de mise à jour n’est pas important. Vous pouvez mettre à niveau le sous-système de sécurité et les conteneurs d’exécution dans n’importe quel ordre. Pour effectuer une mise à jour entre versions correctives :
- Mettre à jour le sous-système de sécurité
- Mettre à jour les conteneurs d’exécution
- Vérifier que les versions correspondent
Vous pouvez résoudre les problèmes liés au processus de mise à niveau à tout moment.
Versions majeures ou mineures
Lorsque vous effectuez une mise à niveau entre des versions majeures ou mineures, par exemple de 1.4 à 1.5, mettez à jour le sous-système de sécurité et les conteneurs d’exécution. Avant la publication d’une version, nous testons la combinaison de sous-système de sécurité et de conteneur d’exécution. Pour effectuer une mise à jour entre des versions majeures ou mineures du produit :
Sur l’appareil, arrêtez IoT Edge à l’aide de la commande
sudo systemctl stop iotedge
et désinstallez.Sur l’appareil, mettez à niveau votre moteur de conteneur, Docker ou Moby.
Sur l’appareil, installez IoT Edge.
Si vous importez une ancienne configuration à l’aide de
iotedge config import
, modifiez l’image [agent.config] du fichier/etc/aziot/config.toml
généré de façon à utiliser l’image 1.4 pour edgeAgent.Pour plus d’informations, consultez Configurer les paramètres des appareils IoT Edge.
Dans IoT Hub, mettez à jour le déploiement de module de manière à référencer les modules système les plus récents.
Sur l’appareil, démarrez IoT Edge à l’aide de
sudo iotedge config apply
.
Vous pouvez résoudre les problèmes liés au processus de mise à niveau à tout moment.
Mettre à jour le sous-système de sécurité
Le sous-système de sécurité IoT Edge comprend un ensemble de composants natifs qui doit être mis à jour à l’aide du gestionnaire de package sur l’appareil IoT Edge.
Vérifiez la version du sous-système de sécurité qui s’exécute sur votre appareil à l’aide de la commande iotedge version
. Si vous utilisez IoT Edge pour Linux sur Windows, vous devez vous connecter par protocole SSH à la machine virtuelle Linux pour vérifier la version.
Sur les appareils Linux x64, utilisez apt-get
ou votre gestionnaire de package approprié pour mettre à jour le sous-système de sécurité vers la dernière version.
Mettez à jour apt
:
sudo apt-get update
Remarque
Pour savoir comment obtenir la dernière configuration de dépôt Microsoft, consultez les étapes préliminaires pour Installer IoT Edge.
Vérifiez les versions d’IoT Edge disponibles :
apt list -a aziot-edge
Mettez à jour IoT Edge :
sudo apt-get install aziot-edge
L’exécution de apt-get install aziot-edge
met à niveau le sous-système de sécurité et installe le service d’identité, aziot-identity-service
, en tant que dépendance requise.
Ensuite, réappliquez la configuration pour garantir que le système est entièrement mis à jour.
sudo iotedge config apply
Mettre à jour les conteneurs du runtime
La façon dont vous mettez à jour les conteneurs de l’agent IoT Edge et du hub IoT Edge diffère selon que vous utilisez des étiquettes évolutives (par exemple, 1.5) ou des étiquettes spécifiques (par exemple, 1.5.1) dans votre déploiement.
Vérifiez la version des modules de l’agent IoT Edge et du hub IoT Edge sur votre appareil à l’aide des commandes iotedge logs edgeAgent
ou iotedge logs edgeHub
. Si vous utilisez IoT Edge pour Linux sur Windows, vous devez vous connecter par protocole SSH à la machine virtuelle Linux pour vérifier les versions des modules d’exécution.
Comprendre les étiquettes IoT Edge
Les images de l’agent IoT Edge et du hub IoT Edge sont marquées avec la version IoT Edge à laquelle elles sont associées. Il existe deux façons d’utiliser des étiquettes avec les images de runtime :
Étiquettes évolutives : utilisez uniquement les deux premières valeurs du numéro de version pour obtenir la dernière image qui correspond à ces chiffres. Par exemple, la version 1.5 est mise à jour lorsqu’une nouvelle mise en production pointe vers la dernière version 1.5.x. Si le runtime du conteneur sur votre appareil IoT Edge réextrait l’image, les modules de runtime sont mis à jour vers la dernière version. Les déploiements à partir du portail Azure adoptent par défaut des étiquettes évolutives. Cette approche est proposée à des fins de développement.
Étiquettes spécifiques : utilisez les trois valeurs du numéro de version pour définir explicitement la version de l’image. Par exemple, la version 1.5.0 ne changera pas après sa mise en production initiale. Vous pouvez déclarer un nouveau numéro de version dans le manifeste de déploiement quand vous êtes prêt à effectuer une mise à jour. Cette approche est proposée à des fins de production.
Mettre à jour une image avec des étiquettes évolutives
Si vous utilisez des étiquettes évolutives dans votre déploiement (par exemple, mcr.microsoft.com/azureiotedge-hub:1.5), vous devez forcer le runtime du conteneur sur votre appareil à extraire la dernière version de l’image.
Supprimez la version locale de l’image de votre appareil IoT Edge. Sur les ordinateurs Windows, la désinstallation du sous-système de sécurité entraîne également la suppression des images du runtime, ce qui permet de sauter cette étape.
docker rmi mcr.microsoft.com/azureiotedge-hub:1.5
docker rmi mcr.microsoft.com/azureiotedge-agent:1.5
Vous devrez peut-être utiliser l’indicateur -f
(forcer) pour supprimer les images.
Le service IoT Edge extrait les dernières versions des images de runtime et les redémarre automatiquement sur votre appareil.
Mettre à jour une image avec des étiquettes spécifiques
Si vous utilisez des étiquettes spécifiques dans votre déploiement (par exemple, mcr.microsoft.com/azureiotedge-hub:1.4), il vous suffit de mettre à jour l’étiquette dans votre manifeste de déploiement et d’appliquer les modifications à votre appareil.
Dans l’IoT Hub du portail Azure, sélectionnez votre appareil IoT Edge, puis sélectionnez Définir les modules.
Sous l’onglet Modules, sélectionnez Paramètres du runtime.
Dans Paramètres du runtime, mettez à jour la valeur URI d’image dans la section Agent Edge avec la version souhaitée. Par exemple,
mcr.microsoft.com/azureiotedge-agent:1.5
Ne sélectionnez pas encore Appliquer.Sélectionnez l’onglet Hub Edge et mettez à jour la valeur URI d’image avec la même version souhaitée. Par exemple :
mcr.microsoft.com/azureiotedge-hub:1.5
.Sélectionnez Appliquer pour enregistrer les modifications.
Sélectionnez Vérifier + créer, passez en revue le déploiement comme indiqué dans le fichier JSON, puis sélectionner Créer.
Mettre à jour des URI de module partenaire
Si vous utilisez des modules partenaires, mettez à jour vos déploiements de modules avec des URI d’image fournis par le partenaire. Contactez l’éditeur de module IoT Edge pour obtenir l’URI d’image conteneur mise à jour. Mettez à jour les configurations de votre appareil avec le nouvel URI d’image fourni par l’éditeur.
- Connectez-vous au portail Azure et accédez à votre hub IoT.
- Dans le volet de gauche, sélectionnez Appareils sous le menu Gestion des appareils.
- Sélectionnez l’appareil IoT Edge qui utilise le module partenaire dans la liste.
- Dans la barre supérieure, sélectionnez Définir des modules.
- Choisissez le module partenaire IoT Edge que vous souhaitez mettre à jour avec le nouvel URI d’image.
- Mettez à jour la valeur URI de l’image avec le nouvel URI d’image fourni par l’éditeur.
- Sélectionnez Appliquer pour enregistrer les modifications.
- Sélectionnez Vérifier + créer, passez en revue le déploiement comme indiqué dans le fichier JSON, puis sélectionner Créer.
Vérifier que les versions correspondent
Sur votre appareil, utilisez
iotedge version
pour vérifier la version du sous-système de sécurité. La sortie inclut les numéros de version principale, mineure et de révision. Par exemple, iotedge 1.4.2.Dans les paramètres du runtime de déploiement de votre appareil, vérifiez que les versions d’URI d’image edgeHub et edgeAgent correspondent à la version majeure et mineure du sous-système de sécurité. Si la version du sous-système de sécurité est 1.4.2, les versions d’image sont 1.4. Par exemple, mcr.microsoft.com/azureiotedge-hub:1.4 et mcr.microsoft.com/azureiotedge-agent:1.4.
Remarque
Mettez à jour le sous-système de sécurité IoT Edge et les conteneurs d’exécution vers la même version de mise en production prise en charge. Bien que des versions incompatibles soient prises en charge, nous n’avons pas testé toutes les combinaisons de versions.
Pour rechercher la dernière version d’Azure IoT Edge, consultez Versions d’Azure IoT Edge.
Dépannage
Vous pouvez afficher les journaux de votre système à tout moment en exécutant les commandes suivantes à partir de votre appareil.
Commencez à résoudre les problèmes à l’aide de la commande check. Elle exécute une collection de tests de configuration et de connectivité pour les problèmes courants.
sudo iotedge check --verbose
Pour afficher l’état du système IoT Edge, exécutez :
sudo iotedge system status
Pour afficher les journaux des composants hôtes, exécutez :
sudo iotedge system logs
Pour rechercher les problèmes récurrents signalés avec edgeAgent et edgeHub, exécutez :
Veillez à remplacer
<module>
par le nom de votre propre module. S’il n’y a aucun problème, aucune sortie n’est visible.sudo iotedge logs <module>
Pour plus d’informations, consultez Résoudre les problèmes de votre appareil IoT Edge.
Étapes suivantes
Déterminez les dernières versions d’Azure IoT Edge.
Restez informé des dernières mises à jour et annonces en consultant le blog Internet of Things