Übung: Installieren der IoT Edge-Runtime für Linux
Bevor Sie beginnen, benötigen Sie Folgendes:
- Ein Microsoft Azure-Abonnement Wenn Sie noch keines haben, können Sie sich unter https://azure.microsoft.com/free für eine kostenlose Testversion registrieren. Studierende können sich für ein Microsoft Azure for Students-Konto registrieren.
Erstellen von Cloudressourcen
Erstellen einer Ressourcengruppe
Führen Sie die folgenden Schritte in der Azure Cloud Shell-Umgebung aus.
Wählen Sie oben links „Bash“ als Umgebung für Cloud Shell aus.
Fügen Sie die Azure IoT-Erweiterung der Cloud Shell-Instanz hinzu.
az extension add --name azure-iot
Erstellen Sie mit dem folgenden Befehl eine Ressourcengruppe in der Region „eastus2“. Benennen Sie Ihre Ressourcengruppe.
az group create --name <resource-group-name> --location eastus2
Erstellen eines IoT Edge-Geräts in IoT Hub
Erstellen Sie mit dem folgenden Befehl eine IoT Hub-Instanz im Tarif F1. Benennen Sie die IoT Hub-Instanz mit dem Namen Ihrer Ressourcengruppe.
az iot hub create --resource-group <resource-group-name> --name <iot-hub-name> --sku F1 --partition-count 2
Ein Gerät muss bei Ihrer IoT Hub-Instanz registriert werden, um eine Verbindung herstellen zu können. Führen Sie den folgenden Befehl aus, um eine Geräteidentität in der IoT Hub-Instanz zu erstellen. Benennen Sie das IoT-Gerät mit dem Namen Ihrer IoT Hub-Instanz.
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 dem Linux-Computer.
Installieren Sie die zum Betriebssystem Ihres Geräts passende Repositorykonfiguration.
Ubuntu Server 18.04:
curl https://packages.microsoft.com/config/ubuntu/18.04/multiarch/prod.list > ./microsoft-prod.list
Kopieren 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 die Verwendung der Moby-Engine. Die Moby-Engine ist die einzige Container-Engine, das bei Azure IoT Edge offiziell unterstützt wird. Docker CE/EE-Containerimages sind mit der Moby-Runtime kompatibel.
Aktualisieren Sie die Paketlisten auf Ihrem Gerät.
sudo apt-get update
Installieren Sie die Moby-Engine.
sudo apt-get install moby-engine
Wenn beim Installieren der Moby-Containerengine Fehler angezeigt werden, ü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 Funktionen fehlen, aktivieren Sie diese, indem Sie Ihren Kernel aus der Quelle neu erstellen und die zugehörigen Module zum Einbinden in die entsprechende Konfigurationsdatei für den Kernel auswählen. Gleiches gilt, wenn Sie einen Kernelkonfigurationsgenerator wie defconfig
oder menuconfig
verwenden: Suchen und aktivieren Sie die entsprechenden Funktionen, und erstellen Sie dann den Kernel dementsprechend neu. Sobald Sie Ihren bearbeiteten Kernel bereitgestellt haben, führen Sie das check-config-Skript erneut aus, um zu überprüfen, ob alle erforderlichen Funktionen erfolgreich aktiviert wurden.
Installieren des Daemons für IoT Edge-Sicherheit
Der Daemon für IoT Edge-Sicherheit dient zum Bereitstellen und Einhalten von Sicherheitsstandards auf dem IoT Edge-Gerät. Der Daemon wird bei jedem Start gestartet und führt durch Starten der restlichen IoT Edge-Runtime einen Bootstrap für das Gerät aus.
Aktualisieren Sie die Paketlisten auf Ihrem Gerät.
sudo apt-get update
Überprüfen Sie, welche IoT Edge-Versionen verfügbar sind.
apt list -a iotedge
Installieren Sie die aktuelle Version des Sicherheitsdaemons, und verwenden Sie den folgenden Befehl, mit dem auch die aktuelle Version des libiothsm-std-Pakets installiert wird:
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-Runtime auf Ihrem Linux-Gerät installiert, und Sie müssen das Gerät mit seiner Cloud-Identität und seinen Authentifizierungsinformationen bereitstellen.
In diesem Abschnitt werden die Schritte zum Bereitstellen eines Geräts mit einer Authentifizierung mit symmetrischem Schlüssel erläutert. Sie sollten Ihr Gerät in 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 die Bereitstellungskonfigurationen der Datei, und heben Sie die Auskommentierung des Abschnitts Manual provisioning configuration using a connection string (Manuelle Bereitstellungskonfiguration mit einer Verbindungszeichenfolge) auf, wenn dies nicht bereits geschehen 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 durch die Verbindungszeichenfolge Ihres IoT Edge-Geräts. Vergewissern Sie sich, dass alle anderen Bereitstellungsabschnitte auskommentiert sind. Achten Sie darauf, dass vor der Zeile provisioning: kein Leerzeichen vorhanden ist und dass geschachtelte Elemente um zwei Leerzeichen eingerückt werden.
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 nach Eingabe der Bereitstellungsinformationen in der Konfigurationsdatei den Daemon neu:
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