Freigeben über


Aktualisieren von IoT Edge

Gilt für: Häkchen für IoT Edge 1.5 IoT Edge 1.5 IoT Edge 1.4 Häkchen IoT Edge 1.4

Wichtig

IoT Edge 1.5 LTS und IoT Edge 1.4 LTS sind unterstützte Releases. Das Ende der Lebensdauer von IoT Edge 1.4 LTS wird am 12. November 2024 erreicht.

Wenn neue Versionen des IoT Edge-Diensts veröffentlicht werden, aktualisieren Sie Ihre IoT Edge-Geräte, damit sie über die neuesten Funktionen und Sicherheitsverbesserungen verfügen. Dieser Artikel enthält Informationen zum Aktualisieren Ihrer IoT Edge-Geräte, wenn eine neue Version verfügbar ist.

Zwei logische Komponenten eines IoT Edge-Geräts müssen bei der Umstellung auf eine neuere Version aktualisiert werden.

  • Sicherheitssubsystem: Es wird auf dem Gerät ausgeführt, verarbeitet sicherheitsbasierte Aufgaben und startet die Module, wenn das Gerät gestartet wird. Das Sicherheitssubsystem kann nur vom Gerät selbst aktualisiert werden.

  • IoT Edge-Runtime: Die IoT Edge-Runtime besteht aus dem IoT Edge-Hub-Modul (edgeHub) und dem IoT Edge-Agent-Modul (edgeAgent). Je nachdem, wie Ihre Bereitstellung strukturiert ist, kann die Runtime vom Gerät oder remote aktualisiert werden.

Durchführen der Aktualisierung

Verwenden Sie die Abschnitte dieses Artikels, um sowohl das Sicherheitssubsystem als auch die Runtimecontainer auf einem Gerät zu aktualisieren.

Patchreleases

Wenn Sie ein Upgrade zwischen Patchreleases durchführen, z. B. von 1.4.1 auf 1.4.2, ist die Updatereihenfolge nicht wichtig. Sie können das Sicherheitssubsystem oder die Runtimecontainer vor oder nach der jeweils anderen Komponente aktualisieren. So aktualisieren Sie zwischen Patchreleases

  1. Aktualisieren des Sicherheitssubsystems
  2. Aktualisieren der Runtimecontainer
  3. Überprüfen der Versionsübereinstimmung

Sie können jederzeit eine Problembehandlung für den Upgradevorgang durchführen.

Haupt- oder Nebenversionen

Wenn Sie ein Upgrade zwischen Haupt- oder Nebenversionen durchführen, z. B. von 1.4 auf 1.5, aktualisieren Sie sowohl das Sicherheitssubsystem als auch die Runtimecontainer. Vor einem Release testen wir die Kombination aus Sicherheitssubsystem und Runtimecontainer. So führen Sie eine Aktualisierung zwischen Haupt- oder Nebenversionen von Produkten aus

  1. Beenden Sie IoT Edge auf dem Gerät mithilfe des Befehls sudo systemctl stop iotedge, und deinstallieren Sie den Dienst.

  2. Aktualisieren Sie auf dem Gerät die Containerengine, entweder Docker oder Moby.

  3. Installieren Sie IoT Edge auf dem Gerät.

    Wenn Sie eine alte Konfiguration mit iotedge config import importieren, ändern Sie das Image [agent.config] der generierten Datei /etc/aziot/config.toml, um das 1.4-Image für edgeAgent zu verwenden.

    Weitere Informationen finden Sie unter Konfigurieren der IoT Edge-Geräteeinstellungen.

  4. Aktualisieren Sie in IoT Hub die Modulbereitstellung, um auf die neuesten Systemmodule zu verweisen.

  5. Starten Sie auf dem Gerät IoT Edge mithilfe von sudo iotedge config apply.

Sie können jederzeit eine Problembehandlung für den Upgradevorgang durchführen.

Aktualisieren des Sicherheitssubsystems

Das IoT Edge-Sicherheitssubsystem enthält eine Gruppe von nativen Komponenten, die auf dem IoT Edge-Gerät mithilfe des Paket-Managers aktualisiert werden müssen.

Überprüfen Sie die Version des auf Ihrem Gerät ausgeführten Sicherheitssubsystems mithilfe des Befehls iotedge version. Wenn Sie IoT Edge für Linux unter Windows verwenden, müssen Sie eine SSH-Verbindung mit dem virtuellen Linux-Computer erstellen, um die Version zu überprüfen.

Verwenden Sie auf Linux x64-Geräten apt-get oder einen geeigneten Paket-Manager, um das Sicherheitssubsystem auf die neueste Version zu aktualisieren.

Aktualisieren Sie apt:

sudo apt-get update

Hinweis

Anleitungen zum Herunterladen der neuesten Repositorykonfiguration von Microsoft finden Sie in den vorbereitenden Schritten zum Installieren von IoT Edge.

Überprüfen Sie, welche IoT Edge-Versionen verfügbar sind:

apt list -a aziot-edge

Aktualisieren Sie IoT Edge:

sudo apt-get install aziot-edge

Durch das Ausführen von apt-get install aziot-edge wird das Sicherheitssubsystem aktualisiert und der Identitätsdienst (aziot-identity-service) als erforderliche Abhängigkeit installiert.

Wenden Sie dann die Konfiguration erneut an, um sicherzustellen, dass das System vollständig aktualisiert wird.

sudo iotedge config apply

Aktualisieren der Runtimecontainer

Die Art, auf die Sie die IoT Edge-Agent- und IoT Edge-Hubcontainer aktualisieren, hängt davon ab, ob Sie bei der Bereitstellung fortlaufende Versionstags (wie 1.5) oder spezifische Versionstags (wie 1.5.1) verwenden.

Überprüfen Sie die Version der aktuell auf Ihrem Gerät ausgeführten IoT Edge-Agent- und IoT Edge-Hubmodule mithilfe der Befehle iotedge logs edgeAgent und iotedge logs edgeHub. Wenn Sie IoT Edge für Linux unter Windows verwenden, müssen Sie eine SSH-Verbindung mit dem virtuellen Linux-Computer erstellen, um die Versionen des Runtimemoduls zu überprüfen.

Screenshot: Ermitteln der Containerversion in Konsolenprotokollen

Grundlagen von IoT Edge-Tags

Die IoT Edge-Agent- und IoT Edge-Hubimages sind im Tag mit der IoT Edge-Version gekennzeichnet, der sie zugeordnet sind. Es gibt zwei Möglichkeiten zum Verwenden von Tags mit den Runtime-Images:

  • Fortlaufende Tags: Verwenden Sie nur die ersten zwei Stellen der Versionsnummer, um zum neuesten Image zu gelangen, das mit diesen Stellen übereinstimmt. Sobald eine neue Version veröffentlicht wird, wird 1.5 beispielsweise immer so aktualisiert, dass auf die neueste 1.5.x-Version verwiesen wird. Wenn die Containerruntime auf Ihrem IoT Edge-Gerät das Image erneut per Pull herunterlädt, werden die Laufzeitmodule auf die neueste Version aktualisiert. Bereitstellungen aus dem Azure-Portal weisen standardmäßig fortlaufende Tags auf. Dieses Vorgehen wird für Entwicklungszwecke vorgeschlagen.

  • Spezifische Tags: Verwenden Sie alle drei Stellen der Versionsnummer, um die Imageversion explizit festzulegen. Beispielsweise ändert sich 1.5.0 nach dem ersten Release nicht. Sie können im Bereitstellungsmanifest eine neue Versionsnummer deklarieren, wenn Sie zur Aktualisierung bereit sind. Dieses Vorgehen wird für Produktionszwecke vorgeschlagen.

Aktualisieren eines Images mit fortlaufendem Tag

Wenn Sie in Ihrer Bereitstellung fortlaufende Tags verwenden (Beispiel: mcr.microsoft.com/azureiotedge-hub:1.5), müssen Sie die Containerruntime auf Ihrem Gerät dazu zwingen, per Pull die neueste Version des Images zu laden.

Löschen Sie die lokale Version des Images von Ihrem IoT Edge-Gerät. Auf Windows-Computern werden bei der Deinstallation des Sicherheitssubsystems auch die Runtimeimages entfernt, sodass Sie diesen Schritt nicht erneut ausführen müssen.

docker rmi mcr.microsoft.com/azureiotedge-hub:1.5
docker rmi mcr.microsoft.com/azureiotedge-agent:1.5

Möglicherweise müssen Sie das force-Flag -f verwenden, um die Images zu entfernen.

Der IoT Edge-Dienst pullt die neuesten Versionen der Runtimeimages und startet sie automatisch wieder auf Ihrem Gerät.

Aktualisieren eines Images mit spezifischem Tag

Wenn Sie bei der Bereitstellung spezifische Tags verwenden (z. B. mcr.microsoft.com/azureiotedge-hub:1.4), müssen Sie lediglich das Tag in Ihrem Bereitstellungsmanifest aktualisieren und die Änderungen auf Ihr Gerät anwenden.

  1. Wählen Sie Ihr IoT Edge-Gerät im IoT-Hub im Azure-Portal aus, und klicken Sie dann auf Module festlegen.

  2. Wählen Sie auf der Registerkarte Module die Option Laufzeiteinstellungen aus.

  3. Ändern Sie in den Laufzeiteinstellungen den Wert Image-URI im Abschnitt Edge-Agent in die gewünschte Version. Beispiel: mcr.microsoft.com/azureiotedge-agent:1.5. Wählen Sie noch nicht Übernehmen aus.

  4. Wählen Sie die Registerkarte Edge-Hub aus, und aktualisieren Sie den Wert Image-URI mit derselben gewünschten Version. Beispiel: mcr.microsoft.com/azureiotedge-hub:1.5.

  5. Wählen Sie Übernehmen aus, um Änderungen zu speichern.

  6. Wählen Sie Überprüfen und erstellen aus, überprüfen Sie die Bereitstellung, wie in der JSON-Datei gezeigt, und wählen Sie Erstellen aus.

Aktualisieren von Partnermodul-URIs

Wenn Sie Partnermodule verwenden, aktualisieren Sie Ihre Modulbereitstellungen mit den von den Partnern bereitgestellten Image-URIs. Wenden Sie sich an den Herausgeber des IoT Edge-Moduls, um den aktualisierten Containerimage-URI zu erhalten. Aktualisieren Sie die Gerätekonfigurationen mit dem neuen Image-URI vom Herausgeber.

  1. Melden Sie sich beim Azure-Portal an, und navigieren Sie zu Ihrer IoT Hub-Instanz.
  2. Wählen Sie im linken Bereich unter dem Geräteverwaltung-Menü die Option Geräte aus.
  3. Wählen Sie in der Liste das IoT Edge-Gerät aus, das das Partnermodul verwendet.
  4. Wählen Sie in der oberen Leiste Module festlegen aus.
  5. Wählen Sie das IoT Edge-Partnermodul aus, das Sie mit dem neuen Image-URI aktualisieren möchten.
  6. Aktualisieren Sie den Wert Image-URI mit dem neuen Image-URI vom Herausgeber.
  7. Wählen Sie Übernehmen aus, um Änderungen zu speichern.
  8. Wählen Sie Überprüfen und erstellen aus, überprüfen Sie die Bereitstellung, wie in der JSON-Datei gezeigt, und wählen Sie Erstellen aus.

Überprüfen der Versionsübereinstimmung

  1. Verwenden Sie iotedge version auf Ihrem Gerät, um die Version des Sicherheitssubsystems zu überprüfen. Die Ausgabe enthält die Nummern der Haupt-, Neben- und Revisionsversion. Beispiel: iotedge 1.4.2.

  2. Überprüfen Sie in den Runtimeeinstellungen der Gerätebereitstellung, ob Image-URI-Versionen edgeHub und edgeAgent mit der Haupt- und Nebenversion des Sicherheitssubsystems übereinstimmen. Wenn die Version des Sicherheitssubsystems 1.4.2 lautet, wird für die Imageversionen 1.4 verwenden. Beispiel: mcr.microsoft.com/azureiotedge-hub:1.4 und mcr.microsoft.com/azureiotedge-agent:1.4.

Hinweis

Aktualisieren Sie das IoT Edge-Sicherheitssubsystem und die Runtimecontainer auf dieselbe unterstützte Releaseversion. Obwohl nicht übereinstimmende Versionen unterstützt werden, haben wir nicht alle Versionskombinationen getestet.

Informationen zur neuesten Version von Azure IoT Edge finden Sie unter Azure IoT Edge releases (Azure IoT Edge-Versionen).

Problembehandlung

Sie können Protokolle Ihres Systems jederzeit anzeigen, indem Sie die folgenden Befehle auf Ihrem Gerät aus ausführen.

  • Beginnen Sie mithilfe des check-Befehls mit der Problembehandlung. Er führt verschiedene Konfigurations- und Verbindungstests für allgemeine Probleme aus.

    sudo iotedge check --verbose
    
  • Führen Sie zum Anzeigen des Status des IoT Edge-Systems Folgendes aus:

    sudo iotedge system status 
    
  • Führen Sie Folgendes aus, um Hostkomponentenprotokolle anzuzeigen:

    sudo iotedge system logs
    
  • Führen Sie Folgendes aus, um nach wiederkehrenden Problemen mit edgeAgent und edgeHub zu suchen:

    Ersetzen Sie <module> unbedingt durch Ihren eigenen Modulnamen. Wenn keine Probleme auftreten, wird keine Ausgabe angezeigt.

    sudo iotedge logs <module>
    

Weitere Informationen finden Sie unter Behandeln von Problemen bei Ihrem IoT Edge-Gerät.

Nächste Schritte

Zeigen Sie die neuesten Azure IoT Edge releases (Azure IoT Edge-Versionen) an.

Bleiben Sie mit den neuesten Updates und Ankündigungen im Internet of Things-Blog auf dem Laufenden.