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

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

Wichtig

IoT Edge Version 1.4 wird unterstützt. Wenn Sie ein früheres Release verwenden, finden Sie weitere Informationen unter Aktualisieren von IoT Edge.

Sie können in hierarchischen Ebenen angeordnete Azure IoT Edge-Knoten netzwerkübergreifend bereitstellen. 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.

Sie können eine Hierarchie mit Geräten so strukturieren, dass nur die oberste Ebene über Konnektivität mit der Cloud verfügt und die untergeordneten Ebenen nur mit der Upstream- und der Downstream-Ebene direkt darüber bzw. darunter kommunizieren können. Diese Netzwerkebenen bilden die Grundlage der meisten Unternehmensnetzwerke, die der ISA-95-Norm entsprechen.

In diesem Tutorial werden Schritt für Schritt die Erstellung einer Hierarchie mit IoT Edge-Geräten, die Bereitstellung von IoT Edge-Runtimecontainern auf Ihren Geräten und die lokale Konfiguration der Geräte beschrieben. Sie führen die folgenden Aufgaben aus:

  • 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 auch 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. Sie können nach Bedarf weitere Geräte hinzufügen, um Ihre Produktionsumgebung darzustellen. Geräte in unteren Ebenen werden auch 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.4 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, müssen Sie das Bereitstellungsmanifest für die Geräte der oberen und unteren Ebene definieren. 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 sehen Sie, dass die Laufzeitmodule zum Pullen von $upstream:443 anstelle von mcr.microsoft.com festgelegt sind. Das Gerät der unteren Ebene sendet Docker-Image-Anforderungen an das Modul IoT Edge API Proxy an 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 Bereitstellungsmanifests für die untere Ebene 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 die folgenden Platzhalter durch die entsprechenden Werte:

    Platzhalter BESCHREIBUNG
    <hub-name> Der Name Ihres IoT Hubs.
    <config-bundle-output-path> Der Ordnerpfad, in dem Sie die Konfigurationspakete speichern möchten
    <parent-device-name> Die ID des Geräts der obersten Ebene
    <parent-deployment-manifest> Die Bereitstellungsmanifestdatei des übergeordneten Geräts
    <parent-fqdn-or-ip> Der vollqualifizierte Domänenname (FQDN) oder die IP-Adresse des übergeordneten Geräts
    <child-device-name> Die ID des Geräts der unteren Ebene
    <child-deployment-manifest> Die Bereitstellungsmanifestdatei des untergeordneten Geräts
    <child-fqdn-or-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.4" \
       --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.4" \
       --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
    

Nachdem Sie den Befehl ausgeführt haben, finden Sie die Gerätekonfigurationspakete im output-Verzeichnis. Zum 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

Sie können eigene Zertifikate und Schlüssel verwenden, die als Argumente an den Befehl übergeben werden, oder eine komplexere Gerätehierarchie erstellen. 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-Runtime

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.

Zum Konfigurieren der IoT Edge-Runtime müssen Sie die Konfigurationspakete auf Ihre Geräte anwenden. Das Gerät der obersten Ebene und ein Gerät der unteren Ebene verfügen über unterschiedliche Konfigurationen. Achten Sie also darauf, welche Gerätekonfigurationsdatei Sie auf die einzelnen Geräte anwenden.

  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. Wenden Sie das Konfigurationspaket auf jedem Gerät unter Verwendung der Stammberechtigung an:

    sudo ./install.sh
    

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

    Falls Sie sich genauer ansehen möchten, welche Änderungen an der Konfigurationsdatei Ihres Geräts vorgenommen werden, hilft Ihnen der Abschnitt Verbinden von Azure IoT Edge-Geräten zum Erstellen einer Hierarchie weiter.

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 Ihrem Gerät der obersten Ebene sollte eine Ausgabe mit mehreren bestandenen Auswertungen angezeigt werden. Unter Umständen werden einige Warnungen zu Protokollrichtlinien und – je nach Netzwerk – DNS-Richtlinien angezeigt.

Gerätemodulbereitstellung

Die Modulbereitstellung für Ihre Geräte wurde angewendet, als die Geräte in IoT Hub erstellt wurden. Mit dem Befehl az iot edge devices create wurden die JSON-Bereitstellungsdateien für die Geräte der obersten und unteren Ebene angewendet. Nach Abschluss dieser Bereitstellungen verwendet das Gerät der unteren Ebene das Modul IoT Edge-API-Proxy, um die erforderlichen Images zu pullen.

Zusätzlich zu den Runtimemodulen IoT Edge-Agent und IoT Edge-Hub erhält das Gerät der obersten Ebene auch die Module Docker-Registrierung und IoT Edge-API-Proxy.

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

Das Modul IoT Edge-API-Proxy leitet HTTP-Anforderungen an andere Module weiter, um zu ermöglichen, dass Geräte der unteren Ebene Containerimages pullen oder Blobs in Speicher pushen. In diesem Tutorial erfolgt die Kommunikation hierbei über Port 443. In der Konfiguration ist festgelegt, dass Pull Requests für Docker-Containerimages an das Modul Docker-Registrierung an Port 5000 gesendet werden. Alle Anforderungen zum Hochladen in den Blobspeicher werden zudem an das Modul „AzureBlobStorageonIoTEdge“ an Port 11002 geleitet. Weitere Informationen zum Modul IoT Edge-API-Proxy und zu dessen Konfiguration finden Sie in der zugehörigen Anleitung.

Informationen dazu, wie Sie eine Bereitstellung dieser Art über das Azure-Portal oder Azure Cloud Shell erstellen, finden Sie in der Anleitung unter Bereitstellen von Modulen auf Geräten oberer Ebenen.

Sie können den Status Ihrer Module mit dem folgenden Befehl anzeigen:

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

Mit diesem Befehl werden alle gemeldeten edgeAgent-Eigenschaften ausgegeben. Hier sind einige hilfreiche Befehle angegeben, mit denen Sie den Status des Geräts überwachen können: runtime status, runtime start time, runtime last exit time, runtime restart count.

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

Anzeigen generierter Daten

Mit dem von Ihnen gepushten simulierten Temperatursensormodul werden Beispielumgebungsdaten generiert. Es sendet Nachrichten mit Umgebungstemperatur und Luftfeuchtigkeit, Computertemperatur und Druck sowie dem Zeitstempel.

Sie können diese Nachrichten auch über 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 Befehl iotedge check aus, um die Konfiguration zu überprüfen und die Problembehandlung durchzuführen.

Sie können iotedge check in einer geschachtelten Hierarchie ausführen – sogar dann, wenn die nachgeschalteten Computer keinen direkten Internetzugriff haben.

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

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

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

Stellen Sie bei Verwendung einer privaten Containerregistrierung sicher, dass alle Images („IoTEdgeAPIProxy“, „edgeAgent“, „edgeHub“, „Simulierter Temperatursensor“ und „diagnostics“) in der Containerregistrierung vorhanden sind.

Wenn ein nachgeschaltetes Gerät über eine andere Prozessorarchitektur als das übergeordnete Gerät verfügt, benötigen Sie das entsprechende Architekturimage. Sie können eine verbundene Registrierung verwenden oder das richtige Image für die Module edgeAgent und edgeHub in der Datei config.toml des nachgeschalteten Geräts angeben. Wenn das übergeordnete Gerät beispielsweise in einer ARM32v7-Architektur und das nachgeschaltete Gerät in einer AMD64-Architektur ausgeführt wird, müssen Sie das entsprechende Versions- und Architekturimagetag in der Datei config.toml des nachgeschalteten Geräts angeben.

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

"systemModules": {
   "edgeAgent": {
      "settings": {
            "image": "$upstream:443/azureiotedge-agent:1.4.10-linux-amd64"
      },
   },
   "edgeHub": {
      "settings": {
            "image": "$upstream:443/azureiotedge-hub:1.4.10-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.