Übung: Installieren der IoT Edge-Runtime für Linux

Abgeschlossen

Bevor Sie beginnen, benötigen Sie Folgendes:

Erstellen von Cloudressourcen

Erstellen einer Ressourcengruppe

Führen Sie die folgenden Schritte in der Azure Cloud Shell-Umgebung aus.

  1. Wählen Sie "Bash" von oben links als Umgebung für Ihre Cloud Shell aus.

  2. Fügen Sie die Azure IoT-Erweiterung der Cloud Shell-Instanz hinzu.

    az extension add --name azure-iot
    
  3. Erstellen Sie eine Ressourcengruppe im Eastus2-Standort mithilfe des folgenden Befehls. Benennen Sie Ihre Ressourcengruppe.

    az group create --name <resource-group-name> --location eastus2   
    

Erstellen eines IoT Edge-Geräts im IoT-Hub

  1. Erstellen Sie einen F1-IoT-Hub mit dem folgenden Befehl. Geben Sie Ihrem IoT Hub einen Namen, und ersetzen Sie ihn durch Ihre Ressourcengruppe.

    az iot hub create --resource-group <resource-group-name> --name <iot-hub-name> --sku F1 --partition-count 2  
    
  2. Ein Gerät muss bei Ihrem IoT Hub registriert werden, bevor es eine Verbindung herstellen kann. Führen Sie den folgenden Befehl aus, um eine Geräteidentität in Ihrem IoT Hub zu erstellen. Geben Sie Ihrem IoT-Gerät einen Namen, und ersetzen Sie ihn durch Ihren IoT Hub.

    az iot hub device-identity create --hub-name <iot-hub-name> --device-id <device-id>
    

Installieren von IoT Edge für Linux

Hinweis

Wechseln Sie zur Microsoft-Seite, wenn Sie mehr über die Installation von IoT Edge für Linux erfahren möchten.

  1. Öffnen Sie das Terminal auf Ihrem Linux-Computer.

  2. Installieren Sie die Repositorykonfiguration, die Ihrem Gerätebetriebssystem entspricht.

    Ubuntu Server 18.04:

    curl https://packages.microsoft.com/config/ubuntu/18.04/multiarch/prod.list > ./microsoft-prod.list
    
  3. Kopieren Sie die generierte Liste in das Verzeichnis sources.list.d.

    sudo cp ./microsoft-prod.list /etc/apt/sources.list.d/
    
  4. Installieren Sie den öffentlichen Schlüssel von Microsoft GPG.

    curl https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > microsoft.gpg
    sudo cp ./microsoft.gpg /etc/apt/trusted.gpg.d/
    

Installieren einer Containerengine

Azure IoT Edge basiert auf einer OCI-kompatiblen Containerruntime. Für Produktionsszenarien empfehlen wir, dass Sie das Moby-Modul verwenden. Das Moby-Modul ist das einzige containermodul, das offiziell mit Azure IoT Edge unterstützt wird. Docker CE / EE-Container-Images sind mit der Moby-Runtime kompatibel.

  1. Aktualisieren Sie Paketlisten auf Ihrem Gerät.

    sudo apt-get update
    
  2. Installieren Sie die Moby-Engine.

    sudo apt-get install moby-engine
    

Wenn Beim Installieren des Moby-Containermoduls Fehler auftreten, überprüfen Sie Ihren Linux-Kernel auf Moby-Kompatibilität. Einige Hersteller von eingebetteten Geräten stellen Geräteimages mit benutzerdefinierten Linux-Kernels bereit, denen die Funktionen für die Containerengine-Kompatibilität fehlen. Führen Sie den folgenden Befehl aus, der das von Moby bereitgestellte check-config-Skript verwendet, um die Kernelkonfiguration zu überprüfen:

curl -sSL https://raw.githubusercontent.com/moby/moby/master/contrib/check-config.sh -o check-config.sh
chmod +x check-config.sh
./check-config.sh

Überprüfen Sie in der Ausgabe des Skripts, ob alle Elemente unter Generally Necessary und Network Drivers aktiviert sind. Wenn Ihnen Funktionen fehlen, aktivieren Sie diese, indem Sie Ihren Kernel aus dem Quellcode neu erstellen und die zugehörigen Module zur Aufnahme in die entsprechende Kernel-.config auswählen. Wenn Sie einen Kernelkonfigurationsgenerator wie defconfig oder menuconfig verwenden, suchen und aktivieren Sie die entsprechenden Funktionen und erstellen Sie Ihren Kernel entsprechend neu. Nachdem Sie den neu geänderten Kernel bereitgestellt haben, führen Sie das Check-config-Skript erneut aus, um zu überprüfen, ob alle erforderlichen Features erfolgreich aktiviert wurden.

Installieren des IoT Edge-Sicherheitsdaemons

Der IoT Edge-Sicherheitsdaemon stellt Sicherheitsstandards auf dem IoT Edge-Gerät bereit und verwaltet diese. Der Daemon wird bei jedem Startvorgang ausgeführt und initialisiert das Gerät, indem er den Rest der IoT Edge-Laufzeit startet.

  1. Aktualisieren Sie Paketlisten auf Ihrem Gerät.

    sudo apt-get update
    
  2. Überprüfen Sie, welche IoT Edge-Versionen verfügbar sind.

    apt list -a iotedge
    
  3. Installieren Sie die neueste Version des Sicherheitsdaemons, verwenden Sie den folgenden Befehl, der auch die neueste Version des libiothsm-std-Pakets installiert:

    sudo apt-get install iotedge
    

Bereitstellen des Geräts mit seiner Cloud-Identität

Authentifizieren mit symmetrischen Schlüsseln

Zu diesem Zeitpunkt wird die IoT Edge-Laufzeit auf Ihrem Linux-Gerät installiert, und Sie müssen das Gerät mit seinen Cloudidentitäts- und Authentifizierungsinformationen bereitstellen.

In diesem Abschnitt werden die Schritte zum Bereitstellen eines Geräts mit symmetrischer Schlüsselauthentifizierung erläutert. Sie sollten Ihr Gerät im IoT Hub registriert und die Verbindungszeichenfolge aus den Geräteinformationen abgerufen haben.

Öffnen Sie die Konfigurationsdatei auf dem IoT Edge-Gerät.

sudo nano /etc/iotedge/config.yaml

Suchen Sie nach den Bereitstellungskonfigurationen in der Datei, und heben Sie die Auskommentierung des Abschnitts Manual provisioning configuration using a connection string auf, wenn die Auskommentierung nicht schon aufgehoben ist.

```toml
# Manual provisioning configuration using a connection string
provisioning:
  source: "manual"
  device_connection_string: "<ADD DEVICE CONNECTION STRING HERE>"
```

Aktualisieren Sie den Wert von device_connection_string mit der Verbindungszeichenfolge von Ihrem IoT Edge-Gerät. Stellen Sie sicher, dass alle anderen Bereitstellungsabschnitte auskommentiert sind. Stellen Sie sicher, dass der Zeile provisioning: kein Leerzeichen vorangestellt ist und dass geschachtelte Elemente jeweils um zwei Leerzeichen eingerückt sind.

Um den Inhalt der Zwischenablage in Nano einzufügen, drücken Sie die UMSCHALT-TASTE, und klicken Sie mit der rechten Maustaste, oder drücken Sie UMSCHALT+EINFG.

Speichern und schließen Sie die Datei.

CTRL + X`, `Y`, `Enter

Starten Sie den Daemon neu, nachdem Sie die Bereitstellungsinformationen in die Konfigurationsdatei eingegeben haben:

sudo systemctl restart iotedge

Überprüfen der erfolgreichen Konfiguration

Vergewissern Sie sich, dass die Runtime erfolgreich auf Ihrem IoT Edge-Gerät installiert und konfiguriert wurde.

Überprüfen Sie, ob der IoT Edge-Systemdienst ausgeführt wird.

sudo systemctl status iotedge