Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Van toepassing op:
IoT Edge 1.5
Belangrijk
IoT Edge 1.5 LTS is de ondersteunde release. IoT Edge 1.4 LTS bereikt het einde van de levensduur op 12 november 2024. Als u een eerdere versie gebruikt, raadpleegt u Update IoT Edge.
Dit artikel bevat stapsgewijze instructies voor het registreren en inrichten van een IoT Edge voor Linux op Windows apparaat.
Elk apparaat dat verbinding maakt met een IoT-hub heeft een apparaat-id waarmee cloud-naar-apparaat- of apparaat-naar-cloud-communicatie wordt bijgehouden. U configureert een apparaat met de bijbehorende verbindingsgegevens, waaronder de IoT hub hostnaam, apparaat-id en de informatie die het apparaat gebruikt om te verifiëren bij IoT Hub.
In dit artikel wordt u begeleid bij het handmatig inrichten, waarbij u één apparaat verbindt met de IoT-hub. Voor handmatige inrichting kunt u een van de twee opties gebruiken om IoT Edge apparaten te verifiëren:
Symmetrische sleutels: wanneer u een nieuwe apparaat-id in IoT Hub maakt, maakt de service twee sleutels. Plaats een van de sleutels op het apparaat en geeft de sleutel weer voor IoT Hub bij het verifiëren.
Met deze verificatiemethode kunt u sneller aan de slag, maar is dit niet zo veilig.
X.509 zelfondertekend: maak twee X.509-identiteitscertificaten en plaats deze op het apparaat. Wanneer u een nieuwe apparaat-id in IoT Hub maakt, geeft u vingerafdruk van beide certificaten op. Wanneer het apparaat wordt geverifieerd bij IoT Hub, wordt er één certificaat weergegeven en IoT Hub controleert of het certificaat overeenkomt met de vingerafdruk.
Deze verificatiemethode is veiliger en wordt aanbevolen voor productiescenario's.
In dit artikel wordt beschreven hoe u X.509-certificaten gebruikt als verificatiemethode. Zie Maken en inrichten van een IoT Edge voor Linux op Windows-apparaat met behulp van symmetrische sleutels voor instructies over het gebruik van symmetrische sleutels.
Notitie
Als u veel apparaten wilt instellen en niet elk apparaat handmatig wilt inrichten, gebruikt u een van de volgende artikelen om te leren hoe IoT Edge werkt met de IoT Hub device provisioning service:
Vereisten
In dit artikel wordt beschreven hoe u uw IoT Edge apparaat registreert en IoT Edge voor Linux installeert op Windows. Deze taken hebben verschillende vereisten en gebruiken verschillende hulpprogramma's. Controleer of u aan alle vereisten voldoet voordat u doorgaat.
Hulpprogramma’s voor apparaatbeheer
U kunt de Azure-portal, Visual Studio Code of de Azure CLI gebruiken om uw apparaat te registreren. Elk hulpprogramma heeft zijn eigen vereisten of moet mogelijk worden geïnstalleerd:
Een gratis of standaard IoT-hub in uw Azure-abonnement.
Vereisten voor apparaten
Een Windows apparaat met de volgende minimale vereisten:
Systeemvereisten
- Windows 101/11 (Pro, Enterprise, IoT Enterprise)
- Windows Server 20191/2022
1 Windows 10 en Windows Server 2019, minimaal build 17763, met alle huidige cumulatieve updates geïnstalleerd.
Hardwarevereisten
- Minimaal vrij geheugen: 1 GB
- Minimale vrije schijfruimte: 10 GB
Ondersteuning voor virtualisatie
- Schakel op Windows 10 Hyper-V in. Zie Install Hyper-V voor meer informatie.
- Installeer op Windows Server de Hyper-V-rol en maak een standaardnetwerkswitch. Zie Nested-virtualisatie voor Azure IoT Edge voor Linux op Windows voor meer informatie.
- Configureer geneste virtualisatie op een virtuele machine. Zie Nested-virtualisatie voor Azure IoT Edge voor Linux op Windows voor meer informatie.
Netwerkondersteuning
- Windows Server bevat geen standaardschakelaar. Voordat u EFLOW op een Windows Server apparaat kunt implementeren, moet u een virtuele switch maken. Zie Azure IoT Edge voor Linux voor Windows virtuele switch maken voor meer informatie.
- Windows Desktop-versies bevatten een standaardswitch die u kunt gebruiken voor EFLOW-installatie. Indien nodig kunt u uw eigen aangepaste virtuele switch maken.
Aanbeveling
Als u GPU-versnelde Linux-modules wilt gebruiken in uw Azure IoT Edge voor Linux op Windows implementatie, kunt u verschillende configuratieopties overwegen.
U moet de juiste stuurprogramma's installeren, afhankelijk van uw GPU-architectuur en mogelijk hebt u toegang nodig tot een Windows Insider Program-build. Zie GPU-versnelling voor Azure IoT Edge voor Linux op Windows om uw configuratiebehoeften te bepalen en aan deze vereisten te voldoen.
Zorg ervoor dat u nu voldoet aan de vereisten voor GPU-versnelling. U moet het installatieproces opnieuw starten als u besluit dat u GPU-versnelling wilt tijdens de installatie.
Ontwikkelaarstools
Bereid uw doelapparaat voor op de installatie van Azure IoT Edge voor Linux op Windows en de implementatie van de virtuele Linux-machine:
Stel het uitvoeringsbeleid op het doelapparaat in op
AllSigned. U kunt het huidige uitvoeringsbeleid controleren in een PowerShell-prompt met verhoogde bevoegdheid met behulp van de volgende opdracht:Get-ExecutionPolicy -ListAls het uitvoeringsbeleid voor
local machinenietAllSignedis, stelt u het uitvoeringsbeleid in met behulp van:Set-ExecutionPolicy -ExecutionPolicy AllSigned -Force
Zie de PowerShell-functiesverwijzing voor meer informatie over de Azure IoT Edge voor Linux in Windows PowerShell-module.
Apparaat-id-certificaten genereren
Voor handmatig inrichten met X.509-certificaten is IoT Edge versie 1.0.10 of hoger vereist.
Wanneer u een IoT Edge-apparaat inricht met X.509-certificaten, gebruikt u een apparaatcertificaat. Dit certificaat wordt alleen gebruikt voor het inrichten van een IoT Edge apparaat en het verifiëren van het apparaat met Azure IoT Hub. Het is een bladcertificaat dat geen andere certificaten ondertekent. Het certificaat voor apparaat-id's staat los van de certificaten van de certificeringsinstantie (CA) die het IoT Edge apparaat presenteert aan modules of downstreamapparaten voor verificatie.
Voor X.509-certificaatverificatie worden de verificatiegegevens van elk apparaat opgegeven in de vorm van vingerafdrukken die afkomstig zijn van uw apparaat-id-certificaten. Deze vingerafdrukken worden gegeven aan IoT Hub op het moment van apparaatregistratie, zodat de service het apparaat kan herkennen wanneer het verbinding maakt.
Zie Onderstand hoe Azure IoT Edge certificaten gebruikt voor meer informatie over hoe de CA-certificaten worden gebruikt in IoT Edge apparaten.
U hebt de volgende bestanden nodig voor handmatige inrichting met X.509:
Twee apparaatidentiteitscertificaten met hun overeenkomende persoonlijke-sleutelcertificaten in .cer- of PEM-indelingen. U hebt twee apparaat-id-certificaten nodig voor certificaatrotatie. Een best practice is om twee verschillende apparaatidentiteitscertificaten met verschillende vervaldatums voor te bereiden. Als het ene certificaat verloopt, is het andere nog geldig en krijgt u tijd om het verlopen certificaat te draaien.
Er wordt één set certificaat- en sleutelbestanden aan de IoT Edge runtime verstrekt. Wanneer u apparaat-id-certificaten maakt, stelt u de algemene naam van het certificaat (CN) in met de apparaat-id die het apparaat in uw IoT-hub moet hebben.
Vingerafdrukken die afkomstig zijn van beide apparaat-id-certificaten. IoT Hub vereist twee vingerafdrukken bij het registreren van een IoT Edge apparaat. U kunt slechts één certificaat gebruiken voor registratie. Als u één certificaat wilt gebruiken, stelt u dezelfde vingerafdruk van het certificaat in voor zowel de primaire als de secundaire vingerafdruk bij het registreren van het apparaat.
Vingerafdrukwaarden zijn 40-hex tekens voor SHA-1 hashes of 64-hex tekens voor SHA-256 hashes. Beide vingerafdrukken worden verstrekt aan IoT Hub op het moment van apparaatregistratie.
Een manier om de vingerafdruk op te halen uit een certificaat is met de volgende openssl-opdracht:
openssl x509 -in <certificate filename>.pem -text -fingerprintDe vingerafdruk wordt opgenomen in de uitvoer van deze opdracht. Voorbeeld:
SHA1 Fingerprint=D2:68:D9:04:9F:1A:4D:6A:FD:84:77:68:7B:C6:33:C0:32:37:51:12
Als u geen certificaten beschikbaar hebt, kunt u Democertificaten maken om IoT Edge apparaatfuncties te testen. Volg de instructies in dat artikel voor het instellen van scripts voor het maken van certificaten, het maken van een basis-CA-certificaat en het maken van een IoT Edge certificaat voor apparaatidentiteit. Voor het testen kunt u één apparaat-id-certificaat maken en dezelfde vingerafdruk gebruiken voor zowel primaire als secundaire vingerafdrukwaarden bij het registreren van het apparaat in IoT Hub.
Uw apparaat registreren
U kunt de Azure portal, Visual Studio Code of Azure CLI gebruiken om uw apparaat te registreren, afhankelijk van uw voorkeur.
In uw IoT-hub in de Azure-portal worden IoT Edge apparaten afzonderlijk gemaakt en beheerd van IoT-apparaten waarvoor geen edge is ingeschakeld.
Meld u aan bij de Azure-portal en navigeer naar uw IoT-hub.
Vouw in het resourcemenu de groep Apparaatbeheer uit en selecteer Apparaten en selecteer Vervolgens Apparaat toevoegen in de opdrachtbalk.
Geef op de pagina Een apparaat maken de volgende informatie op:
- Maak een beschrijvende apparaat-id. Noteer deze apparaat-id, omdat u deze later gebruikt.
- Schakel het selectievakje IoT Edge Device in.
- Selecteer X.509 Zelfondertekend als verificatietype.
- Geef de vingerafdruk van het primaire en secundaire identiteitscertificaat op. Vingerafdrukwaarden zijn 40-hex tekens voor SHA-1 hashes of 64-hex tekens voor SHA-256 hashes. De Azure-portal ondersteunt alleen hexadecimale waarden. Verwijder kolomscheidingstekens en spaties uit de vingerafdrukwaarden voordat u deze invoert in de portal. Bijvoorbeeld,
D2:68:D9:04:9F:1A:4D:6A:FD:84:77:68:7B:C6:33:C0:32:37:51:12wordt ingevoerd alsD268D9049F1A4D6AFD8477687BC633C032375112.
Aanbeveling
Als u test en één certificaat wilt gebruiken, kunt u hetzelfde certificaat gebruiken voor zowel de primaire als de secundaire vingerafdruk.
Selecteer Opslaan.
Nu u een apparaat hebt geregistreerd in IoT Hub, haalt u de informatie op die u gebruikt om de installatie en inrichting van de IoT Edge runtime te voltooien.
Geregistreerde apparaten weergeven en inrichtingsgegevens ophalen
Apparaten die X.509-certificaatverificatie gebruiken, hebben hun IoT Hub-naam, hun apparaatnaam en hun certificaatbestanden nodig om de installatie en inrichting van de IoT Edge runtime te voltooien.
De edge-apparaten die verbinding maken met uw IoT-hub, worden weergegeven op de pagina Apparaten . U kunt de lijst filteren op het apparaattype, IoT Edge apparaten.
IoT Edge installeren
Implementeer Azure IoT Edge voor Linux op Windows op uw doelapparaat.
Notitie
In het volgende PowerShell-proces wordt beschreven hoe u IoT Edge voor Linux op Windows op het lokale apparaat implementeert. Als u wilt implementeren op een extern doelapparaat met behulp van PowerShell, kunt u Externe PowerShell gebruiken om een verbinding met een extern apparaat tot stand te brengen en deze opdrachten op afstand op dat apparaat uit te voeren.
Voer in een PowerShell-sessie met verhoogde bevoegdheid een van de volgende opdrachten uit, afhankelijk van de architectuur van uw doelapparaat om IoT Edge voor Linux op Windows te downloaden.
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
Installeer IoT Edge voor Linux op Windows op uw apparaat.
Start-Process -Wait msiexec -ArgumentList "/i","$([io.Path]::Combine($env:TEMP, 'AzureIoTEdge.msi'))","/qn"U kunt aangepaste IoT Edge opgeven voor Linux in Windows installatie- en VHDX-mappen door
INSTALLDIR="<FULLY_QUALIFIED_PATH>"enVHDXDIR="<FULLY_QUALIFIED_PATH>"parameters toe te voegen aan de installatieopdracht. Als u bijvoorbeeld de map D:\EFLOW wilt gebruiken voor installatie en de D:\EFLOW-VHDX voor de VHDX, kunt u de volgende PowerShell-cmdlet gebruiken.Start-Process -Wait msiexec -ArgumentList "/i","$([io.Path]::Combine($env:TEMP, 'AzureIoTEdge.msi'))","/qn","INSTALLDIR=D:\EFLOW", "VHDXDIR=D:\EFLOW-VHDX"Stel het uitvoeringsbeleid op het doelapparaat in op
AllSignedals dit nog niet is gebeurd. Zie de PowerShell-vereisten voor opdrachten om het huidige uitvoeringsbeleid te controleren en het uitvoeringsbeleid in te stellen opAllSigned.Creëer de IoT Edge voor Linux op Windows-implementatie. De implementatie maakt uw virtuele Linux-machine en installeert de IoT Edge runtime voor u.
Deploy-EflowAanbeveling
Deploy-EflowDe opdracht maakt standaard uw virtuele Linux-machine met 1 GB RAM-geheugen, 1 vCPU-kern en 16 GB schijfruimte. De resources die uw VM nodig heeft, zijn echter sterk afhankelijk van de workloads die u implementeert. Als uw VM onvoldoende geheugen heeft om uw workloads te ondersteunen, kan deze niet worden gestart.U kunt de beschikbare resources van de virtuele machine aanpassen met behulp van de optionele parameters van de
Deploy-Eflowopdracht. Deze aanpassing is vereist voor het implementeren van EFLOW op een apparaat met de minimale hardwarevereisten.Met de volgende opdracht maakt u bijvoorbeeld een virtuele machine met 1 vCPU-kern, 1 GB RAM (vertegenwoordigd in MB) en 2 GB schijfruimte:
Deploy-Eflow -cpuCount 1 -memoryInMB 1024 -vmDataSize 2Zie PowerShell-functies voor IoT Edge voor Linux op Windows voor meer informatie over alle beschikbare optionele parameters.
Waarschuwing
De virtuele EFLOW Linux-machine heeft standaard geen DNS-configuratie. Implementaties die DHCP gebruiken, proberen de DNS-configuratie te verkrijgen die wordt doorgegeven door de DHCP-server. Controleer uw DNS-configuratie om de internetverbinding te garanderen. Zie AzEFLOW-DNS voor meer informatie.
U kunt een GPU toewijzen aan uw implementatie om MET GPU versnelde Linux-modules in te schakelen. Als u toegang wilt krijgen tot deze functies, moet u de vereisten installeren die worden beschreven in GPU-versnelling voor Azure IoT Edge voor Linux op Windows.
Als u een GPU-passthrough wilt gebruiken, voegt u de parameters gpuName, gpuPassthroughType en gpuCount toe aan uw
Deploy-Eflowopdracht. Zie PowerShell-functies voor IoT Edge voor Linux op Windows voor meer informatie over alle beschikbare optionele parameters.Waarschuwing
Het inschakelen van passthrough voor hardwareapparaten kan de beveiligingsrisico's verhogen. Microsoft raadt een stuurprogramma voor apparaatbeperking aan bij de leverancier van uw GPU, indien van toepassing. Zie Grafische apparaten implementeren met discrete apparaattoewijzing voor meer informatie.
Voer Y in om de licentievoorwaarden te accepteren.
Voer O of R in om optionele diagnostische gegevens in of uit te schakelen, afhankelijk van uw voorkeur.
Zodra de implementatie is voltooid, wordt de implementatie gerapporteerd in het PowerShell-venster.
Na een geslaagde implementatie kunt u uw apparaat inrichten.
Het apparaat inrichten met de cloudidentiteit
Stel uw apparaat in met de cloudidentiteit en verificatiegegevens.
Als u uw apparaat wilt inrichten met X.509-certificaten, hebt u de naam van uw IoT-hub nodig. apparaat-id en de absolute paden naar uw identiteitscertificaat en private-sleutel op uw Windows hostcomputer.
Zorg ervoor dat het certificaat van de apparaat-id en de bijbehorende persoonlijke sleutel zich op uw doelapparaat bevinden. Het absolute pad naar beide bestanden kennen.
Voer de volgende opdracht uit in een PowerShell-sessie met verhoogde bevoegdheid op uw doelapparaat. Vervang de tekst van de tijdelijke aanduiding door uw eigen waarden.
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"
Zie Provision-EflowVM voor meer informatie over de opdracht .
Geslaagde configuratie controleren
Controleer of IoT Edge voor Linux op Windows is geïnstalleerd en geconfigureerd op uw IoT Edge apparaat.
Meld u aan bij uw IoT Edge voor Linux op Windows virtuele machine met behulp van de volgende opdracht in uw PowerShell-sessie:
Connect-EflowVmNotitie
Het enige account dat toegang heeft tot SSH naar de virtuele machine, is de gebruiker die deze heeft gemaakt.
Zodra u bent aangemeld, kunt u de lijst met actieve IoT Edge modules controleren met behulp van de volgende Linux-opdracht:
sudo iotedge listAls u problemen met de IoT Edge-service wilt oplossen, gebruikt u de volgende Linux-opdrachten.
Haal de servicelogboeken op.
sudo iotedge system logsGebruik het hulpprogramma om de
checkconfiguratie- en verbindingsstatus van het apparaat te controleren.sudo iotedge check
Notitie
Op een nieuw ingericht apparaat ziet u een fout met betrekking tot IoT Edge Hub:
× productiegereedheid: de opslagmap van Edge Hub blijft behouden in het hostbestandssysteem - Fout
Kan de huidige status van de EdgeHub-container niet controleren
Deze fout wordt verwacht op een nieuw apparaat omdat de IoT Edge Hub-module niet wordt uitgevoerd. Als u de fout wilt oplossen, stelt u in IoT Hub de modules voor het apparaat in en maakt u een implementatie. Als u een implementatie maakt, worden de modules op het apparaat gestart, inclusief de IoT Edge Hub-module.
Wanneer u een nieuw IoT Edge-apparaat maakt, wordt de statuscode weergegeven 417 -- The device's deployment configuration is not set in de Azure-portal. Deze status is normaal en betekent dat het apparaat gereed is voor het ontvangen van een module-implementatie.
Verwijder IoT Edge voor Linux op Windows
Voer de volgende stappen uit om de Azure IoT Edge voor Linux op Windows installatie van uw apparaat te verwijderen.
- Open Instellingen in Windows.
- Selecteer Programma's toevoegen of verwijderen.
- Selecteer de app Azure IoT Edge.
- Selecteer Deïnstalleren.
Volgende stappen
- Ga door naar deploy IoT Edge modules voor meer informatie over het implementeren van modules op uw apparaat.
- Meer informatie over het beheer van certificaten op uw IoT Edge voor Linux op Windows virtuele machine en het overdragen van bestanden van het host-besturingssysteem naar uw virtuele Linux-machine.
- Leer hoe u de IoT Edge-apparaten configureert om te communiceren via een proxyserver.