Freigeben über


Tutorial: Erstellen einer Hierarchie für IoT Edge-Geräte

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

Wichtig

IoT Edge 1.5 LTS ist das unterstützte Release. IoT Edge 1.4 LTS wurde am 12. November 2024 eingestellt. Wenn Sie ein früheres Release verwenden, finden Sie weitere Informationen unter Aktualisieren von IoT Edge.

Stellen Sie Azure IoT Edge-Knoten über Netzwerke bereit, die in hierarchischen Ebenen organisiert sind. Jede Ebene einer Hierarchie entspricht einem Gatewaygerät, mit dem Nachrichten und Anforderungen von den Geräten der direkt untergeordneten Ebene verarbeitet werden. Diese Konfiguration wird auch als Nested Edge bezeichnet.

Strukturieren Sie eine Hierarchie von Geräten, sodass nur die oberste Ebene über Eine Verbindung mit der Cloud verfügt, und die unteren Ebenen können nur mit angrenzenden upstream- und downstream-Ebenen kommunizieren. Diese Netzwerkebenen bilden die Grundlage der meisten Unternehmensnetzwerke, die der ISA-95-Norm entsprechen.

In diesem Lernprogramm erfahren Sie, wie Sie eine Hierarchie von IoT Edge-Geräten erstellen, IoT Edge-Laufzeitcontainer auf Ihren Geräten bereitstellen und Ihre Geräte lokal konfigurieren. In dieser Anleitung führen Sie die folgenden Aufgaben durch:

  • Erstellen und Definieren der Beziehungen in einer Hierarchie mit IoT Edge-Geräten
  • Konfigurieren der IoT Edge-Runtime auf den Geräten in Ihrer Hierarchie
  • Installieren von einheitlichen Zertifikaten in Ihrer gesamten Gerätehierarchie
  • Hinzufügen von Workloads zu den Geräten Ihrer Hierarchie
  • Verwenden eines IoT Edge-API-Proxymoduls zum sicheren Weiterleiten von HTTP-Datenverkehr über einen einzelnen Port von Ihren Geräten der unteren Ebenen

Tipp

Dieses Tutorial enthält eine Mischung aus manuellen und automatisierten Schritten, mit denen Features für geschachtelte IoT Edge-Geräte veranschaulicht werden.

Wenn Sie einen vollständig automatisierten Blick auf die Einrichtung einer Hierarchie mit IoT Edge-Geräten werfen möchten, führen Sie das Beispielskript unter Azure IoT Edge-Beispiel für industrielles IoT aus. In diesem geskripteten Szenario werden Azure-VMs als vorkonfigurierte Geräte bereitgestellt, um eine Factoryumgebung zu simulieren.

Ausführliche Informationen zu den manuellen Schritten zum Erstellen und Verwalten einer Hierarchie mit IoT Edge-Geräten finden Sie in der Schrittanleitung zu Gatewayhierarchien für IoT Edge-Geräte.

In diesem Tutorial werden die folgenden Netzwerkebenen definiert:

  • Oberste Ebene: IoT Edge-Geräte auf dieser Ebene können eine direkte Verbindung mit der Cloud herstellen.

  • Untere Ebenen: IoT Edge-Geräte auf Ebenen unterhalb der obersten Ebene können keine direkte Verbindung mit der Cloud herstellen. Zum Senden und Empfangen von Daten müssen sie den Weg über ein oder mehrere zwischengeschaltete IoT Edge-Geräte nehmen.

In diesem Tutorial wird der Einfachheit halber eine Hierarchie mit nur zwei Geräten verwendet. Das Gerät der obersten Ebene befindet sich auf der obersten Ebene der Hierarchie und kann eine direkte Verbindung mit der Cloud herstellen. Dieses Gerät wird als übergeordnetes Gerät bezeichnet. Das Gerät der unteren Ebene stellt ein Gerät auf der unteren Ebene der Hierarchie dar, das sich nicht direkt mit der Cloud verbinden kann. Fügen Sie bei Bedarf weitere Geräte zur Darstellung Ihrer Produktionsumgebung hinzu. Geräte auf niedrigeren Ebenen werden als untergeordnete Geräte bezeichnet.

Struktur der Tutorialhierarchie, die zwei Geräte enthält: das Gerät der obersten und das der unteren Ebene

Hinweis

Ein untergeordnetes Gerät kann ein nachgeschaltetes Gerät oder ein Gatewaygerät in einer geschachtelten Topologie sein.

Voraussetzungen

Um eine Hierarchie von IoT Edge-Geräten zu erstellen, benötigen Sie Folgendes:

  • Einen Computer (Windows oder Linux) mit Internetverbindung.

  • Ein Azure-Konto mit einem gültigen Abonnement. Wenn Sie kein Azure-Abonnement besitzen, erstellen Sie ein kostenloses Konto, bevor Sie beginnen.

  • Eine IoT Hub-Instanz in Azure mit dem Tarif „Free“ oder „Standard“.

  • Eine Bash-Shell in Azure Cloud Shell mit der Azure CLI, für die die Azure IoT-Erweiterung installiert ist. In diesem Tutorial wird Azure Cloud Shell verwendet. Wenn Sie die aktuellen Versionen der Azure CLI-Module und -Erweiterungen anzeigen möchten, führen Sie az version aus.

  • Zwei Linux-Geräte zum Konfigurieren Ihrer Hierarchie Falls Sie keine verfügbaren Geräte haben, können Sie mit der IoT Edge Azure Resource Manager-Vorlage virtuelle Azure-Computer für jedes Gerät Ihrer Hierarchie erstellen. IoT Edge Version 1.5 wird mit dieser Resource Manager-Vorlage vorinstalliert. Informationen zur Installation von IoT Edge auf Ihren eigenen Geräten finden Sie unter Installieren von Azure IoT Edge für Linux oder Aktualisieren von IoT Edge.

  • Um die Netzwerkkommunikation zwischen Geräten zu vereinfachen, sollten sich die virtuellen Computer im selben virtuellen Netzwerk befinden oder Peering virtueller Netzwerke verwenden.

  • Stellen Sie sicher, dass die folgenden Ports in Eingangsrichtung für alle Geräte (mit Ausnahme des Geräts der untersten Ebene) geöffnet sind: 443, 5671 und 8883:

    • 443: Wird zwischen übergeordneten und untergeordneten Edge-Hubs für REST-API-Aufrufe und zum Pullen von Docker-Containerimages verwendet.
    • 5671, 8883: Wird für AMQP und MQTT verwendet.

    Weitere Informationen finden Sie unter Öffnen von Ports zu einem virtuellen Computer mit dem Azure-Portal.

    Tipp

    In den späteren Schritten verwenden Sie das SSH-Handle und entweder den FQDN oder die IP-Adresse der einzelnen virtuellen Computer für die Konfiguration. Daher sollten Sie diese Informationen notieren. Sie können die IP-Adresse und den FQDN im Microsoft Azure-Portal ermitteln. Navigieren Sie zur Ermittlung der IP-Adresse zu Ihrer Liste mit den virtuellen Computern, und notieren Sie sich den Inhalt des Felds Öffentliche IP-Adresse. Den FQDN finden Sie, indem Sie zur Seite Übersicht des jeweiligen virtuellen Computers navigieren und sich das Feld DNS-Name ansehen. Das SSH-Handle finden Sie auf der Seite Verbindung herstellen der einzelnen virtuellen Computer.

Erstellen der Hierarchie für IoT Edge-Geräte

IoT Edge-Geräte bilden die Ebenen Ihrer Hierarchie. In diesem Tutorial wird eine Hierarchie mit zwei IoT Edge-Geräten erstellt: dem Gerät der obersten und dem Gerät der unteren Ebene. Bei Bedarf können Sie weitere nachgeschaltete Geräte erstellen.

Um Ihre Hierarchie von IoT Edge Geräten zu erstellen und zu konfigurieren, verwenden Sie den Azure CLI-Befehl az iot edge devices create. Mit diesem Befehl wird die Konfiguration der Hierarchie vereinfacht, indem mehrere Schritte automatisiert und zusammengefasst werden:

  • Erstellen von Geräten in Ihrem IoT-Hub
  • Festlegen der Beziehungen zwischen über- und untergeordneten Geräten zum Autorisieren der Kommunikation zwischen Geräten
  • Anwenden des Bereitstellungsmanifests auf jedes Gerät
  • Generieren einer Zertifikatkette für jedes Gerät, um die sichere Kommunikation zwischen den Geräten zu ermöglichen
  • Generieren von Konfigurationsdateien für jedes Gerät

Erstellen der Gerätekonfiguration

Sie erstellen eine Gruppe von Nested Edge-Geräten mit einem übergeordneten Gerät und einem untergeordneten Gerät. In diesem Tutorial verwenden wir grundlegende Beispielbereitstellungsmanifeste. Beispiele für andere Szenarien finden Sie in den Beispielkonfigurationsvorlagen.

  1. Bevor Sie den Befehl az iot edge devices create verwenden, definieren Sie das Bereitstellungsmanifest für die oberste Ebene und die Geräte der unteren Ebene. Laden Sie die Beispieldatei deploymentTopLayer.json auf Ihren lokalen Computer herunter.

    Das Bereitstellungsmanifest für das Gerät der obersten Ebene definiert das IoT Edge API-Proxymodul und deklariert die Route vom Gerät der unteren Ebene zu Azure IoT Hub.

  2. Laden Sie die Beispieldatei deploymentLowerLayer.json auf Ihren lokalen Computer herunter.

    Das Bereitstellungsmanifest für das Gerät der unteren Ebene enthält das simulierte Temperatursensormodul und deklariert die Route zum Gerät der obersten Ebene. Im Abschnitt "systemModules " werden die Laufzeitmodule so eingestellt, dass sie von $upstream:443 anstelle von mcr.microsoft.com abgerufen werden. Das Gerät der unteren Ebene sendet Docker-Imageanforderungen an das IoT Edge-API-Proxymodul am Port 443, da es die Images nicht direkt aus der Cloud abrufen kann. Das andere Modul, das für das Gerät der unteren Ebene bereitgestellt wird (Modul Simulierter Temperatursensor), sendet seine Imageanforderung ebenfalls an $upstream:443.

    Weitere Informationen zum Erstellen eines Manifests für die Bereitstellung niedrigerer Ebenen finden Sie unter Verbinden von Azure IoT Edge-Geräten zum Erstellen einer Hierarchie.

  3. Verwenden Sie in der Azure Cloud Shell den Azure CLI-Befehl az iot edge devices create, um Geräte in IoT Hub und Konfigurationspakete für jedes Gerät in Ihrer Hierarchie zu erstellen. Ersetzen Sie den Platzhaltertext in spitzen Klammern durch Ihre eigenen Werte.

    Platzhalter BESCHREIBUNG
    <Hub-Name> Der Name Ihres IoT Hubs.
    <config-bundle-output-path> Der Ordnerpfad, in dem Sie die Konfigurationspakete speichern möchten
    <Name des übergeordneten Geräts> Die ID des Geräts der obersten Ebene
    <übergeordnetes Einsatzmanifest> Die Bereitstellungsmanifestdatei des übergeordneten Geräts
    <Eltern-FQDN-oder-IP> Der vollqualifizierte Domänenname (FQDN) oder die IP-Adresse des übergeordneten Geräts
    <Kindgerätname> Die ID des Geräts der unteren Ebene
    <child-deployment-manifest> Die Bereitstellungsmanifestdatei des untergeordneten Geräts
    <child-FQDN-oder-IP> Der vollqualifizierte Domänenname (FQDN) oder die IP-Adresse des untergeordneten Geräts
    az iot edge devices create \
       --hub-name <hub-name> \
       --output-path <config-bundle-output-path> \
       --default-edge-agent "mcr.microsoft.com/azureiotedge-agent:1.5" \
       --device id=<parent-device-name> \
          deployment=<parent-deployment-manifest> \
          hostname=<parent-fqdn-or-ip> \
       --device id=child-1 \
          parent=parent-1 \
          deployment=<child-deployment-manifest> \
          hostname=<child-fqdn-or-ip>
    

    Mit dem folgenden Befehl wird beispielsweise eine Hierarchie aus zwei IoT Edge-Geräten in IoT Hub erstellt. Ein Gerät der obersten Ebene mit dem Namen parent-1 und ein Gerät der unteren Ebene mit dem Namen child-1*. Mit dem werden die Konfigurationspakete für jedes Gerät im output-Verzeichnis gespeichert. Der Befehl generiert außerdem selbstsignierte Testzertifikate und schließt sie in das Konfigurationspaket ein. Die Konfigurationspakete werden mithilfe eines Installationsskripts auf jedem Gerät installiert.

    az iot edge devices create \
       --hub-name my-iot-hub \
       --output-path ./output \
       --default-edge-agent "mcr.microsoft.com/azureiotedge-agent:1.5" \
       --device id=parent-1 \
          deployment=./deploymentTopLayer.json \
          hostname=10.0.0.4 \
       --device id=child-1 \
          parent=parent-1 \
          deployment=./deploymentLowerLayer.json \
          hostname=10.1.0.4
    

Suchen Sie nach dem Ausführen des Befehls die Gerätekonfigurationspakete im Ausgabeverzeichnis. Beispiel:

PS C:\nested-edge\output> dir

   Directory: C:\nested-edge\output

Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
-a---           4/10/2023  4:12 PM           7192 child-1.tgz
-a---           4/10/2023  4:12 PM           6851 parent-1.tgz

Verwenden Sie eigene Zertifikate und Schlüssel, die als Argumente an den Befehl übergeben werden, oder erstellen Sie eine komplexere Gerätehierarchie. Weitere Informationen zum Erstellen geschachtelter Geräte mit dem Befehl az finden Sie unter az iot edge devices create. Wenn Sie mit der Verwendung von Zertifikaten in einem Gatewayszenario noch nicht vertraut sind, hilft Ihnen der Abschnitt zu Zertifikaten in der entsprechenden Anleitung weiter.

In diesem Tutorial verwenden Sie Inlineargumente, um die Geräte und Konfigurationspakete zu erstellen. Sie können auch eine Konfigurationsdatei im YAML- oder JSON-Format verwenden. Eine Beispielkonfigurationsdatei finden Sie im Beispiel sample_devices_config.yaml.

Konfigurieren der IoT Edge-Laufzeit

Zusätzlich zur Bereitstellung Ihrer Geräte wird durch diese Konfigurationsschritte die vertrauenswürdige Kommunikation zwischen den Geräten in der Hierarchie mithilfe Ihrer zuvor erstellten Zertifikate eingerichtet. Außerdem beginnen diese Schritte mit der Einrichtung der Netzwerkstruktur Ihrer Hierarchie. Das Gerät der obersten Ebene erhält die Internetverbindung aufrecht und ermöglicht es, Images für seine Runtime aus der Cloud zu pullen, während die Geräte der unteren Ebene über das Gerät der obersten Ebene auf diese Images zugreifen können.

Um die IoT Edge-Laufzeit zu konfigurieren, wenden Sie die Konfigurationspakete auf Ihre Geräte an. Die Konfigurationen unterscheiden sich für das Gerät der obersten Ebene und ein Gerät mit niedrigerer Ebene. Stellen Sie daher sicher, dass Sie die richtige Konfigurationsdatei für jedes Gerät verwenden.

  1. Kopieren Sie die Konfigurationspaketarchivdatei jeweils auf das entsprechende Gerät. Sie können dazu einen USB-Datenträger, einen Dienst wie Azure Key Vault oder eine Funktion wie Secure file copy verwenden. Wählen Sie eine Methode aus, die am besten zu Ihrem Szenario passt.

    Zum Senden des Konfigurationspakets parent-1 an das Basisverzeichnis auf dem virtuellen Computer parent-1 können Sie beispielsweise einen Befehl wie im folgenden Beispiel verwenden:

    scp ./output/parent-1.tgz admin@parent-1-vm.westus.cloudapp.azure.com:~
    
  2. Extrahieren Sie das Konfigurationspaketarchiv auf jedem Gerät. Verwenden Sie beispielsweise den Befehl tar, um die Archivdatei parent-1 zu extrahieren:

    tar -xzf ./parent-1.tgz
    
  3. Legen Sie die Ausführungsberechtigung für das Installationsskript fest.

    chmod +x install.sh
    
  4. Führen Sie auf jedem Gerät das Installationsskript mit Stammberechtigung aus, um das Konfigurationspaket anzuwenden:

    sudo ./install.sh
    

    Installation der Konfigurationspakete: Aktualisierung der „config.toml“-Dateien auf Ihrem Gerät und automatischer Neustart aller IoT Edge-Dienste

    Weitere Details zu Änderungen an der Konfigurationsdatei Ihres Geräts finden Sie unter Verbinden von Azure IoT Edge-Geräten, um eine Hierarchie zu erstellen.

Um zu überprüfen, ob Ihre Geräte ordnungsgemäß konfiguriert sind, führen Sie die Konfigurationsprüfung und die Verbindungsüberwachung auf Ihren Geräten aus.

sudo iotedge check
admin@child-1-vm:~$ sudo iotedge check

Configuration checks (aziot-identity-service)
---------------------------------------------
√ keyd configuration is well-formed - OK
√ certd configuration is well-formed - OK
√ tpmd configuration is well-formed - OK
√ identityd configuration is well-formed - OK
√ daemon configurations up-to-date with config.toml - OK
√ identityd config toml file specifies a valid hostname - OK
√ host time is close to reference time - OK
√ preloaded certificates are valid - OK
√ keyd is running - OK
√ certd is running - OK
√ identityd is running - OK
√ read all preloaded certificates from the Certificates Service - OK
√ read all preloaded key pairs from the Keys Service - OK
√ check all EST server URLs utilize HTTPS - OK
√ ensure all preloaded certificates match preloaded private keys with the same ID - OK

Connectivity checks (aziot-identity-service)
--------------------------------------------
√ host can connect to and perform TLS handshake with iothub AMQP port - OK
√ host can connect to and perform TLS handshake with iothub HTTPS / WebSockets port - OK
√ host can connect to and perform TLS handshake with iothub MQTT port - OK

Configuration checks
--------------------
√ aziot-edged configuration is well-formed - OK
√ configuration up-to-date with config.toml - OK
√ container engine is installed and functional - OK
√ configuration has correct parent_hostname - OK
√ configuration has correct URIs for daemon mgmt endpoint - OK
√ container time is close to host time - OK
‼ DNS server - Warning
    Container engine is not configured with DNS server setting, which may impact connectivity to IoT Hub.
    Please see https://aka.ms/iotedge-prod-checklist-dns for best practices.
    You can ignore this warning if you are setting DNS server per module in the Edge deployment.
‼ production readiness: logs policy - Warning
    Container engine is not configured to rotate module logs which may cause it run out of disk space.
    Please see https://aka.ms/iotedge-prod-checklist-logs for best practices.
    You can ignore this warning if you are setting log policy per module in the Edge deployment.
‼ production readiness: Edge Agent's storage directory is persisted on the host filesystem - Warning
    The edgeAgent module is not configured to persist its /tmp/edgeAgent directory on the host filesystem.
    Data might be lost if the module is deleted or updated.
    Please see https://aka.ms/iotedge-storage-host for best practices.
‼ production readiness: Edge Hub's storage directory is persisted on the host filesystem - Warning
    The edgeHub module is not configured to persist its /tmp/edgeHub directory on the host filesystem.
    Data might be lost if the module is deleted or updated.
    Please see https://aka.ms/iotedge-storage-host for best practices.
√ Agent image is valid and can be pulled from upstream - OK
√ proxy settings are consistent in aziot-edged, aziot-identityd, moby daemon and config.toml - OK

Connectivity checks
-------------------
√ container on the default network can connect to upstream AMQP port - OK
√ container on the default network can connect to upstream HTTPS / WebSockets port - OK
√ container on the IoT Edge module network can connect to upstream AMQP port - OK
√ container on the IoT Edge module network can connect to upstream HTTPS / WebSockets port - OK
30 check(s) succeeded.
4 check(s) raised warnings. Re-run with --verbose for more details.
2 check(s) were skipped due to errors from other checks. Re-run with --verbose for more details.

Auf dem Top-Level-Gerät wird die Ausgabe mit mehreren bestehenden Prüfungen angezeigt. Möglicherweise werden einige Warnungen zu Protokollrichtlinien und je nach Netzwerk DNS-Richtlinien angezeigt.

Gerätemodulbereitstellung

Die Modulbereitstellung für Ihre Geräte wird angewendet, wenn Sie die Geräte im IoT Hub erstellen. Der Befehl "az iot edge devices create " wendet die JSON-Bereitstellungsdateien für die Geräte der oberen und unteren Ebene an. Nach Abschluss der Bereitstellung verwendet das Gerät der unteren Ebene das IoT Edge-API-Proxymodul , um seine Images abzurufen.

Zusätzlich zu den Laufzeitmodulen IoT Edge Agent und IoT Edge Hub erhält das Gerät der obersten Ebene auch das Docker-Registrierungsmodul und das IoT Edge API Proxy-Modul .

Das Modul Docker-Registrierung verweist auf eine vorhandene Azure Container Registry-Instanz. In diesem Fall verweist REGISTRY_PROXY_REMOTEURL auf Microsoft Container Registry. Standardmäßig lauscht das Docker-Registrierungsmodul auf Port 5000.

Das IoT Edge-API-Proxymodul leitet HTTP-Anforderungen an andere Module weiter, sodass Geräte mit niedrigerer Ebene Containerimages oder Push-Blobs an den Speicher übertragen können. In diesem Lernprogramm kommuniziert es auf Port 443 und ist so konfiguriert, dass Docker-Containerimage-Pullanforderungen an Ihr Docker-Registrierungsmodul an Port 5000 gesendet werden. Blob-Speicher-Upload-Anfragen gehen an das Modul AzureBlobStorageonIoTEdge auf Port 11002. Weitere Informationen zum Modul IoT Edge-API-Proxy und zu dessen Konfiguration finden Sie in der zugehörigen Anleitung.

Informationen zum Erstellen einer Bereitstellung wie der folgenden im Azure-Portal oder in Azure Cloud Shell finden Sie im Abschnitt "Geräte auf oberster Ebene" des Anleitungshandbuchs.

Zeigen Sie den Status Ihrer Module mit diesem Befehl an:

az iot hub module-twin show --device-id <edge-device-id> --module-id '$edgeAgent' --hub-name <iot-hub-name> --query "properties.reported.[systemModules, modules]"

Dieser Befehl zeigt alle gemeldeten EdgeAgent-Eigenschaften an. Hilfreiche Eigenschaften für die Überwachung des Gerätestatus sind: Laufzeitstatus, Laufzeitstartzeit, Laufzeit-Letzte Beendigungszeit und Anzahl der Laufzeitneustarts.

Sie können auch den Status Ihrer Module im Azure-Portal anzeigen. Wechseln Sie zum Abschnitt "Geräte" Ihres IoT Hub, um Ihre Geräte und Module anzuzeigen.

Anzeigen generierter Daten

Das Modul "Simulierter Temperatursensor " generiert Beispielumgebungsdaten. Es sendet Nachrichten mit Umgebungstemperatur und Luftfeuchtigkeit, Computertemperatur und Druck sowie dem Zeitstempel.

Sie können diese Nachrichten auch mit Azure Cloud Shell anzeigen:

az iot hub monitor-events -n <iot-hub-name> -d <lower-layer-device-name>

Beispiel:

az iot hub monitor-events -n my-iot-hub -d child-1
{
    "event": {
        "origin": "child-1",
        "module": "simulatedTemperatureSensor",
        "interface": "",
        "component": "",
        "payload": "{\"machine\":{\"temperature\":104.29281270901808,\"pressure\":10.48905461241978},\"ambient\":{\"temperature\":21.086561171611102,\"humidity\":24},\"timeCreated\":\"2023-04-17T21:50:30.1082487Z\"}"
    }
}

Problembehandlung

Führen Sie den iotedge check Befehl aus, um die Konfiguration zu überprüfen und Fehler zu beheben.

Führen Sie iotedge check in einer geschachtelten Hierarchie aus, auch wenn nachgeschaltete Computer keinen direkten Internetzugang haben.

Wenn Sie iotedge check auf der unteren Ebene ausführen, pullt das Programm das Image von der übergeordneten Ebene über Port 443.

Der azureiotedge-diagnostics Wert stammt aus der Containerregistrierung, die mit dem Registrierungsmodul verknüpft ist. In diesem Lernprogramm ist es standardmäßig auf https://mcr.microsoft.com festgelegt:

Name Wert
REGISTRY_PROXY_REMOTEURL https://mcr.microsoft.com

Wenn Sie eine private Containerregistrierung verwenden, stellen Sie sicher, dass alle Images (IoTEdgeAPIProxy, edgeAgent, edgeHub, Simulierter Temperatursensor und Diagnose) in der Containerregistrierung vorhanden sind.

Wenn ein nachgeschaltetes Gerät eine andere Prozessorarchitektur als das übergeordnete Gerät verwendet, verwenden Sie das entsprechende Architekturimage. Verwenden Sie eine verbundene Registrierung oder geben Sie das richtige Image für die edgeAgent- und edgeHub-Module in der config.toml-Datei des Downstream-Geräts an. Wenn das übergeordnete Gerät z. B. auf ARM32v7 betrieben wird und das nachgeschaltete Gerät auf AMD64, geben Sie das entsprechende Imagetag für die Version und Architektur in der Datei config.toml des nachgeschalteten Geräts an.

[agent.config]
image = "$upstream:443/azureiotedge-agent:1.5.0-linux-amd64"

"systemModules": {
   "edgeAgent": {
      "settings": {
            "image": "$upstream:443/azureiotedge-agent:1.5.0-linux-amd64"
      },
   },
   "edgeHub": {
      "settings": {
            "image": "$upstream:443/azureiotedge-hub:1.5.0-linux-amd64",
      }
   }
}

Bereinigen von Ressourcen

Sie können die in diesem Artikel erstellten lokalen Konfigurationen und Azure-Ressourcen löschen, um Kosten zu vermeiden.

So löschen Sie die Ressourcen:

  1. Melden Sie sich beim Azure-Portal an, und klicken Sie auf Ressourcengruppen.

  2. Wählen Sie den Namen der Ressourcengruppe aus, die Ihre IoT Edge-Testressourcen enthält.

  3. Überprüfen Sie die Liste der Ressourcen in Ihrer Ressourcengruppe. Wenn Sie alle löschen möchten, klicken Sie auf Ressourcengruppe löschen. Wenn Sie nur einige Ressourcen löschen möchten, wählen Sie die jeweiligen Ressourcen aus, um sie einzeln zu löschen.

Nächste Schritte

In diesem Tutorial haben Sie zwei IoT Edge-Geräte als Gateways konfiguriert und eins als übergeordnetes Gerät des anderen festgelegt. Anschließend haben Sie ein Containerimage mithilfe des Moduls „IoT Edge-API-Proxy“ über ein Gateway auf das nachgeschaltete Gerät gepullt. Weitere Informationen finden Sie in der Anleitung zur Nutzung des Proxymoduls.

Weitere Informationen zur Verwendung von Gateways für die Erstellung von hierarchischen Ebenen von IoT Edge-Geräten finden Sie im folgenden Artikel.