Tutorial: Device Update for Azure IoT Hub mit dem Paket-Agent unter Ubuntu Server 18.04 x64

Device Update for Azure IoT Hub unterstützt image-, paket- und skriptbasierte Updates.

Paketbasierte Updates sind gezielte Updates, die nur eine bestimmte Komponente oder Anwendung auf dem Gerät ändern. Dies führt zu einem geringeren Verbrauch an Bandbreite und verkürzt die Zeit zum Herunterladen und Installieren des Updates. Paketbasierte Updates ermöglichen normalerweise auch eine geringere Ausfallzeit von Geräten, wenn Sie ein Update anwenden, und sie vermeiden den Mehraufwand beim Erstellen von Images. Sie verwenden ein APT-Manifest, das dem Device Update-Agent die Informationen liefert, die er benötigt, um die in der APT-Manifestdatei angegebenen Pakete (und deren Abhängigkeiten) aus einem bestimmten Repository herunterzuladen und zu installieren.

In diesem Tutorial werden Sie durch das Aktualisieren von Azure IoT Edge unter Ubuntu Server 18.04 x64 mithilfe des Device Update-Paket-Agents geführt. Obwohl im Tutorial die Aktualisierung von IoT Edge veranschaulicht wird, könnten Sie mit ähnlichen Schritten auch andere Pakete aktualisieren, z. B. die von ihm verwendete Container-Engine.

Die Tools und Konzepte in diesem Tutorial gelten weiterhin, auch wenn Sie beabsichtigen, eine andere Konfiguration der Betriebssystemplattform zu verwenden. Schließen Sie diese Einführung in einen End-to-End-Updateprozess ab. Wählen Sie dann Ihre bevorzugte Form der Aktualisierung einer Betriebssystemplattform aus, um die Details zu erfahren.

In diesem Tutorial lernen Sie Folgendes:

  • Herunterladen und Installieren des Device Update-Agents und seiner Abhängigkeiten
  • Hinzufügen eines Tags zu Ihrem Gerät
  • Importieren eines Updates
  • Bereitstellen eines Paketupdates
  • Überwachen der Updatebereitstellung

Voraussetzungen

Vorbereiten eines Geräts

Bereiten Sie ein Gerät automatisch oder manuell vor.

Verwenden der Schaltfläche „Automatisierte Bereitstellung in Azure“

Der Einfachheit halber wird in diesem Tutorial eine Cloud-Init-basierte Azure Resource Manager-Vorlage verwendet, mit der Sie schnell einen virtuellen Computer mit Ubuntu 18.04 LTS einrichten können. Sie installiert sowohl die Azure IoT Edge-Runtime als auch den Device Update-Paket-Agent. Anschließend konfiguriert sie das Gerät automatisch mit Bereitstellungsinformationen, wobei sie die Geräteverbindungszeichenfolge für ein von Ihnen angegebenes IoT Edge-Gerät (Voraussetzung) verwendet. Bei Verwendung der Resource Manager-Vorlage muss außerdem keine SSH-Sitzung gestartet werden, um das Setup abzuschließen.

  1. Wählen Sie zuerst die Schaltfläche aus:

    Schaltfläche „In Azure bereitstellen“ für „iotedge-vm-deploy“.

  2. Füllen Sie die verfügbaren Textfelder aus:

    Screenshot der Vorlage „iotedge-vm-deploy“

    • Abonnement: Das aktive Azure-Abonnement, in dem der virtuelle Computer bereitgestellt werden soll.
    • Ressourcengruppe: Eine vorhandene oder neu erstellte Ressourcengruppe, die den virtuellen Computer und die ihm zugeordneten Ressourcen enthalten soll.
    • Region: Die geografische Region, in der der virtuelle Computer bereitgestellt werden soll. Dieser Wert ist standardmäßig der Speicherort der ausgewählten Ressourcengruppe.
    • Präfix der DNS-Bezeichnung: Ein erforderlicher Wert Ihrer Wahl, der dem Hostnamen des virtuellen Computers vorangestellt wird.
    • Administratorbenutzername: Ein Benutzername, der Rootberechtigungen für die Bereitstellung erhält.
    • Geräte-Verbindungszeichenfolge: Eine Geräte-Verbindungszeichenfolge für ein Gerät, das in Ihrem vorgesehenen IoT-Hub erstellt wurde.
    • VM-Größe: Die Größe des bereitzustellenden virtuellen Computers.
    • Ubuntu-Betriebssystemversion: Die Version des Ubuntu-Betriebssystems, die auf dem virtuellen Basiscomputer installiert werden soll. Behalten Sie den Standardwert bei, weil er bereits auf „Ubuntu 18.04-LTS“ festgelegt wurde.
    • Authentifizierungstyp: Wählen Sie sshPublicKey oder ein Kennwort entsprechend Ihren Anforderungen aus.
    • Administratorkennwort oder Schlüssel: Der Wert des öffentlichen SSH-Schlüssels oder der Wert des Kennworts, basierend auf der Wahl des Authentifizierungstyps.

    Nachdem alle Felder ausgefüllt wurden, aktivieren Sie das Kontrollkästchen unten auf der Seite, um die Bedingungen zu akzeptieren. Wählen Sie Kaufen aus, um mit der Bereitstellung zu beginnen.

  3. Überprüfen Sie, ob die Bereitstellung erfolgreich abgeschlossen wurde. Warten Sie nach Beendigung der Bereitstellung einige Minuten, bis die Nachinstallation und die Konfiguration abgeschlossen sind, bevor Sie IoT Edge und den Device Update-Paket-Agent installieren.

    Eine virtuelle Computerressource sollte in der ausgewählten Ressourcengruppe bereitgestellt worden sein. Notieren Sie sich den Computernamen, der das Format vm-0000000000000 hat. Notieren Sie sich auch den zugeordneten DNS-Namen, der das Format „<dnsLabelPrefix>.<location>.cloudapp.azure.com“ hat.

    Sie können den DNS-Namen im Azure-Portal aus dem Abschnitt Übersicht des neu bereitgestellten virtuellen Computers abrufen.

    Screenshot mit dem DNS-Namen der IoT Edge-VM

    Tipp

    Um nach der Einrichtung per SSH auf diese VM zuzugreifen, verwenden Sie den zugehörigen DNS-Namen mit dem folgenden Befehl: ssh <adminUsername>@<DNS_Name>.

  4. Öffnen Sie die Konfigurationsdetails (Sehen Sie hier, wie Sie die Konfigurationsdatei mit dem unten stehenden Befehl einrichten. Legen Sie Ihren connectionType als "AIS" und "connectionData" als leere Zeichenfolge fest. Bitte beachten Sie, dass alle Werte mit dem Tag „Wert hier platzieren“ festgelegt werden müssen. Weitere Informationen finden Sie unter Konfigurieren eines DU-Agents.

    sudo nano /etc/adu/du-config.json
    
  5. Starten Sie den Device Update-Agent neu.

    sudo systemctl restart deviceupdate-agent
    

Softwarepakete von Device Update for Azure IoT Hub unterliegen den folgenden Lizenzbedingungen:

Lesen Sie die Lizenzbedingungen, bevor Sie ein Paket verwenden. Durch Ihre Installation und Verwendung eines Pakets erklären Sie Ihre Zustimmung zu diesen Bedingungen. Wenn Sie den Lizenzbedingungen nicht zustimmen, verwenden Sie das Paket nicht.

Manuelles Vorbereiten eines Geräts

Ähnlich wie die Schritte, die durch das Skript „cloud-init“ automatisiert wurden, werden die folgenden manuellen Schritte zum Installieren und Konfigurieren eines Geräts verwendet. Mit diesen Schritten können Sie ein physisches Gerät vorbereiten.

  1. Folgen Sie den Anleitungen unter Installieren der Azure IoT Edge-Runtime.

    Hinweis

    Der Geräteupdate-Agent ist nicht von IoT Edge abhängig. Er greift jedoch auf den Daemon für den IoT-Identitätsdienst zu, der mit IoT Edge (Version 1.2.0 und höher) installiert wird, um eine Identität abzurufen und eine Verbindung mit IoT Hub herzustellen.

    Der Daemon für den IoT Identitätsdienst kann eigenständig auf Linux-basierten IoT-Geräten installiert werden. Dies wird in diesem Tutorial jedoch nicht erläutert. Die Reihenfolge der Installation ist wichtig. Der Device Update-Paket-Agent muss nach dem IoT-Identitätsdienst installiert werden. Andernfalls wird der Paket-Agent nicht als autorisierte Komponente registriert, um eine Verbindung mit IoT Hub herzustellen.

  2. Installieren Sie die DEB-Pakete des Device Update-Agents:

    sudo apt-get install deviceupdate-agent 
    
  3. Geben Sie die primäre Verbindungszeichenfolge für das Modul Ihres IoT-Geräts (oder für das Gerät – je nachdem, wie Sie das Gerät mit Device Update bereitgestellt haben) in der Konfigurationsdatei ein. Bitte beachten Sie, dass alle Werte mit dem Tag „Wert hier platzieren“ festgelegt werden müssen. Weitere Informationen finden Sie unter Konfigurieren eines DU-Agents.

    sudo /etc/adu/du-config.json
    
  4. Starten Sie den Device Update-Agent neu.

    sudo systemctl restart deviceupdate-agent
    

Softwarepakete von Device Update for Azure IoT Hub unterliegen den folgenden Lizenzbedingungen:

Lesen Sie die Lizenzbedingungen, bevor Sie ein Paket verwenden. Durch Ihre Installation und Verwendung eines Pakets erklären Sie Ihre Zustimmung zu diesen Bedingungen. Wenn Sie den Lizenzbedingungen nicht zustimmen, verwenden Sie das Paket nicht.

Hinzufügen eines Tags zu Ihrem Gerät

  1. Melden Sie sich beim Azure-Portal an, und navigieren Sie zum IoT-Hub.

  2. Suchen Sie im linken Bereich unter Geräte nach Ihrem IoT Edge-Gerät, und wechseln Sie zum Geräte- oder Modulzwilling.

  3. Löschen Sie im Modulzwilling des Device Update-Agent-Moduls alle vorhandenen Device Update-Tagwerte, indem Sie sie auf „NULL“ festlegen. Wenn Sie beim Device Update-Agent die Geräteidentität verwenden, nehmen Sie diese Änderungen im Gerätezwilling vor.

  4. Fügen Sie wie hier gezeigt einen neuen Device Update-Tagwert hinzu:

        "tags": {
            "ADUGroup": "<CustomTagValue>"
        },
    

    Screenshot eines digitalen Zwillings mit Taginformationen

    Dieser Screenshot zeigt den Abschnitt, in dem das Tag dem Zwilling hinzugefügt werden muss.

Importieren des Updates

  1. Wechseln Sie in GitHub zu Device Update-Releases, und wählen Sie die Dropdownliste Ressourcen aus. Laden Sie die Datei Tutorial_IoTEdge_PackageUpdate.zip herunter, indem Sie sie auswählen. Extrahieren Sie den Inhalt des Ordners, um ein APT-Beispielmanifest („sample-1.0.2-aziot-edge-apt-manifest.json“) und das zugehörige Importmanifest („sample-1.0.2-aziot-edge-importManifest.json“) zu ermitteln.

  2. Melden Sie sich beim Azure-Portal an, und navigieren Sie zu Ihrem IoT-Hub mit Device Update. Wählen Sie im linken Bereich unter Automatische Geräteverwaltung die Option Updates aus.

  3. Wählen Sie die Registerkarte Updates aus.

  4. Wählen Sie + Neues Update importieren aus.

  5. Klicken Sie auf + Aus Speichercontainer auswählen. Wählen Sie ein vorhandenes Konto aus, oder erstellen Sie über die Option + Speicherkonto ein neues. Wählen Sie dann einen vorhandenen Container aus, oder erstellen Sie mithilfe von + Container einen neuen. Dieser Container wird zum Stagen Ihrer Updatedateien für den Import verwendet.

    Hinweis

    Es wird empfohlen, bei jedem Import eines Updates einen neuen Container zu verwenden, um zu vermeiden, dass versehentlich Dateien aus früheren Updates importiert werden. Wenn Sie keinen neuen Container verwenden, müssen Sie vor diesem Schritt alle Dateien aus dem vorhandenen Container löschen.

    Screenshot: Seite „Speicherkonto“.

  6. Wählen Sie in Ihrem Container Hochladen aus, und wechseln Sie zu den in Schritt 1 heruntergeladenen Dateien. Nachdem Sie alle Updatedateien ausgewählt haben, wählen Sie Hochladen aus. Klicken Sie dann auf die Schaltfläche Auswählen, um zur Seite Update importieren zurückzukehren.

    Screenshot: Auswählen hochgeladener Dateien.

    Dieser Screenshot veranschaulicht den Importschritt. Dateinamen stimmen möglicherweise nicht mit denen überein, die im Beispiel verwendet werden.

  7. Überprüfen Sie auf der Seite Update importieren die zu importierenden Dateien. Klicken Sie dann auf Update importieren, um den Importvorgang zu starten.

    Screenshot: Starten der Wiederherstellung.

  8. Der Importvorgang beginnt, und auf dem Bildschirm wird der Abschnitt Importverlauf angezeigt. Wenn in der Spalte Status angezeigt wird, dass der Import erfolgreich war, wählen Sie den Header Verfügbare Updates aus. Ihr importiertes Update sollte nun in der Liste angezeigt werden.

    Screenshot des Auftragsstatus.

Weitere Informationen zum Importvorgang finden Sie unter Importieren eines Updates in Device Update.

Anzeigen von Gerätegruppen

Device Update verwendet Gruppen, um Geräte zu organisieren. Device Update ordnet Geräte basierend auf den zugewiesenen Tags und Kompatibilitätseigenschaften automatisch in Gruppen ein. Jedes Gerät gehört nur zu einer Gruppe, aber Gruppen können mehrere Untergruppen haben, um unterschiedliche Geräteklassen zu sortieren.

  1. Navigieren Sie oben auf der Seite zur Registerkarte Gruppen und Bereitstellungen.

    Screenshot: ungruppierte Geräte.

  2. Zeigen Sie die Liste der Gruppen und das Updatekonformitätsdiagramm an. Das Updatekonformitätsdiagramm zeigt die Anzahl von Geräten in verschiedenen Konformitätszuständen: Mit neuestem Update, Neue Updates verfügbar und Updates werden ausgeführt. Informieren Sie sich weiter über die Updatekonformität.

    Screenshot: Updatekonformitätsansicht.

  3. Sie sollten eine Gerätegruppe sehen, die das simulierte Gerät, das Sie in diesem Tutorial eingerichtet haben, sowie alle verfügbaren Updates für die Geräte in der neuen Gruppe enthält. Wenn Geräte vorhanden sind, die die Geräteklassenanforderungen der Gruppe nicht erfüllen, werden sie in einer entsprechenden Gruppe ungültiger Geräte angezeigt. Klicken Sie neben der Gruppe auf Bereitstellen, um das beste verfügbare Update für die neue benutzerdefinierte Gruppe aus dieser Ansicht bereitzustellen.

Weitere Informationen zu Tags und Gruppen finden Sie unter Verwalten von Gerätegruppen.

Bereitstellen des Updates

  1. Nachdem die Gruppe erstellt wurde, sollte unter Bestes Update ein neues Update für Ihre Gerätegruppe mit dem entsprechenden Link angezeigt werden. Möglicherweise müssen Sie den Browser einmal aktualisieren.

    Weitere Informationen zur Kompatibilität finden Sie unter Device Update-Konformität.

  2. Wählen Sie die Zielgruppe aus, indem Sie den Gruppennamen auswählen. Sie werden zu den Gruppendetails unter Allgemeine Informationen zu Gruppen weitergeleitet.

    Screenshot: Gruppendetails.

  3. Um die Bereitstellung einzuleiten, wechseln Sie zur Registerkarte Aktuelle Bereitstellung. Wählen Sie im Abschnitt Verfügbare Updates neben dem gewünschten Update den Link Bereitstellen aus. Das beste verfügbare Update für eine bestimmte Gruppe wird mit Beste hervorgehoben.

    Screenshot: Auswählen eines Updates.

  4. Planen Sie den Start Ihrer Bereitstellung unverzüglich oder in der Zukunft. Klicken Sie anschließend auf Erstellen.

    Tipp

    Das Startdatum und die Uhrzeit sind standardmäßig auf Werte festgelegt, die vom aktuellen Zeitpunkt aus 24 Stunden in der Zukunft liegen. Wählen Sie unbedingt ein anderes Datum und eine andere Uhrzeit aus, wenn die Bereitstellung früher beginnen soll.

    Screenshot: Erstellen einer Bereitstellung.

  5. Unter Bereitstellungsdetails wird der Status in Aktiv geändert. Das Bereitstellungsupdate ist mit (Wird bereitgestellt) gekennzeichnet.

    Screenshot: Bereitstellungsstatus.

  6. Zeigen Sie das Kompatibilitätsdiagramm an, um herauszufinden, ob das Update jetzt in Bearbeitung ist.

  7. Nachdem Ihr Gerät erfolgreich aktualisiert wurde, sehen Sie, dass Ihr Konformitätsdiagramm und die Bereitstellungsdetails so aktualisiert wurden, dass sie übereinstimmen.

    Screenshot: Update erfolgreich.

Überwachen der Updatebereitstellung

  1. Klicken Sie oben auf der Seite auf die Registerkarte Bereitstellungsverlauf.

    Screenshot: „Bereitstellungsverlauf“.

  2. Wählen Sie neben der von Ihnen erstellten Bereitstellung den Link Details aus.

    Screenshot: Bereitstellungsdetails.

  3. Wählen Sie Aktualisieren aus, um die neuesten Statusdetails anzuzeigen.

Sie haben jetzt mithilfe von Device Update for IoT Hub ein erfolgreiches End-to-End-Paketupdate auf einem Ubuntu Server 18.04 x64-Gerät abgeschlossen.

Bereinigen von Ressourcen

Bereinigen Sie Ihr Konto, die Instanz und den IoT-Hub für Device Update, wenn Sie diese Komponenten nicht mehr benötigten. Bereinigen Sie außerdem das IoT Edge-Gerät, wenn Sie die VM über die Schaltfläche In Azure bereitstellen erstellt haben. Wechseln Sie zum Bereinigen von Ressourcen zu jeder einzelnen Ressource, und wählen Sie Löschen aus. Bereinigen Sie eine Device Update-Instanz, bevor Sie das Device Update-Konto bereinigen.

Nächste Schritte