Freigeben über


Tutorial: Erstellen einer Hierarchie von IoT Edge-Geräten mit IoT Edge für Linux unter Windows

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

Wichtig

Azure IoT Edge 1.5 LTS und IoT Edge 1.4 sind unterstützte Releases. IoT Edge 1.4 LTS erreicht das Dienstende am 12. November 2024. 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 Ebene direkt darüber bzw. darunter kommunizieren können. Diese Netzwerkebenen sind die Grundlage der meisten Unternehmensnetzwerke, die auf der ISA-95-Norm basieren.

Dieses Tutorial führt Sie durch die Erstellung einer Hierarchie von IoT Edge-Geräten mit IoT Edge für Linux unter Windows, die Bereitstellung von IoT Edge-Runtimecontainern auf Ihren Geräten und die lokale Konfiguration Ihrer Geräte. 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 von IoT Edge-Geräten werfen möchten, führen Sie Ihr eigenes Skript basierend auf dem Skript Beispiel für Azure IoT Edge 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:

  • Eine Bash-Shell in Azure Cloud Shell mit der Azure CLI v2.3.1, für die die Azure IoT-Erweiterung v0.10.6 oder höher 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 Windows-Geräte, auf denen Azure IoT Edge für Linux unter Windows ausgeführt wird. Beide Geräte sollten über einen externen virtuellen Switch bereitgestellt werden.

Tipp

Es ist möglich, einen internen oder standardmäßigen virtuellen Switch zu verwenden, wenn eine Portweiterleitung auf dem Windows-Host-Betriebssystem konfiguriert ist. Der Einfachheit halber sollten jedoch beide Geräte einen externen virtuellen Switch verwenden und mit demselben externen Netzwerk verbunden sein.

Weitere Informationen zum Netzwerk finden Sie unter Azure IoT Edge für Linux unter Windows-Netzwerk und Netzwerkkonfiguration für Azure IoT Edge für Linux unter Windows.

Wenn Sie die EFLOW-Geräte in einer DMZ einrichten müssen, finden Sie weitere Informationen unter Konfigurieren von Azure IoT Edge für Linux unter Windows: Industrial IoT und DMZ-Konfiguration.

  • 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“.
  • 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.

Tipp

Weitere Informationen zur EFLOW-Firewall für virtuelle Maschinen finden Sie unter IoT Edge für Linux unter Windows-Sicherheit.

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. Die Konfigurationen unterscheiden sich für das Gerät der obersten Ebene und ein Gerät der unteren Ebene. Achten Sie also darauf, welche Gerätekonfigurationsdatei Sie auf das jeweilige Gerät anwenden.

Für jedes Gerät wird das entsprechende richtige Konfigurationspaket benötigt. Sie können ein USB-Laufwerk oder Secure File Copy verwenden, um die Konfigurationspakete auf die einzelnen Geräte zu verschieben. Sie müssen das Konfigurationspaket auf das Windows-Hostbetriebssystem jedes EFLOW-Geräts und dann auf die EFLOW-VM kopieren.

Warnung

Stellen Sie sicher, dass Sie jeweils das richtige Konfigurationspaket an ein Gerät senden.

Gerätekonfiguration der oberste Ebene

  1. Stellen Sie eine Verbindung mit Ihrem Windows-Hostgerät der obersten Ebene her, und kopieren Sie die Datei parent-1.tzg auf das Gerät.

  2. Starten Sie eine PowerShell-Sitzung mit erhöhten Rechten mithilfe von Als Administrator ausführen.

  3. Kopieren Sie parent-1.tzg in die EFLOW-VM.

    Copy-EflowVmFile -fromFile parent-1.tzg -toFile ~/ -pushFile
    
  4. Stellen Sie eine Verbindung zu Ihrer virtuellen EFLOW-Maschine her

    Connect-EflowVm
    
  5. Extrahieren Sie das Konfigurationspaketarchiv. Verwenden Sie beispielsweise den tar-Befehl, um die Archivdatei parent-1 zu extrahieren:

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

    chmod +x install.sh
    
  7. Führen Sie das Skript install.sh aus.

    sudo sh ./install.sh
    
  8. Wenden Sie die richtigen Zertifikatberechtigungen an, und starten Sie die IoT Edge-Runtime neu.

    sudo chmod -R 755 /etc/aziot/certificates/
    sudo iotedge system restart
    
  9. Überprüfen Sie, ob alle IoT Edge-Dienste ordnungsgemäß ausgeführt werden.

    sudo iotedge system status
    
  10. Fügen Sie schließlich die entsprechenden Firewall-Regeln hinzu, um die Konnektivität zwischen dem Gerät der unteren Schicht und dem Gerät der obersten Schicht zu ermöglichen.

    sudo iptables -A INPUT -p tcp --dport 5671 -j ACCEPT
    sudo iptables -A INPUT -p tcp --dport 8883 -j ACCEPT
    sudo iptables -A INPUT -p tcp --dport 443 -j ACCEPT
    sudo iptables -A INPUT -p icmp --icmp-type 8 -s 0/0 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
    sudo iptables-save | sudo tee /etc/systemd/scripts/ip4save
    
  11. Führen Sie die Konfigurations- und Konnektivitätsprüfungen auf Ihren Geräten aus.

    sudo iotedge check
    

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.

Falls Sie sich genauer ansehen möchten, welche Änderungen an der Konfigurationsdatei Ihres Geräts vorgenommen werden, hilft Ihnen der Abschnitt „Konfigurieren von IoT Edge auf Geräten“ in der Anleitung weiter.

Gerätekonfiguration der unteren Schicht

  1. Stellen Sie eine Verbindung mit Ihrem Windows-Hostgerät der unteren Ebene her, und kopieren Sie die Datei child-1.tzg auf das Gerät.

  2. Starten Sie eine PowerShell-Sitzung mit erhöhten Rechten mithilfe von Als Administrator ausführen.

  3. Kopieren Sie child-1.tzg in die EFLOW-VM.

    Copy-EflowVmFile -fromFile child-1.tzg -toFile ~/ -pushFile
    
  4. Stellen Sie eine Verbindung zu Ihrer virtuellen EFLOW-Maschine her

    Connect-EflowVm
    
  5. Extrahieren Sie das Konfigurationspaketarchiv. Verwenden Sie beispielsweise den tar-Befehl, um die Archivdatei child-1 zu extrahieren:

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

    chmod +x install.sh
    
  7. Führen Sie das Skript install.sh aus.

    sudo sh ./install.sh
    
  8. Wenden Sie die richtigen Zertifikatberechtigungen an, und starten Sie die IoT Edge-Runtime neu.

    sudo chmod -R 755 /etc/aziot/certificates/
    sudo iotedge system restart
    
  9. Überprüfen Sie, ob alle IoT Edge-Dienste ordnungsgemäß ausgeführt werden.

    sudo iotedge system status
    
  10. Führen Sie die Konfigurations- und Konnektivitätsprüfungen auf Ihren Geräten aus. Für das Gerät der unteren Ebene muss das Diagnoseimage manuell im Befehl übergeben werden:

    sudo iotedge check --diagnostics-image-name <parent_device_fqdn_or_ip>:443/azureiotedge-diagnostics:1.2
    

Wenn Sie die oben beschriebenen Schritte richtig ausgeführt haben, können Sie überprüfen, ob Ihre Geräte ordnungsgemäß konfiguriert sind. Sobald Sie zufrieden sind, dass Ihre Konfigurationen auf jedem Gerät korrekt sind, können Sie fortfahren.

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 Geräte 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.

sudo iotedge check --diagnostics-image-name $upstream:443/azureiotedge-diagnostics:1.2

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 gezeigt, wie Sie ein Containerimage über ein Gateway auf das untergeordnete Gerät pullen, indem das Modul „IoT Edge-API-Proxy“ genutzt wird. 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.