Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Gilt für:
IoT Edge 1,5
Wichtig
IoT Edge 1.5 LTS ist die unterstützte Version. IoT Edge 1.4 LTS erreichte am 12. November 2024 das Ende des Lebens. Wenn Sie eine frühere Version verwenden, lesen Sie Update IoT Edge.
Dieser Artikel enthält schrittweise Anleitungen zum Registrieren und Bereitstellen eines IoT Edge für Linux auf Windows Gerät.
Jedes Gerät, das eine Verbindung mit einem IoT-Hub herstellt, verfügt über eine Geräte-ID, die Cloud-zu-Gerät- oder Geräte-zu-Cloud-Kommunikation nachverfolgt. Sie konfigurieren ein Gerät mit seinen Verbindungsinformationen, einschließlich des IoT hub Hostnamens, der Geräte-ID und der Informationen, die das Gerät zur Authentifizierung bei IoT Hub verwendet.
Dieser Artikel führt Sie durch die manuelle Bereitstellung, bei der Sie ein einzelnes Gerät mit seinem IoT-Hub verbinden. Für die manuelle Bereitstellung können Sie eine von zwei Optionen verwenden, um IoT Edge Geräte zu authentifizieren:
Symmetrische Schlüssel: Wenn Sie in IoT Hub eine neue Geräteidentität erstellen, erstellt der Dienst zwei Schlüssel. Platzieren Sie einen der Schlüssel auf dem Gerät, und es stellt den Schlüssel dem IoT Hub bei der Authentifizierung bereit.
Mit dieser Authentifizierungsmethode können Sie schneller beginnen, ist aber nicht so sicher.
X.509 Selbstsigniert: Erstellen Sie zwei X.509-Identitätszertifikate und setzen Sie sie auf das Gerät. Wenn Sie in IoT Hub eine neue Geräteidentität erstellen, stellen Sie Fingerabdrucke aus beiden Zertifikaten bereit. Wenn sich das Gerät bei IoT Hub authentifiziert, stellt es ein Zertifikat dar und IoT Hub überprüft, ob das Zertifikat mit seinem Fingerabdruck übereinstimmt.
Diese Authentifizierungsmethode ist sicherer und wird für Produktionsszenarien empfohlen.
In diesem Artikel wird die Verwendung von X.509-Zertifikaten als Authentifizierungsmethode behandelt. Informationen zur Verwendung symmetrischer Schlüssel finden Sie unter Erstellen und Bereitstellen eines IoT Edge für Linux auf Windows-Geräten unter Verwendung symmetrischer Schlüssel.
Hinweis
Wenn Sie viele Geräte einrichten und nicht manuell bereitstellen möchten, verwenden Sie einen der folgenden Artikel, um zu erfahren, wie IoT Edge mit dem IoT Hub Gerätebereitstellungsdienst funktioniert:
Voraussetzungen
In diesem Artikel wird beschrieben, wie Sie Ihr IoT Edge Gerät registrieren und IoT Edge für Linux auf Windows installieren. Diese Aufgaben haben unterschiedliche Voraussetzungen und verwenden unterschiedliche Dienstprogramme. Überprüfen Sie, ob Sie alle Voraussetzungen erfüllen, bevor Sie fortfahren.
Geräteverwaltungstools
Sie können das Azure-Portal, Visual Studio Code oder die Azure CLI verwenden, um Ihr Gerät zu registrieren. Jedes Hilfsprogramm verfügt über eigene Voraussetzungen oder muss möglicherweise installiert werden:
Ein kostenloser oder standardmäßiger IoT hub in Ihrem Azure-Abonnement.
Geräteanforderungen
Ein Windows Gerät mit den folgenden Mindestanforderungen:
Systemanforderungen
- Windows 101/11 (Pro, Enterprise, IoT Enterprise)
- Windows Server 20191/2022
1 Windows 10 und Windows Server 2019, mindestens Build 17763, wobei alle aktuellen kumulativen Updates installiert sind.
Hardwareanforderungen
- Minimaler freier Arbeitsspeicher: 1 GB
- Minimaler freier Speicherplatz: 10 GB
Virtualisierungsunterstützung
- Aktivieren Sie auf Windows 10 Hyper-V. Weitere Informationen finden Sie unter Install Hyper-V.
- Installieren Sie auf Windows Server die rolle Hyper-V, und erstellen Sie einen Standardnetzwerkswitch. Weitere Informationen finden Sie unter Nested Virtualization for Azure IoT Edge for Linux on Windows.
- Konfigurieren Sie auf einer VM die geschachtelte Virtualisierung. Weitere Informationen finden Sie unter Nested Virtualization for Azure IoT Edge for Linux on Windows.
Netzwerkunterstützung
- Windows Server enthält keinen Standardschalter. Bevor Sie EFLOW auf einem Windows Server Gerät bereitstellen können, müssen Sie einen virtuellen Switch erstellen. Weitere Informationen finden Sie unter Erstellung eines virtuellen Switches für Azure IoT Edge für Linux unter Windows.
- Windows Desktopversionen enthalten einen Standardschalter, den Sie für die EFLOW-Installation verwenden können. Bei Bedarf können Sie einen benutzerdefinierten virtuellen Switch erstellen.
Tipp
Wenn Sie GPU-beschleunigte Linux-Module in Ihrer Azure IoT Edge für Linux bei Windows Bereitstellung verwenden möchten, sollten Sie mehrere Konfigurationsoptionen in Betracht ziehen.
Sie müssen die richtigen Treiber je nach GPU-Architektur installieren, und Möglicherweise benötigen Sie Zugriff auf einen Windows Insider Program Build. Informationen zum Ermitteln der Konfigurationsanforderungen und zur Erfüllung dieser Voraussetzungen finden Sie unter GPU-Beschleunigung für Azure IoT Edge für Linux auf Windows.
Stellen Sie sicher, dass Sie die Voraussetzungen für die GPU-Beschleunigung jetzt erfüllen. Sie müssen den Installationsprozess neu starten, wenn Sie entscheiden, dass die GPU-Beschleunigung während der Installation erfolgen soll.
Entwicklerwerkzeuge
Bereiten Sie Ihr Zielgerät für die Installation von Azure IoT Edge für Linux auf Windows und die Bereitstellung des virtuellen Linux-Computers vor:
Legen Sie die Ausführungsrichtlinie auf dem Zielgerät auf
AllSignedfest. Sie können die aktuelle Ausführungsrichtlinie in einer PowerShell-Eingabeaufforderung mit erhöhten Rechten überprüfen, indem Sie den folgenden Befehl verwenden:Get-ExecutionPolicy -ListWenn die Ausführungsrichtlinie für
local machinenichtAllSignedist, stellen Sie die Ausführungsrichtlinie ein, indem Sie Folgendes verwenden:Set-ExecutionPolicy -ExecutionPolicy AllSigned -Force
Weitere Informationen zum Azure IoT Edge für Linux auf Windows PowerShell-Modul finden Sie in der PowerShell-Funktionsreferenz.
Generieren von Geräteidentitätszertifikaten
Für die manuelle Bereitstellung mit X.509-Zertifikaten ist IoT Edge Version 1.0.10 oder höher erforderlich.
Wenn Sie ein IoT Edge Gerät mit X.509-Zertifikaten bereitstellen, verwenden Sie ein device-Identitätszertifikat. Dieses Zertifikat wird nur für die Bereitstellung eines IoT Edge Geräts und die Authentifizierung des Geräts mit Azure IoT Hub verwendet. Es handelt sich um ein Blattzertifikat, das keine anderen Zertifikate signiert. Das Geräteidentitätszertifikat ist von den Zertifizierungsstelle-Zertifikaten getrennt, die das IoT Edge Gerät modulen oder nachgeschalteten Geräten zur Überprüfung präsentiert.
Bei der Authentifizierung mit einem X.509-Zertifikat werden die Informationen zur Authentifizierung der einzelnen Geräte in Form eines Fingerabdrucks bereitgestellt, der den Geräteidentitätszertifikaten entnommen wurde. Diese Fingerabdrucke werden zum Zeitpunkt der Geräteregistrierung IoT Hub übergeben, damit der Dienst das Gerät erkennen kann, wenn es eine Verbindung herstellt.
Weitere Informationen zur Verwendung der Zertifizierungsstellenzertifikate auf IoT Edge Geräten finden Sie unter Understand how Azure IoT Edge uses certificates.
Für die manuelle Bereitstellung mit X.509 benötigen Sie die folgenden Dateien:
Zwei Geräteidentitätszertifikate mit den dazugehörigen privaten Schlüsselzertifikaten in den Formaten .cer oder .pem. Sie benötigen zwei Geräteidentitätszertifikate für die Zertifikatsrotation. Eine bewährte Methode ist es, zwei verschiedene Geräteidentitätszertifikate mit unterschiedlichen Ablaufdaten zu erstellen. Wenn ein Zertifikat abläuft, ist das andere noch gültig und Sie haben Zeit, das abgelaufene Zertifikat zu ersetzen.
Eine Gruppe von Zertifikat- und Schlüsseldateien wird der IoT Edge Laufzeit bereitgestellt. Wenn Sie Geräteidentitätszertifikate erstellen, legen Sie den allgemeinen Namen (Common Name, CN) des Zertifikats auf die Geräte-ID fest, die das Gerät in Ihrem IoT-Hub haben soll.
Fingerabdrücke von beiden Geräteidentitätszertifikaten. IoT Hub erfordert beim Registrieren eines IoT Edge Geräts zwei Fingerabdrucke. Sie können für die Registrierung nur ein Zertifikat verwenden. Wenn Sie ein einziges Zertifikat verwenden möchten, legen Sie bei der Registrierung des Geräts denselben Zertifikatfingerabdruck für den primären und sekundären Fingerabdruck fest.
Die Fingerabdruckwerte bestehen aus 40 Hexadezimalzeichen für SHA-1-Hashes oder 64 Hexadezimalzeichen für SHA-256-Hashes. Beide Fingerabdrucke werden zum Zeitpunkt der Geräteregistrierung IoT Hub bereitgestellt.
Der Fingerabdruck kann beispielsweise mithilfe des folgenden OpenSSL-Befehls aus einem Zertifikat abgerufen werden:
openssl x509 -in <certificate filename>.pem -text -fingerprintDer Fingerabdruck ist in der Ausgabe dieses Befehls enthalten. Beispiel:
SHA1 Fingerprint=D2:68:D9:04:9F:1A:4D:6A:FD:84:77:68:7B:C6:33:C0:32:37:51:12
Wenn Keine Zertifikate verfügbar sind, können Sie Demozertifikate erstellen, um IoT Edge Gerätefeatures zu testen. Befolgen Sie die Anweisungen in diesem Artikel, um Zertifikaterstellungsskripts einzurichten, ein Zertifikat für die Stammzertifizierungsstelle zu erstellen und ein IoT Edge Geräteidentitätszertifikat zu erstellen. Zum Testen können Sie ein einzelnes Geräteidentitätszertifikat erstellen und denselben Fingerabdruck sowohl für primäre als auch für sekundäre Fingerabdruckwerte verwenden, wenn Sie das Gerät in IoT Hub registrieren.
Registrieren Ihres Geräts
Sie können das portal Azure, Visual Studio Code oder Azure CLI verwenden, um Ihr Gerät je nach Ihren Wünschen zu registrieren.
Im IoT-Hub im Azure-Portal werden IoT Edge Geräte separat von IoT-Geräten erstellt und verwaltet, die nicht edgefähig sind.
Melden Sie sich beim portal Azure an, und navigieren Sie zu Ihrem IoT-Hub.
Erweitern Sie im Ressourcenmenü die Geräteverwaltungsgruppe , und wählen Sie "Geräte" und dann " Gerät hinzufügen " in der Befehlsleiste aus.
Geben Sie auf der Seite Gerät erstellen die folgenden Informationen ein:
- Erstellen Sie eine beschreibende Geräte-ID. Notieren Sie sich diese Geräte-ID, da Sie sie später verwenden werden.
- Aktivieren Sie das Kontrollkästchen IoT Edge Device.
- Wählen Sie als Authentifizierungstyp X.509, selbstsigniert aus.
- Geben Sie die primären und sekundären Identitätszertifikatfingerabdrücke an. Die Fingerabdruckwerte bestehen aus 40 Hexadezimalzeichen für SHA-1-Hashes oder 64 Hexadezimalzeichen für SHA-256-Hashes. Das Azure Portal unterstützt nur Hexadezimalwerte. Entfernen Sie Spaltentrennzeichen und Leerzeichen aus den Werten des Fingerabdrucks, bevor Sie sie in das Portal eingeben. Beispielsweise wird
D2:68:D9:04:9F:1A:4D:6A:FD:84:77:68:7B:C6:33:C0:32:37:51:12alsD268D9049F1A4D6AFD8477687BC633C032375112eingegeben.
Tipp
Wenn Sie zu Testzwecken ein Zertifikat verwenden möchten, können Sie dasselbe Zertifikat für den primären und den sekundären Fingerabdruck verwenden.
Wählen Sie Speichern aus.
Nachdem Sie nun ein Gerät in IoT Hub registriert haben, rufen Sie die Informationen ab, die Sie zum Abschließen der Installation und Bereitstellung der IoT Edge Laufzeit verwenden.
Anzeigen registrierter Geräte und Abrufen von Bereitstellungsinformationen
Geräte, die die X.509-Zertifikatauthentifizierung verwenden, benötigen ihren IoT-Hubnamen, ihren Gerätenamen und ihre Zertifikatdateien, um die Installation und Bereitstellung der IoT Edge Laufzeit abzuschließen.
Die für die Verwendung mit Edge vorgesehenen Geräte, die eine Verbindung mit Ihrem IoT-Hub herstellen, sind auf der Seite Geräte aufgeführt. Sie können die Liste nach gerätetyp, IoT Edge devices filtern.
Installieren von IoT Edge
Stellen Sie Azure IoT Edge für Linux auf Windows auf Ihrem Zielgerät bereit.
Hinweis
Im folgenden PowerShell-Prozess wird beschrieben, wie Sie IoT Edge für Linux auf Windows auf dem lokalen Gerät bereitstellen. Für die Bereitstellung auf einem Remotezielgerät mithilfe von PowerShell können Sie über Remote PowerShell eine Verbindung mit einem Remotegerät herstellen und diese Befehle remote auf dem Gerät ausführen.
Führen Sie in einer PowerShell-Sitzung mit erhöhten Rechten je nach Zielgerätearchitektur einen der folgenden Befehle aus, um IoT Edge für Linux auf Windows herunterzuladen.
X64/AMD64
$msiPath = $([io.Path]::Combine($env:TEMP, 'AzureIoTEdge.msi')) $ProgressPreference = 'SilentlyContinue' Invoke-WebRequest "https://aka.ms/AzEFLOWMSI_1_5_LTS_X64" -OutFile $msiPathARM64
$msiPath = $([io.Path]::Combine($env:TEMP, 'AzureIoTEdge.msi')) $ProgressPreference = 'SilentlyContinue' Invoke-WebRequest "https://aka.ms/AzEFLOWMSI_1_5_LTS_ARM64" -OutFile $msiPath
Installieren Sie IoT Edge für Linux auf Windows auf Ihrem Gerät.
Start-Process -Wait msiexec -ArgumentList "/i","$([io.Path]::Combine($env:TEMP, 'AzureIoTEdge.msi'))","/qn"Sie können benutzerdefinierte Installations- und VHDX-Verzeichnisse für IoT Edge für Linux unter Windows angeben, indem Sie dem Installationsbefehl die Parameter
INSTALLDIR="<FULLY_QUALIFIED_PATH>"undVHDXDIR="<FULLY_QUALIFIED_PATH>"hinzufügen. Wenn Sie beispielsweise den Ordner D:\EFLOW für die Installation und D:\EFLOW-VHDX für das VHDX-Verzeichnis verwenden möchten, können Sie dazu das folgende PowerShell-Cmdlet verwenden.Start-Process -Wait msiexec -ArgumentList "/i","$([io.Path]::Combine($env:TEMP, 'AzureIoTEdge.msi'))","/qn","INSTALLDIR=D:\EFLOW", "VHDXDIR=D:\EFLOW-VHDX"Stellen Sie die Ausführungsrichtlinie auf dem Zielgerät auf
AllSignedein, wenn diese noch nicht eingestellt ist. In den PowerShell-Voraussetzungen finden Sie die Befehle, mit denen Sie die aktuelle Ausführungsrichtlinie überprüfen und aufAllSignedfestlegen können.Erstellen Sie die Bereitstellung von IoT Edge für Linux unter Windows. Die Bereitstellung erstellt Ihren virtuellen Linux-Computer und installiert die IoT Edge Runtime automatisch.
Deploy-EflowTipp
Standardmäßig erstellt der Befehl
Deploy-EflowIhren Linux-VM mit 1 GB RAM, 16 vCPU-Kern und 16 GB Speicherplatz. Die Ressourcen, die Ihr VM benötigt, sind jedoch stark von den Workloads abhängig, die Sie bereitstellen. Wenn Ihre VM nicht über genügend Arbeitsspeicher verfügt, um Ihre Workloads zu unterstützen, kann sie nicht gestartet werden.Sie können die verfügbaren Ressourcen des virtuellen Computers mithilfe der optionalen Parameter des
Deploy-EflowBefehls anpassen. Diese Anpassung ist erforderlich, um EFLOW auf einem Gerät mit den Mindesthardwareanforderungen bereitzustellen.Mit dem folgenden Befehl beispielsweise wird eine VM mit 1 vCPU-Kern, 1 GB RAM (angegeben in MB) und 2 GB Speicherplatz erstellt:
Deploy-Eflow -cpuCount 1 -memoryInMB 1024 -vmDataSize 2Informationen zu allen verfügbaren optionalen Parametern finden Sie unter PowerShell-Funktionen für IoT Edge für Linux auf Windows.
Warnung
Standardmäßig hat der virtuelle EFLOW-Linux-Computer keine DNS-Konfiguration. Bereitstellungen mit DHCP versuchen, die vom DHCP-Server verteilte DNS-Konfiguration abzurufen. Überprüfen Sie Ihre DNS-Konfiguration, um die Internetverbindung sicherzustellen. Weitere Informationen finden Sie unter AzEFLOW-DNS.
Sie können Ihrer Bereitstellung eine GPU zuweisen, um GPU-beschleunigte Linux-Module zu aktivieren. Um Zugriff auf diese Features zu erhalten, müssen Sie die erforderlichen Komponenten installieren, die in GPU-Beschleunigung für Azure IoT Edge für Linux auf Windows beschrieben sind.
Um ein GPU-Passthrough zu verwenden, fügen Sie die Parameter gpuName, gpuPassthroughType und gpuCount zu Ihrem
Deploy-EflowBefehl hinzu. Informationen zu allen verfügbaren optionalen Parametern finden Sie unter PowerShell-Funktionen für IoT Edge für Linux auf Windows.Warnung
Durch das Aktivieren der Passthrough für Hardwaregeräte können Sicherheitsrisiken erhöht werden. Microsoft empfiehlt, wenn zutreffend, einen Gerätetreiber zur Abschwächung eines Problems von Ihrem GPU-Hersteller. Weitere Informationen finden Sie unter Bereitstellen von Grafikgeräten mit Discrete Device Assignment.
Geben Sie "Y" ein, um die Lizenzbedingungen zu akzeptieren.
Geben Sie O oder R ein, um optionale Diagnosedaten je nach Ihren Wünschen ein- oder auszuschalten.
Sobald die Bereitstellung abgeschlossen ist, meldet das PowerShell-Fenster Bereitstellung erfolgreich.
Nach einer erfolgreichen Bereitstellung können Sie Ihr Gerät konfigurieren.
Bereitstellen des Geräts mit seiner Cloud-Identität
Richten Sie Ihr Gerät mit seinen Cloudidentitäts- und Authentifizierungsinformationen ein.
Um Ihr Gerät mit X.509-Zertifikaten bereitzustellen, benötigen Sie Ihren IoT-Hubnamen, device ID und die absoluten Pfade zu Ihrem Identity-Zertifikat und Private-Schlüssel auf Ihrem Windows Hostcomputer.
Stellen Sie sicher, dass sich das Geräteidentitätszertifikat und der entsprechende private Schlüssel auf Ihrem Zielgerät befinden. Sie müssen den absoluten Pfad zu beiden Dateien kennen.
Führen Sie den folgenden Befehl mit erhöhten Rechten in einer PowerShell-Sitzung auf Ihrem Zielgerät aus. Ersetzen Sie den Platzhaltertext durch Ihre eigenen Werte.
Provision-EflowVm -provisioningType ManualX509 -iotHubHostname "HUB_HOSTNAME_HERE" -deviceId "DEVICE_ID_HERE" -identityCertPath "ABSOLUTE_PATH_TO_IDENTITY_CERT_HERE" -identityPrivKeyPath "ABSOLUTE_PATH_TO_PRIVATE_KEY_HERE"
Weitere Informationen zum Befehl Provision-EflowVM finden Sie unter PowerShell-Funktionen für IoT Edge für Linux auf Windows.
Überprüfen der erfolgreichen Konfiguration
Stellen Sie sicher, dass IoT Edge für Linux auf Windows erfolgreich installiert und auf Ihrem IoT Edge-Gerät konfiguriert wurde.
Melden Sie sich mit dem folgenden Befehl in Ihrer PowerShell-Sitzung bei Ihrem IoT Edge für Linux auf Windows virtuellen Computer an:
Connect-EflowVmHinweis
Das einzige Konto, das zum Herstellen einer SSH-Verbindung zur virtuellen Maschine zulässig ist, ist der Benutzer, der sie erstellt hat.
Sobald Sie angemeldet sind, können Sie die Liste der ausgeführten IoT Edge Module mithilfe des folgenden Linux-Befehls überprüfen:
sudo iotedge listWenn Sie probleme mit dem IoT Edge-Dienst beheben müssen, verwenden Sie die folgenden Linux-Befehle.
Rufen Sie die Dienstprotokolle ab.
sudo iotedge system logsVerwenden Sie das Tool
check, um die Konfiguration und den Verbindungsstatus des Geräts zu überprüfen.sudo iotedge check
Hinweis
Auf einem neu bereitgestellten Gerät wird ein Fehler im Zusammenhang mit IoT Edge Hub angezeigt:
× Produktionsbereitschaft: Das Speicherverzeichnis des Edge-Hubs wird im Hostdateisystem beibehalten – Fehler.
Der aktuelle Zustand des edgeHub-Containers konnte nicht überprüft werden.
Dieser Fehler wird bei einem neuen Gerät erwartet, da das IoT Edge Hub Modul nicht ausgeführt wird. Um den Fehler zu beheben, legen Sie in IoT Hub die Module für das Gerät fest, und erstellen Sie eine Bereitstellung. Das Erstellen einer Bereitstellung startet die Module auf dem Gerät, einschließlich des IoT Edge Hub-Moduls.
Wenn Sie ein neues IoT Edge Gerät erstellen, wird der Statuscode 417 -- The device's deployment configuration is not set im Azure-Portal angezeigt. Dieser Status ist normal und bedeutet, dass das Gerät bereit ist, eine Bereitstellung eines Moduls zu empfangen.
Deinstallieren IoT Edge für Linux auf Windows
Führen Sie die folgenden Schritte aus, um die Azure IoT Edge für Linux auf Windows Installation von Ihrem Gerät zu entfernen.
- Öffnen Sie Settings auf Windows.
- Wählen Sie Programme hinzufügen oder entfernen aus.
- Wählen Sie die App Azure IoT Edge aus.
- Wählen Sie "Deinstallieren" aus.
Nächste Schritte
- Fahren Sie mit Deploy IoT Edge modules fort, um zu erfahren, wie Sie Module auf Ihrem Gerät bereitstellen.
- Erfahren Sie, wie Sie Zertifikate in Ihrem virtuellen Computer mit IoT Edge für Linux unter Windows verwalten und Dateien vom Hostbetriebssystem auf Ihren virtuellen Linux-Computer übertragen.
- Erfahren Sie, wie Sie Ihre IoT Edge Geräte konfigurieren, um über einen Proxyserver zu kommunizieren.