Partage via


Mettre à jour IoT Edge

S’applique à :Coche IoT Edge 1.5 IoT Edge 1.5 Coche IoT Edge 1.4 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 :

  1. Mettre à jour le sous-système de sécurité
  2. Mettre à jour les conteneurs d’exécution
  3. 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 :

  1. Sur l’appareil, arrêtez IoT Edge à l’aide de la commande sudo systemctl stop iotedge et désinstallez.

  2. Sur l’appareil, mettez à niveau votre moteur de conteneur, Docker ou Moby.

  3. 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.

  4. Dans IoT Hub, mettez à jour le déploiement de module de manière à référencer les modules système les plus récents.

  5. 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 defender-iot-micro-agent-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.

Il est recommandé d’installer le micro-agent avec l’agent Edge pour activer la supervision et le renforcement de la sécurité de vos appareils Edge. Pour en savoir plus sur Microsoft Defender pour IoT, consultez Présentation de Microsoft Defender pour IoT pour les générateurs d’appareils.

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.

Capture d’écran de l’emplacement où trouver la version du conteneur dans les journaux de la console.

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.

  1. Dans l’IoT Hub du portail Azure, sélectionnez votre appareil IoT Edge, puis sélectionnez Définir les modules.

  2. Sous l’onglet Modules, sélectionnez Paramètres du runtime.

  3. 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.

  4. 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.

  5. Sélectionnez Appliquer pour enregistrer les modifications.

  6. 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

  1. 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.

  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