Übung: Installieren der IoT Edge-Runtime für Linux
Bevor Sie beginnen, benötigen Sie Folgendes:
- Ein Microsoft Azure-Abonnement Wenn Sie noch keine haben, können Sie sich bei https://azure.microsoft.com/free für eine kostenlose Testversion registrieren. Wenn Sie Schüler sind, registrieren Sie sich für ein Azure for Students-Konto .
Erstellen von Cloudressourcen
Erstellen einer Ressourcengruppe
Führen Sie die folgenden Schritte in der Azure Cloud Shell-Umgebung aus.
Wählen Sie "Bash" von oben links als Umgebung für Ihre Cloud Shell aus.
Fügen Sie die Azure IoT-Erweiterung der Cloud Shell-Instanz hinzu.
az extension add --name azure-iotErstellen 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
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 2Ein 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.
Öffnen Sie das Terminal auf Ihrem Linux-Computer.
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.listKopieren Sie die generierte Liste in das Verzeichnis sources.list.d.
sudo cp ./microsoft-prod.list /etc/apt/sources.list.d/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.
Aktualisieren Sie Paketlisten auf Ihrem Gerät.
sudo apt-get updateInstallieren 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.
Aktualisieren Sie Paketlisten auf Ihrem Gerät.
sudo apt-get updateÜberprüfen Sie, welche IoT Edge-Versionen verfügbar sind.
apt list -a iotedgeInstallieren 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