Een IoT Edge maken en inrichten voor Linux op Een Windows-apparaat met behulp van symmetrische sleutels
Van toepassing op: IoT Edge 1.4
Belangrijk
Azure IoT Edge 1.5 LTS en IoT Edge 1.4 worden ondersteund. IoT Edge 1.4 LTS bereikt het einde van de service op 12 november 2024. Raadpleeg IoT Edge bijwerkenals u een eerdere release gebruikt.
Dit artikel bevat end-to-end instructies voor het registreren en inrichten van een IoT Edge voor Linux op Een Windows-apparaat.
Elk apparaat dat verbinding maakt met een IoT-hub heeft een apparaat-id die wordt gebruikt om cloud-naar-apparaat- of apparaat-naar-cloud-communicatie bij te houden. U configureert een apparaat met de bijbehorende verbindingsgegevens, waaronder de hostnaam van de IoT-hub, de apparaat-id en de informatie die het apparaat gebruikt voor verificatie bij IoT Hub.
De stappen in dit artikel doorlopen een proces met de naam handmatig inrichten, waarbij u één apparaat verbindt met de IoT-hub. Voor handmatige inrichting hebt u twee opties voor het verifiëren van IoT Edge-apparaten:
Symmetrische sleutels: wanneer u een nieuwe apparaat-id in IoT Hub maakt, worden er twee sleutels gemaakt. U plaatst een van de sleutels op het apparaat en geeft de sleutel aan IoT Hub weer bij het verifiëren.
Deze verificatiemethode is sneller om aan de slag te gaan, maar niet zo veilig.
X.509 zelfondertekend: u maakt twee X.509-identiteitscertificaten en plaatst 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, geeft het één certificaat weer en controleert IoT Hub of het certificaat overeenkomt met de vingerafdruk.
Deze verificatiemethode is veiliger en wordt aanbevolen voor productiescenario's.
In dit artikel wordt beschreven hoe u symmetrische sleutels gebruikt als verificatiemethode. Als u X.509-certificaten wilt gebruiken, raadpleegt u Een IoT Edge voor Linux-apparaat maken en inrichten met X.509-certificaten.
Notitie
Als u veel apparaten moet 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-apparaatinrichtingsservice:
Vereisten
Dit artikel bevat informatie over het registreren van uw IoT Edge-apparaat en het installeren van IoT Edge voor Linux in Windows. Deze taken hebben verschillende vereisten en hulpprogramma's die worden gebruikt om ze te bereiken. Zorg ervoor dat aan alle vereisten wordt voldaan voordat u doorgaat.
Hulpprogramma’s voor apparaatbeheer
U kunt Azure Portal, Visual Studio Code of 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 minimum build 17763 met alle huidige cumulatieve updates geïnstalleerd.
Hardwarevereisten
- Minimaal gratis geheugen: 1 GB
- Minimale vrije schijfruimte: 10 GB
Ondersteuning voor virtualisatie
- Schakel In Windows 10 Hyper-V in. Zie Hyper-V installeren in Windows 10 voor meer informatie.
- Installeer de Hyper-V-functie op Windows Server en maak een standaardnetwerkswitch. Zie Geneste virtualisatie voor Azure IoT Edge voor Linux in Windows voor meer informatie.
- Configureer geneste virtualisatie op een virtuele machine. Zie geneste virtualisatie voor meer informatie.
Netwerkondersteuning
- Windows Server wordt niet geleverd met een standaardswitch. Voordat u EFLOW op een Windows Server-apparaat kunt implementeren, moet u een virtuele switch maken. Zie Virtuele switch maken voor Linux in Windows voor meer informatie.
- Windows Desktop-versies worden geleverd met een standaardswitch die kan worden gebruikt voor EFLOW-installatie. Indien nodig kunt u uw eigen aangepaste virtuele switch maken.
Tip
Als u GPU-versnelde Linux-modules in uw Implementatie van Azure IoT Edge voor Linux in Windows wilt gebruiken, zijn er verschillende configuratieopties die u kunt overwegen.
U moet de juiste stuurprogramma's installeren, afhankelijk van uw GPU-architectuur en mogelijk hebt u toegang nodig tot een Build van het Windows Insider-programma. Zie GPU-versnelling voor Azure IoT Edge voor Linux in Windows om uw configuratiebehoeften te bepalen en aan deze vereisten te voldoen.
Zorg ervoor dat u de tijd neemt om nu aan de vereisten voor GPU-versnelling te voldoen. U moet het installatieproces opnieuw starten als u besluit dat u GPU-versnelling wilt tijdens de installatie.
Hulpmiddelen voor ontwikkelaars
Bereid uw doelapparaat voor op de installatie van Azure IoT Edge voor Linux in Windows en de implementatie van de virtuele Linux-machine:
Stel het uitvoeringsbeleid op het doelapparaat
AllSigned
in op . U kunt het huidige uitvoeringsbeleid controleren in een PowerShell-prompt met verhoogde bevoegdheid met behulp van de volgende opdracht:Get-ExecutionPolicy -List
Als het uitvoeringsbeleid
local machine
nietAllSigned
is, kunt u het uitvoeringsbeleid instellen met behulp van:Set-ExecutionPolicy -ExecutionPolicy AllSigned -Force
Zie de powerShell-functiesverwijzing voor meer informatie over de Module Azure IoT Edge voor Linux in Windows PowerShell.
Uw apparaat registreren
U kunt Azure Portal, Visual Studio Code of Azure CLI gebruiken om uw apparaat te registreren, afhankelijk van uw voorkeur.
In uw IoT-hub in Azure Portal worden IoT Edge-apparaten afzonderlijk gemaakt en beheerd van IoT-apparaten die niet zijn ingeschakeld voor Edge.
Meld u aan bij de Azure-portal en ga naar uw IoT Hub.
Selecteer Apparaten in het menu in het linkerdeelvenster en selecteer Vervolgens Apparaat toevoegen.
Geef op de pagina Een apparaat maken de volgende informatie op:
- Maak een beschrijvende apparaat-id, bijvoorbeeld
my-edge-device-1
(alle kleine letters). Kopieer deze apparaat-id, omdat u deze later gaat gebruiken. - Schakel het selectievakje IoT Edge-apparaat in.
- Selecteer symmetrische sleutel als verificatietype.
- Gebruik de standaardinstellingen voor het automatisch genereren van verificatiesleutels, waarmee het nieuwe apparaat wordt verbonden met uw hub.
- Maak een beschrijvende apparaat-id, bijvoorbeeld
Selecteer Opslaan.
U ziet nu dat uw nieuwe apparaat wordt vermeld in uw IoT-hub.
Nu u een apparaat hebt geregistreerd in IoT Hub, kunt u de inrichtingsgegevens ophalen die worden gebruikt om de installatie en inrichting van de IoT Edge-runtime in de volgende stap te voltooien.
Geregistreerde apparaten weergeven en inrichtingsgegevens ophalen
Apparaten die gebruikmaken van symmetrische sleutelverificatie hebben hun verbindingsreeks nodig om de installatie en inrichting van de IoT Edge-runtime te voltooien. De verbindingsreeks wordt gegenereerd voor uw IoT Edge-apparaat wanneer u het apparaat maakt. Voor Visual Studio Code en Azure CLI bevindt de verbindingsreeks zich in de JSON-uitvoer. Als u Azure Portal gebruikt om uw apparaat te maken, kunt u de verbindingsreeks van het apparaat zelf vinden. Wanneer u uw apparaat selecteert in uw IoT-hub, wordt het weergegeven als Primary connection string
op de apparaatpagina.
De edge-apparaten die verbinding maken met uw IoT-hub, worden weergegeven op de pagina Apparaten van uw IoT-hub. Als u meerdere apparaten hebt, kunt u de lijst filteren door het type IoT Edge-apparaten te selecteren en vervolgens Toepassen te selecteren.
Wanneer u klaar bent om uw apparaat in te stellen, hebt u de verbindingsreeks nodig waarmee uw fysieke apparaat wordt gekoppeld aan de identiteit in de IoT-hub. Apparaten die worden geverifieerd met symmetrische sleutels, hebben hun verbindingsreeks s beschikbaar om te kopiëren in de portal. Uw verbindingsreeks vinden in de portal:
- Selecteer op de pagina Apparaten de ioT Edge-apparaat-id in de lijst.
- Kopieer de waarde van de primaire verbindingsreeks of secundaire verbindingsreeks. Beide sleutels werken.
IoT Edge installeren
Implementeer Azure IoT Edge voor Linux in Windows op uw doelapparaat.
Notitie
In het volgende PowerShell-proces wordt beschreven hoe u IoT Edge voor Linux op Windows implementeert op het lokale apparaat. 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 in Windows te downloaden.
X64/AMD64
$msiPath = $([io.Path]::Combine($env:TEMP, 'AzureIoTEdge.msi')) $ProgressPreference = 'SilentlyContinue' Invoke-WebRequest "https://aka.ms/AzEFLOWMSI_1_4_LTS_X64" -OutFile $msiPath
ARM64
$msiPath = $([io.Path]::Combine($env:TEMP, 'AzureIoTEdge.msi')) $ProgressPreference = 'SilentlyContinue' Invoke-WebRequest "https://aka.ms/AzEFLOWMSI_1_4_LTS_ARM64" -OutFile $msiPath
Installeer IoT Edge voor Linux in Windows op uw apparaat.
Start-Process -Wait msiexec -ArgumentList "/i","$([io.Path]::Combine($env:TEMP, 'AzureIoTEdge.msi'))","/qn"
U kunt aangepaste IoT Edge voor Linux opgeven in Windows-installatie- en VHDX-mappen door parameters toe te voegen
INSTALLDIR="<FULLY_QUALIFIED_PATH>"
aanVHDXDIR="<FULLY_QUALIFIED_PATH>"
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
AllSigned
in op als dit nog niet is gebeurd. Zie de PowerShell-vereisten voor opdrachten om het huidige uitvoeringsbeleid te controleren en het uitvoeringsbeleid in te stellen opAllSigned
.Maak de IoT Edge voor Linux-implementatie in Windows. De implementatie maakt uw virtuele Linux-machine en installeert de IoT Edge-runtime voor u.
Deploy-Eflow
Tip
Deploy-Eflow
De 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 VIRTUELE machine 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-Eflow
opdracht. Dit 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 2
Zie PowerShell-functies voor IoT Edge voor Linux in Windows voor 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 in Windows.
Als u een GPU-passthrough wilt gebruiken, voegt u de parameters gpuName, gpuPassthroughType en gpuCount toe aan uw
Deploy-Eflow
opdracht. Zie PowerShell-functies voor IoT Edge voor Linux in Windows voor 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 bent u klaar om uw apparaat in te richten.
Het apparaat inrichten met de cloudidentiteit
U bent klaar om uw apparaat in te stellen met de cloudidentiteits- en verificatiegegevens.
Als u uw apparaat wilt inrichten met behulp van symmetrische sleutels, hebt u de verbindingsreeks van uw apparaat nodig.
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 ManualConnectionString -devConnString "PASTE_DEVICE_CONNECTION_STRING_HERE"
Zie PowerShell-functies voor IoT Edge voor Linux in Windows voor meer informatie over de Provision-EflowVM
opdracht.
Geslaagde configuratie controleren
Controleer of IoT Edge voor Linux in Windows is geïnstalleerd en geconfigureerd op uw IoT Edge-apparaat.
Meld u aan bij uw IoT Edge voor Linux op een virtuele Windows-machine met behulp van de volgende opdracht in uw PowerShell-sessie:
Connect-EflowVm
Notitie
Het enige account dat is toegestaan om SSH naar de virtuele machine toe te staan, 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 list
Als u problemen met de IoT Edge-service wilt oplossen, gebruikt u de volgende Linux-opdrachten.
Haal de servicelogboeken op.
sudo iotedge system logs
Gebruik het hulpprogramma om de
check
configuratie- en verbindingsstatus van het apparaat te controleren.sudo iotedge check
Notitie
Op een nieuw ingericht apparaat ziet u mogelijk 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 ingericht 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 voor het apparaat 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 417 -- The device's deployment configuration is not set
weergegeven in Azure Portal. Deze status is normaal en betekent dat het apparaat gereed is voor het ontvangen van een module-implementatie.
IoT Edge voor Linux verwijderen in Windows
Als u de Installatie van Azure IoT Edge voor Linux op Windows wilt verwijderen van uw apparaat, gebruikt u de volgende opdrachten.
- Instellingen openen in Windows
- Programma's toevoegen of verwijderen selecteren
- Azure IoT Edge-app selecteren
- Verwijderen selecteren
Volgende stappen
- Ga door met het implementeren van IoT Edge-modules voor meer informatie over het implementeren van modules op uw apparaat.
- Meer informatie over het beheren van certificaten in uw IoT Edge voor Linux op een virtuele Windows-machine en het overdragen van bestanden van het host-besturingssysteem naar uw virtuele Linux-machine.
- Meer informatie over het configureren van uw IoT Edge-apparaten om te communiceren via een proxyserver.