Tutorial: Azure Device Update für IoT Hub mit dem Ubuntu 22.04-Paket-Agent
Device Update for Azure IoT Hub unterstützt image-, paket- und skriptbasierte Updates. In diesem Lernprogramm wird ein End-to-End-Paketupdate mit dem Device Update Ubuntu Server 22.04 x64-Paket-Agent zum Aktualisieren von Azure IoT Edge veranschaulicht.
Paketbasierte Updates dienen dazu, nur eine bestimmte Gerätekomponente oder -anwendung zu ändern. Diese Updates verbrauchen weniger Bandbreite, haben kürzere Download- und Installationszeiten als imagebasierte Updates, verursachen weniger Ausfallzeiten für Geräte und vermeiden den Aufwand, Images zu erstellen. In einem paketbasierten Update stellt ein APT-Manifest dem Device Update-Agent die Informationen bereit, die es benötigt, um angegebene Pakete und deren Abhängigkeiten aus einem bestimmten Repository herunterzuladen und zu installieren.
Dieses Tutorial führt Sie durch die Installation von Microsoft Defender für IoT, aber Sie können andere Pakete mithilfe ähnlicher Schritte aktualisieren, z. B. IoT Edge selbst oder das verwendete Containermodul. Die in diesem Tutorial verwendeten Tools und Konzepte gelten auch, wenn Sie eine andere Betriebssystemplattform-Konfiguration verwenden.
In diesem Tutorial:
- Herunterladen und Installieren des Device Update-Agents und seiner Abhängigkeiten
- Fügen Sie Ihrem Gerät ein Gruppentag hinzu.
- Importieren Sie das Paketupdate.
- Stellen Sie das Paketupdate bereit.
- Anzeigen des Bereitstellungsverlaufs des Updates.
Voraussetzungen
- Ein Device Update-Konto und eine Instanz, die mit einem IoT-Hub konfiguriert sind.
- Ein Im IoT-Hub registriertes Azure IoT Edge-Gerät mit der kopiertenVerbindungszeichenfolge.
Vorbereiten des Geräts
Der Einfachheit halber verwendet dieses Tutorial eine cloud-init-basierte Azure Resource Manager (ARM)-Vorlage, um schnell eine Ubuntu 22.04 LTS-VM (virtuelle Maschine) einzurichten. Die Vorlage installiert sowohl die IoT Edge-Laufzeitumgebung als auch den Device Update-Agent und konfiguriert das Gerät automatisch mit Bereitstellungsinformationen, indem die von Ihnen bereitgestellte IoT Edge-Geräte-Verbindungszeichenfolge verwendet wird. Die Verwendung der ARM-Vorlage verhindert auch, dass eine Ssh-Sitzung (Secure Shell) gestartet werden muss, um die Einrichtung abzuschließen.
Um die Vorlage auszuführen, wählen Sie die folgende Schaltfläche In Azure bereitstellen aus:
Führen Sie die folgenden Informationen aus:
- Abonnement: Das aktive Azure-Abonnement, in dem die VM bereitgestellt werden soll.
- Ressourcengruppe: Eine vorhandene oder neue Ressourcengruppe, die den virtuellen Computer und die zugehörigen Ressourcen enthält.
- Region: Die geografische Region , in der die VM bereitgestellt werden soll, die standardmäßig den Speicherort der Ressourcengruppe aufweist.
- Dns-Bezeichnungspräfix: Ein Wert, der dem Hostnamen der VM vorangestellt werden soll.
- Administratorbenutzername: Ein Benutzername, der Stammberechtigungen bei der Bereitstellung bereitstellt.
- Authentifizierungstyp: Wählen Sie sshPublicKey oder das Kennwortaus.
- Administrator-Kennwort oder Quelle des SSH-öffentlichen Schlüssels, SSH-Schlüsseltyp, Schlüsselpaarname: Die Passwort- oder SSH-Schlüsselinformationen basierend auf der gewählten Authentifizierungsmethode.
- VM-Größe: Die Größe der zu bereitstellenden virtuellen Maschine.
- Ubuntu-Betriebssystemversion: Verlassen Sie sich bei 22_04-lts.
- Geräteverbindungszeichenfolge: Die IoT Edge-Verbindungszeichenfolge, die Sie zuvor kopiert haben.
Wählen Sie am unteren Rand der Seite die Option Bewerten + erstellen aus. Wenn die Überprüfung erfolgreich ist, wählen Sie Erstellen aus, um mit der Vorlagenbereitstellung zu beginnen.
Vergewissern Sie sich, dass die Bereitstellung erfolgreich abgeschlossen ist, und lassen Sie einige Minuten nach Abschluss der Bereitstellung die Installation von IoT Edge und dem Gerätepaketupdate-Agent abgeschlossen.
In der ausgewählten Ressourcengruppe sollte eine VM-Ressource angezeigt werden. Notieren Sie sich den Computernamen, der das Format
vm-0000000000000
hat. Wählen Sie den VM-Namen aus und notieren Sie sich auf der VM-Übersicht-Seite den DNS-Namen, der im Format<dnsLabelPrefix>
.<location>.cloudapp.azure.com
vorliegt.
Tipp
Um nach der Einrichtung per SSH auf diese VM zuzugreifen, verwenden Sie den zugehörigen DNS-Namen mit dem Befehl ssh <admin username>@<DNS name>
.
Installieren Sie den Device Update-Agent auf dem Gerät.
Wichtig
Die Software Azure Device Update for Azure IoT Hub unterliegt den folgenden Lizenzbedingungen:
Lesen Sie die Lizenzbedingungen, bevor Sie den Agent verwenden. Die Installation und Nutzung des Agents stellt eine Zustimmung zu diesen Bedingungen dar. Wenn Sie den Lizenzbedingungen nicht zustimmen, verwenden Sie den Device Update-Agent nicht.
Führen Sie den folgenden Befehl aus, um den Geräteupdate-Agent auf dem virtuellen Computer zu installieren.
sudo apt-get install deviceupdate-agent
Öffnen Sie die du-config.json Konfigurationsdetailsdatei mithilfe des folgenden Befehls.
sudo nano /etc/adu/du-config.json
Ersetzen Sie in der Datei alle
<placeholder>
Werte durch Ihre eigene Konfiguration. Setzen Sie IhrconnectionType
auf"AIS"
undconnectionData
auf eine leere Zeichenfolge. Eine Beispieldatei finden Sie unter Beispiel du-config.json Dateiinhalte.Starten Sie den Device Update-Agent neu, indem Sie den folgenden Befehl ausführen:
sudo systemctl restart deviceupdate-agent
Hinweis
Falls Sie zuvor den Simulator-Agenten auf diesem Gerät verwendet haben, führen Sie den folgenden Befehl aus, um den APT-Handler aufzurufen und Over-the-Air-Paketupdates für dieses Tutorial bereitzustellen.
sudo /usr/bin/AducIotAgent --register-content-handler /var/lib/adu/extensions/sources/libmicrosoft_apt_1.so --update-type 'microsoft/apt:1'
Hinzufügen eines Gruppentags zu Ihrem Gerät
Device Update organisiert Geräte automatisch in Gruppen basierend auf ihren zugewiesenen Tags und Kompatibilitätseigenschaften. Jedes Gerät kann zu nur einer Gruppe gehören, aber Gruppen können mehrere Untergruppen zum Sortieren von unterschiedlichen Geräteklassen haben. Weitere Informationen zu Tags und Gruppen finden Sie unter Verwalten von Gerätegruppen.
Wählen Sie auf der Azure-Portal-Seite des IoT-Hubs für Ihre Device Update-Instanz im linken Navigationsbereich Geräteverwaltung>Geräte aus.
Gehen Sie zum Gerätezwilling oder zum Modulidentitätszwilling für Ihr Gerät.
Löschen Sie im Gerätezwilling oder in der Modulidentitätszwilling-Datei des Device Update-Agenten alle vorhandenen Device Update-Tag-Werte, indem Sie diese auf
null
setzen, und fügen Sie anschließend das folgende neue Device Update-Gruppen-Tag hinzu.Wenn Sie beim Device Update-Agent die Geräteidentität verwenden, nehmen Sie diese Änderungen im Gerätezwilling vor. Wenn Sie eine Modulidentität mit dem Geräteupdate-Agent-Modul verwenden, fügen Sie das Tag im Modulidentitätszwillinghinzu.
"tags": { "ADUGroup": "<GroupTagValue>" },
Der folgende Screenshot zeigt, wo in der Datei das Tag hinzugefügt werden soll.
Wählen Sie Speichern.
Importieren des Updates
Die Tutorial_IoTEdge_PackageUpdate.zip Datei enthält die erforderlichen Dateien für das Tutorial.
Laden Sie die Datei Tutorial_IoTEdge_PackageUpdate.zip aus dem Abschnitt Assets der neuesten Version auf der Seite GitHub Device Update Releases herunter.
Entzippen Sie die Datei . Der extrahierte Ordner Tutorial_IoTEdge_PackageUpdate enthält das Beispiel-APT-Manifest sample-defender-iot-apt-manifest.json sowie das zugehörige Importmanifest sample-defender-iot-importManifest.json.
Wählen Sie auf der Azure-Portal-Seite des IoT-Hubs für Ihre Device Update-Instanz im linken Navigationsbereich Geräteverwaltung>Updates aus.
Wählen Sie auf der Seite „Updates“ die Option „Neues Update importieren“aus.
Wählen Sie auf der Seite Update importieren Aus dem Speichercontainer auswählen aus.
Wählen Sie auf der Seite Speicherkonten ein vorhandenes Speicherkonto aus oder erstellen Sie ein neues Konto, indem Sie Speicherkonto auswählen.
Wählen Sie auf der Seite Container einen vorhandenen Container aus oder erstellen Sie einen neuen Container, indem Sie Container auswählen. Sie verwenden den Container, um die Updatedateien für den Import zu stufen.
Tipp
Um versehentlichen Import von Dateien aus früheren Updates zu vermeiden, verwenden Sie bei jedem Import eines Updates einen neuen Container. Wenn Sie keinen neuen Container verwenden, müssen Sie alle Dateien aus dem vorhandenen Container löschen.
Wählen Sie auf der Container-Seite Hochladen, ziehen Sie die heruntergeladenen Update-Dateien per Drag-and-Drop hinein oder suchen Sie nach ihnen und wählen Sie sie aus, und klicken Sie anschließend auf Hochladen. Nach dem Hochladen werden die Dateien auf der Containerseite angezeigt.
Überprüfen und wählen Sie die Dateien aus, die importiert werden sollen, und klicken Sie anschließend auf Auswählen.
Wählen Sie auf dem Bildschirm Update importieren die Option Update importieren aus.
Der Importvorgang beginnt, und der Bildschirm wechselt zur Seite Updates. Nach erfolgreichem Import wird es im Tab Updates angezeigt. Weitere Informationen zum Importvorgang finden Sie unter Importieren eines Updates in Device Update.
Auswählen der Gerätegruppe
Sie können das Gruppentag verwenden, das Sie auf Ihr Gerät angewendet haben, um das Update für die Gerätegruppe bereitzustellen. Wählen Sie oben auf der Seite Updates den Tab Gruppen und Bereitstellungen, um die Liste der Gruppen und Bereitstellungen sowie das Updateüberwachungs-Diagramm anzuzeigen.
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. Weitere Informationen finden Sie unter Konformität von Device Update.
Unter Gruppenname sehen Sie eine Liste aller Gerätegruppen für Geräte, die mit diesem IoT-Hub verbunden sind, sowie deren verfügbare Updates. Links zur Bereitstellung der Updates finden Sie unter Status. Alle Geräte, die nicht den Anforderungen der Geräteklasse einer Gruppe entsprechen, erscheinen in einer entsprechenden ungültigen Gruppe. Weitere Informationen zu Tags und Gruppen finden Sie unter Verwalten von Gerätegruppen.
Sie sollten die Gerätegruppe sehen, die das in diesem Tutorial eingerichtete Gerät enthält, zusammen mit den verfügbaren Updates für die Geräte in der Gruppe. Möglicherweise müssen Sie die Seite aktualisieren. Um das beste verfügbare Update für die Gruppe aus dieser Ansicht bereitzustellen, wählen Sie Bereitstellen neben der Gruppe aus.
Bereitstellen des Updates
Wählen Sie auf der Seite Gruppendetails den Tab Aktuelle Bereitstellung aus und klicken Sie dann im Abschnitt Verfügbare Updates neben dem gewünschten Update auf Bereitstellen. Das beste verfügbare Update für die Gruppe wird mit einer Best-Hervorhebung gekennzeichnet.
Planen Sie auf der Seite Bereitstellung erstellen Ihre Bereitstellung so, dass sie sofort oder in der Zukunft startet, und wählen Sie anschließend Erstellen aus.
Tipp
Das Startdatum und die Uhrzeit sind standardmäßig auf Werte festgelegt, die vom aktuellen Zeitpunkt aus 24 Stunden in der Zukunft liegen. Wenn die Bereitstellung früher beginnen soll, wählen Sie unbedingt ein anderes Datum und eine andere Uhrzeit aus.
Auf der Seite Gruppendetails unter Bereitstellungsdetails wechselt der Status zu Aktiv. Im Abschnitt Verfügbare Updates wird das ausgewählte Update mit (wird bereitgestellt) gekennzeichnet.
Im Tab Gruppen und Bereitstellungen auf der Seite Updates können Sie das Compliance-Diagramm anzeigen, um zu sehen, dass das Update jetzt in Bearbeitung ist. Nachdem Ihr Gerät erfolgreich aktualisiert wurde, werden das Compliancediagramm und die Bereitstellungsdetails aktualisiert, um diesen Status widerzuspiegeln.
Updatebereitstellungsverlauf anzeigen
Wählen Sie oben auf der Seite Gruppendetails den Tab Bereitstellungsverlauf aus und klicken Sie auf den Details-Link neben der von Ihnen erstellten Bereitstellung.
Wählen Sie auf der Seite Bereitstellungsdetails das Symbol Aktualisieren, um die neuesten Statusdetails anzuzeigen.
Bereinigen von Ressourcen
Wenn Sie die in diesem Tutorial erstellten Ressourcen nicht mehr benötigen, können Sie sie löschen.
- Wechseln Sie im Azure-Portal zur Ressourcengruppe, die die Ressourcen enthält.
- Wenn Sie alle Ressourcen in der Gruppe löschen möchten, wählen Sie Ressourcengruppe löschen aus.
- Wenn Sie nur einige der Ressourcen löschen möchten, verwenden Sie die Kontrollkästchen, um die gewünschten Ressourcen auszuwählen, und klicken Sie anschließend auf Löschen.