Ausführen von virtuellen Computern vom Typ „Azure IoT Edge unter Ubuntu“
Gilt für: IoT Edge 1.5 IoT Edge 1.4
Wichtig
IoT Edge 1.5 LTS und IoT Edge 1.4 LTS sind unterstützte Releases. Das Ende der Lebensdauer von IoT Edge 1.4 LTS wird am 12. November 2024 erreicht. Wenn Sie ein früheres Release verwenden, finden Sie weitere Informationen unter Aktualisieren von IoT Edge.
Die Azure IoT Edge-Runtime verwandelt ein Gerät in ein IoT Edge-Gerät. Die Runtime kann auf verschiedensten Geräten bereitgestellt werden – vom kleinen Raspberry Pi bis hin zum großen industriellen Server. Sobald ein Gerät mit der IoT Edge-Runtime konfiguriert wurde, können Sie damit beginnen, die Geschäftslogik darauf in der Cloud bereitzustellen.
Weitere Informationen zur Funktionsweise und zu den Komponenten der IoT Edge-Runtime finden Sie unter Grundlegendes zur Azure IoT Edge-Runtime und ihrer Architektur.
In diesem Artikel werden die Schritte zum Bereitstellen einer VM mit Ubuntu und installierter Azure IoT Edge-Runtime beschrieben, die mithilfe einer vorab bereitgestellten Geräte-Verbindungszeichenfolge installiert und konfiguriert wurde. Die Bereitstellung erfolgt mithilfe einer cloud-init-basierten Azure Resource Manager-Vorlage, die im Projektrepository iotedge-vm-deploy verwaltet wird.
Beim ersten Start wird vom virtuellen Ubuntu Computer die neueste Version der Azure IoT Edge-Runtime über „cloud-init“ installiert. Außerdem wird von ihm vor dem Start der Laufzeit eine angegebene Verbindungszeichenfolge festgelegt, sodass Sie das IoT Edge-Gerät problemlos konfigurieren und verbinden können, ohne eine SSH- oder Remotedesktop-Sitzung starten zu müssen.
Bereitstellen mithilfe der Schaltfläche „In Azure bereitstellen“
Die Schaltfläche In Azure bereitstellen ermöglicht eine optimierte Bereitstellung von Azure Resource Manager-Vorlagen, die auf GitHub verwaltet verwenden. In diesem Abschnitt wird die Verwendung der Schaltfläche „In Azure bereitstellen“ im Projektrepository iotedge-vm-deploy gezeigt.
Sie stellen mithilfe der Azure Resource Manager-Vorlage „iotedge-vm-deploy“ eine Azure IoT Edge-fähige Linux-VM bereit. Wählen Sie zuerst die folgende Schaltfläche aus:
Füllen Sie im neu gestarteten Fenster die verfügbaren Formularfelder aus:
Feld BESCHREIBUNG Abonnement Das aktive Azure-Abonnement, in dem der virtuelle Computer bereitgestellt werden soll. Ressourcengruppe Eine vorhandene oder neu erstellte Ressourcengruppe, die den virtuellen Computer und die ihm zugeordneten Ressourcen enthalten soll. Region Die geografische Region, in der der virtuelle Computer bereitgestellt werden soll. Dieser Wert wird standardmäßig auf den Speicherort der ausgewählten Ressourcengruppe festgelegt. Präfix der DNS-Bezeichnung Ein erforderlicher Wert Ihrer Wahl, der dem Hostnamen des virtuellen Computers vorangestellt werden soll. Benutzername des Administrators Ein Benutzername, der Rootberechtigungen für die Bereitstellung erhält. Verbindungszeichenfolge für das Gerät Eine Geräte-Verbindungszeichenfolge für ein Gerät, das in Ihrem vorgesehenen IoT Hub erstellt wurde. VM-Größe Die Größe des bereitzustellenden virtuellen Computers. Ubuntu-Betriebssystemversion Die Version des Ubuntu-Betriebssystems, die auf dem virtuellen Basiscomputer installiert werden soll. Authentifizierungstyp Wählen Sie je nach Ihrer Einstellung sshPublicKey oder password aus. Administratorkennwort oder Schlüssel Der Wert des öffentlichen SSH-Schlüssels oder der Wert des Kennworts, je nach der Auswahl des Authentifizierungstyps. Wählen Sie
Next : Review + create
aus, um die Begriffe zu überprüfen, und wählen Sie Erstellen aus, um mit der Bereitstellung zu beginnen.Überprüfen Sie, ob die Bereitstellung erfolgreich abgeschlossen wurde. In der ausgewählten Ressourcengruppe wird eine VM-Ressource bereitgestellt. Notieren Sie sich den Computernamen, der das Format
vm-0000000000000
haben sollte. Überprüfen Sie darüber hinaus auch den entsprechenden DNS-Namen. Dieser sollte das Format „<dnsLabelPrefix>
.<location>
.cloudapp.azure.com“ aufweisen.Den DNS-Namen finden Sie im Azure-Portal im Abschnitt Übersicht des eben bereitgestellten virtuellen Computers.
Wenn Sie nach dem Setup eine SSH-Verbindung mit diesem virtuellen Computer herstellen möchten, verwenden Sie den zugeordneten DNS-Namen mit folgendem Befehl:
ssh <adminUsername>@<DNS_Name>
.
Bereitstellen über die Azure-Befehlszeilenschnittstelle
Vergewissern Sie sich wie folgt, dass die IoT-Erweiterung der Azure-Befehlszeilenschnittstelle installiert ist:
az extension add --name azure-iot
Wenn Sie die Azure-Befehlszeilenschnittstelle auf Ihrem Desktop verwenden, melden Sie sich als Nächstes an:
az login
Wenn Sie mehrere Abonnements haben, wählen Sie das Abonnement aus, das Sie verwenden möchten:
Listen Sie Ihre Abonnements auf:
az account list --output table
Kopieren Sie das Feld „SubscriptionID“ für das Abonnement, das Sie verwenden möchten.
Legen Sie Ihr Arbeitsabonnement mit der kopierten ID fest:
az account set -s <SubscriptionId>
Erstellen Sie eine neue Ressourcengruppe (oder geben Sie in den nächsten Schritten eine vorhandene Ressourcengruppe an):
az group create --name IoTEdgeResources --location westus2
Erstellen Sie einen neuen virtuellen Computer:
Wenn Sie einen authenticationType von
password
verwenden möchten, sehen Sie sich das folgende Beispiel an:az deployment group create \ --resource-group IoTEdgeResources \ --template-uri "https://raw.githubusercontent.com/Azure/iotedge-vm-deploy/main/edgeDeploy.json" \ --parameters dnsLabelPrefix='my-edge-vm1' \ --parameters adminUsername='<REPLACE_WITH_USERNAME>' \ --parameters deviceConnectionString=$(az iot hub device-identity connection-string show --device-id <REPLACE_WITH_DEVICE-NAME> --hub-name <REPLACE-WITH-HUB-NAME> -o tsv) \ --parameters authenticationType='password' \ --parameters adminPasswordOrKey="<REPLACE_WITH_SECRET_PASSWORD>"
Wenn Sie sich mit einem SSH-Schlüssel authentifizieren möchten, geben Sie dazu einen authenticationType von
sshPublicKey
und dann den Wert des SSH-Schlüssels im Parameter adminPasswordOrKey an. Siehe folgendes Beispiel:#Generate the SSH Key ssh-keygen -m PEM -t rsa -b 4096 -q -f ~/.ssh/iotedge-vm-key -N "" #Create a VM using the iotedge-vm-deploy script az deployment group create \ --resource-group IoTEdgeResources \ --template-uri "https://raw.githubusercontent.com/Azure/iotedge-vm-deploy/main/edgeDeploy.json" \ --parameters dnsLabelPrefix='my-edge-vm1' \ --parameters adminUsername='<REPLACE_WITH_USERNAME>' \ --parameters deviceConnectionString=$(az iot hub device-identity connection-string show --device-id <REPLACE_WITH_DEVICE-NAME> --hub-name <REPLACE-WITH-HUB-NAME> -o tsv) \ --parameters authenticationType='sshPublicKey' \ --parameters adminPasswordOrKey="$(< ~/.ssh/iotedge-vm-key.pub)"
Überprüfen Sie, ob die Bereitstellung erfolgreich abgeschlossen wurde. In der ausgewählten Ressourcengruppe sollte eine VM-Ressource bereitgestellt sein. Notieren Sie sich den Computernamen, der das Format
vm-0000000000000
haben sollte. Überprüfen Sie darüber hinaus auch den entsprechenden DNS-Namen. Dieser sollte das Format „<dnsLabelPrefix>
.<location>
.cloudapp.azure.com“ aufweisen.Der DNS-Name kann aus der JSON-formatierten Ausgabe des vorherigen Schritts abgerufen werden, die im Abschnitt outputs als Teil des Eintrags public SSH enthalten ist. Der Wert dieses Eintrags kann verwendet werden, um eine SSH-Verbindung mit dem neu bereitgestellten Computer herzustellen.
"outputs": { "public SSH": { "type": "String", "value": "ssh <adminUsername>@<DNS_Name>" } }
Der DNS-Name kann auch im Azure-Portal aus dem Abschnitt Übersicht des neu bereitgestellten virtuellen Computers abgerufen werden.
Wenn Sie nach dem Setup eine SSH-Verbindung mit diesem virtuellen Computer herstellen möchten, verwenden Sie den zugeordneten DNS-Namen mit folgendem Befehl:
ssh <adminUsername>@<DNS_Name>
.
Nächste Schritte
Nachdem Sie nun ein IoT Edge-Gerät für die installierte Runtime bereitgestellt haben, können Sie IoT Edge-Module bereitstellen.
Wenn Sie Probleme mit der ordnungsgemäßen Installation der IoT Edge-Runtime haben, lesen Sie die Informationen auf der Seite Problembehandlung.
Weitere Informationen zum Aktualisieren einer vorhandenen Installation auf die aktuelle Version von IoT Edge finden Sie unter Aktualisieren des IoT Edge-Sicherheitsdaemons und der Runtime.
Wenn Sie Ports für den Zugriff auf die VM über SSH oder andere eingehende Verbindungen öffnen möchten, lesen Sie in der Dokumentation zu Azure-VMs das Thema Öffnen von Ports und Endpunkten für eine Linux-VM.