Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
              Gäller för: IoT Edge 1.5
 IoT Edge 1.5
Viktigt!
IoT Edge 1.5 LTS är den version som stöds. IoT Edge 1.4 LTS upphör från och med den 12 november 2024. Om du har en tidigare version läser du Uppdatera IoT Edge.
Den här artikeln innehåller stegvisa instruktioner för automatisk avetablering av en eller flera IoT Edge för Linux på Windows-enheter med X.509-certifikat. Etablera Automatiskt Azure IoT Edge-enheter med Azure IoT Hub-enhetsetableringstjänsten (DPS). Om du inte är bekant med automatisk tilldelning läser du tilldelningsöversikten innan du fortsätter.
Här är de viktigaste uppgifterna:
- Generera certifikat och nycklar.
- Skapa en enskild registrering för en enskild enhet eller en gruppregistrering för en uppsättning enheter.
- Distribuera en virtuell Linux-dator med IoT Edge-körningen installerad och anslut den till IoT Hub.
Med X.509-certifikat kan du skala produktion och förenkla enhetsetablering. Vanligtvis ordnas X.509-certifikat i en betrodd certifikatkedja. Kedjan börjar med ett självsignerat eller betrott rotcertifikat, och varje certifikat i kedjan signerar nästa lägre certifikat. Det här mönstret skapar en delegerad förtroendekedja från rotcertifikatet via varje mellanliggande certifikat till det slutliga underordnade enhetscertifikatet som är installerat på en enhet.
Förutsättningar
Molnresurser
- En aktiv IoT-hubb
- En instans av IoT Hub-enhetsetableringstjänsten i Azure, länkad till din IoT-hubb - Om du inte har någon instans av enhetsetableringstjänsten kan du följa anvisningarna i snabbstarten Skapa en ny IoT Hub-enhetsetableringstjänst och Länka IoT-hubben och enhetsetableringstjänsten i snabbstarten för enhetsetableringstjänsten i IoT Hub.
- När du har kört enhetsetableringstjänsten kopierar du värdet för ID-omfånget från översiktssidan. Du använder det här värdet när du konfigurerar IoT Edge-körningen.
 
Enhetskrav
En Windows-enhet med följande minimikrav:
- Systemkrav - Windows 101/11 (Pro, Enterprise-utgåva, IoT Enterprise)
- Windows Server 20191/2022
 1 Windows 10 och Windows Server 2019 minsta version 17763 med alla aktuella kumulativa uppdateringar installerade.
 
- Maskinvarukrav - Minsta lediga minne: 1 GB
- Minsta lediga diskutrymme: 10 GB
 
- Stöd för virtualisering - Aktivera Hyper-V i Windows 10. Mer information finns i Installera Hyper-V.
- Installera Hyper-V-rollen på Windows Server och skapa en standardnätverksväxel. Mer information finns i Kapslad virtualisering för Azure IoT Edge för Linux i Windows.
- Konfigurera kapslad virtualisering på en virtuell dator. Mer information finns i Kapslad virtualisering för Azure IoT Edge för Linux i Windows.
 
- Nätverksstöd - Windows Server har ingen standardväxel. Innan du kan distribuera EFLOW till en Windows Server-enhet måste du skapa en virtuell växel. Mer information finns i Azure IoT Edge för Linux på Windows för skapande av virtuella switchar.
- Windows Desktop-versioner levereras med en standardväxel som kan användas för EFLOW-installation. Om det behövs kan du skapa en egen anpassad virtuell växel.
 
Dricks
Om du vill använda GPU-accelererade Linux-moduler i din Azure IoT Edge för Linux i Windows-distributionen finns det flera konfigurationsalternativ att tänka på.
Du måste installera rätt drivrutiner beroende på din GPU-arkitektur och du kan behöva åtkomst till en Windows Insider Program-version. Information om hur du fastställer dina konfigurationsbehov och uppfyller dessa krav finns i GPU-acceleration för Azure IoT Edge för Linux i Windows.
Se till att du tar dig tid att uppfylla kraven för GPU-acceleration nu. Du måste starta om installationsprocessen om du vill ha GPU-acceleration under installationen.
Utvecklingsverktyg
Förbered målenheten för installationen av Azure IoT Edge för Linux i Windows och distributionen av den virtuella Linux-datorn:
- Ange körningsprincipen på målenheten till - AllSigned. Du kan kontrollera den aktuella körningsprincipen i en upphöjd PowerShell-prompt med hjälp av följande kommando:- Get-ExecutionPolicy -List- Om körningsprincipen för - local machineinte är- AllSigned, kan du ange körningsprincipen genom att använda- local machine.- Set-ExecutionPolicy -ExecutionPolicy AllSigned -Force
Mer information om Azure IoT Edge för Linux i Windows PowerShell-modulen finns i PowerShell-funktionsreferensen.
Generera enhetsidentitetscertifikat
Enhetsidentitetscertifikatet är ett underordnat certifikat som ansluter via en certifikatkedja med förtroende till det översta certifikatutfärdarcertifikatet för X.509(CA). Ange det gemensamma namnet (CN) för enhetsidentitetscertifikatet till det enhets-ID som du vill att enheten ska använda i din IoT-hubb.
Använd endast enhetsidentitetscertifikat för att etablera IoT Edge-enheten och autentisera enheten med Azure IoT Hub. De signerar inte certifikat, till skillnad från de CA-certifikat som IoT Edge-enheten presenterar för moduler eller underordnade enheter för verifiering. Mer information finns i Information om användning av Azure IoT Edge-certifikat.
När du har skapat enhetsidentitetscertifikatet har du två filer: en .cer- eller .pem-fil som har den offentliga delen av certifikatet och en .cer- eller .pem-fil med certifikatets privata nyckel. Om du använder gruppregistrering i DPS behöver du också den offentliga delen av ett mellanliggande eller rot-CA-certifikat i samma förtroendekedja.
Du behöver följande filer för att konfigurera automatisk etablering med X.509:
- Enhetsidentitetscertifikatet och dess privata nyckelcertifikat. Ladda upp enhetsidentitetscertifikatet till DPS om du skapar en enskild registrering. Den privata nyckeln skickas till IoT Edge-körningen.
- Ett fullständigt kedjecertifikat som har minst enhetsidentiteten och mellanliggande certifikat. Det fullständiga kedjecertifikatet skickas till IoT Edge-körningen.
- Ett mellanliggande certifikat eller rotcertifikatutfärdarcertifikat från certifikatkedjan för förtroende. Det här certifikatet laddas upp till DPS om du skapar en gruppregistrering.
Kommentar
För närvarande förhindrar en begränsning i libiothsm användningen av certifikat som upphör att gälla den 1 januari 2038 eller senare.
Använda testcertifikat (valfritt)
Om du inte har någon certifikatutfärdare tillgänglig för att skapa nya identitetscertifikat och vill prova det här scenariot har Azure IoT Edge git-lagringsplatsen skript som du kan använda för att generera testcertifikat. Använd endast dessa certifikat för utvecklingstestning och använd dem inte i produktion.
Om du vill skapa testcertifikat följer du stegen i Skapa democertifikat för att testa IoT Edge-enhetsfunktioner. Slutför de två avsnitt som krävs för att installera skript för certifikatgenerering och skapa ett root CA-certifikat. Följ sedan stegen för att skapa ett enhetsidentitetscertifikat. När du är klar har du följande certifikatkedja och nyckelpar:
- <WRKDIR>\certs\iot-edge-device-identity-<name>-full-chain.cert.pem
- <WRKDIR>\private\iot-edge-device-identity-<name>.key.pem
Du behöver båda dessa certifikat på IoT Edge-enheten. Om du använder individuell registrering i DPS laddar du upp .cert.pem-filen. Om du använder gruppregistrering i DPS bör du också ladda upp ett mellanliggande certifikat eller ett rotcertifikat från CA i samma förtroendekedja. Om du använder democertifikat använder du certifikatet <WRKDIR>\certs\azure-iot-test-only.root.ca.cert.pem för gruppregistrering.
Skapa en DPS-registrering
Använd dina genererade certifikat och nycklar för att skapa en registrering i DPS för en eller flera IoT Edge-enheter.
Om du vill etablera en enda IoT Edge-enhet skapar du en enskild registrering. Om du behöver flera etablerade enheter följer du stegen för att skapa en DPS-gruppregistrering.
När du skapar en registrering i DPS har du möjlighet att deklarera ett initialt enhetstvillingtillstånd. I enhetstvillingen kan du ange taggar för att gruppera enheter efter mått som du behöver i din lösning, till exempel region, miljö, plats eller enhetstyp. Dessa taggar används för att skapa automatiska distributioner.
Mer information om registreringar i enhetsetableringstjänsten finns i Hantera enhetsregistreringar.
Skapa en individuell DPS-registrering
Enskilda registreringar tar den offentliga delen av en enhets identitetscertifikat och matchar det med certifikatet på enheten.
Dricks
Stegen i den här artikeln gäller för Azure Portal, men du kan också skapa enskilda registreringar med hjälp av Azure CLI. Mer information finns i az iot dps-registrering. Som en del av CLI-kommandot använder du flaggan edge-aktiverad för att ange att registreringen är för en IoT Edge-enhet.
- I Azure Portal navigerar du till din instans av IoT Hub-enhetsetableringstjänsten. 
- Under Inställningar väljer du Hantera registreringar. 
- Välj Lägg till enskild registrering och slutför sedan följande steg för att konfigurera registreringen: - Mekanism: Välj X.509. 
- Primär certifikat .pem eller .cer fil: Ladda upp den offentliga filen från enhetsidentitetscertifikatet. Om du använde skripten för att generera ett testcertifikat väljer du följande fil: - <WRKDIR>\certs\iot-edge-device-identity-<name>.cert.pem
- IoT Hub-enhets-ID: Ange ett ID för din enhet om du vill. Du kan använda enhets-ID:n för att rikta in dig på en enskild enhet för moduldistribution. Om du inte anger något enhets-ID används det gemensamma namnet (CN) i X.509-certifikatet. 
- IoT Edge-enhet: Välj Sant för att deklarera att registreringen gäller för en IoT Edge-enhet. 
- Välj de IoT-hubbar som den här enheten kan tilldelas till: Välj den länkade IoT-hubb som du vill ansluta enheten till. Du kan välja flera hubbar och enheten tilldelas till en av dem enligt den valda allokeringsprincipen. 
- Inledande enhetstvillingtillstånd: Lägg till ett taggvärde som ska läggas till i enhetstvillingen om du vill. Du kan använda taggar för att rikta in sig på grupper av enheter för automatisk distribution. Till exempel: - { "tags": { "environment": "test" }, "properties": { "desired": {} } }
 
- Välj Spara. 
Under Hantera registreringar kan du se registrerings-ID :t för den registrering som du nyss skapade. Anteckna det eftersom det kan användas när du etablerar enheten.
Nu när det finns en registrering för den här enheten kan IoT Edge-körningen automatiskt etablera enheten under installationen.
Installera IoT Edge
Distribuera Azure IoT Edge för Linux på Windows på målenheten.
Kommentar
Följande PowerShell-process beskriver hur du distribuerar IoT Edge för Linux i Windows till den lokala enheten. Om du vill distribuera till en fjärrmålenhet med Hjälp av PowerShell kan du använda Fjärr-PowerShell för att upprätta en anslutning till en fjärrenhet och fjärrköra dessa kommandon på den enheten.
- I en upphöjd PowerShell-session kör du något av följande kommandon beroende på din målenhetsarkitektur för att ladda ned IoT Edge för Linux i Windows. - X64/AMD64 - $msiPath = $([io.Path]::Combine($env:TEMP, 'AzureIoTEdge.msi')) $ProgressPreference = 'SilentlyContinue' Invoke-WebRequest "https://aka.ms/AzEFLOWMSI_1_5_LTS_X64" -OutFile $msiPath
- ARM64 - $msiPath = $([io.Path]::Combine($env:TEMP, 'AzureIoTEdge.msi')) $ProgressPreference = 'SilentlyContinue' Invoke-WebRequest "https://aka.ms/AzEFLOWMSI_1_5_LTS_ARM64" -OutFile $msiPath
 
- Installera IoT Edge för Linux på Windows på din enhet. - Start-Process -Wait msiexec -ArgumentList "/i","$([io.Path]::Combine($env:TEMP, 'AzureIoTEdge.msi'))","/qn"- Du kan ange anpassad IoT Edge för Linux i Windows-installation och VHDX-kataloger genom att lägga till - INSTALLDIR="<FULLY_QUALIFIED_PATH>"och- VHDXDIR="<FULLY_QUALIFIED_PATH>"parametrar i installationskommandot. Om du till exempel vill använda mappen D:\EFLOW för installation och D:\EFLOW-VHDX för VHDX kan du använda följande PowerShell-cmdlet.- Start-Process -Wait msiexec -ArgumentList "/i","$([io.Path]::Combine($env:TEMP, 'AzureIoTEdge.msi'))","/qn","INSTALLDIR=D:\EFLOW", "VHDXDIR=D:\EFLOW-VHDX"
- Ange körningsprincipen på målenheten till - AllSignedom den inte redan är det. Se PowerShell-kraven för kommandon för att kontrollera den aktuella körningsprincipen och ange körningsprincipen till- AllSigned.
- Skapa IoT Edge för Linux i Windows-distributionen. Distributionen skapar din virtuella Linux-dator och installerar IoT Edge-körningen åt dig. - Deploy-Eflow- Dricks - Som standard skapar kommandot den - Deploy-Eflowvirtuella Linux-datorn med 1 GB RAM-minne, 1 vCPU-kärna och 16 GB diskutrymme. De resurser som din virtuella dator behöver är dock mycket beroende av de arbetsbelastningar som du distribuerar. Om den virtuella datorn inte har tillräckligt med minne för att stödja dina arbetsbelastningar startar den inte.- Du kan anpassa den virtuella datorns tillgängliga resurser med hjälp av - Deploy-Eflowkommandots valfria parametrar. Detta krävs för att distribuera EFLOW på en enhet med minimikraven för maskinvara.- Följande kommando skapar till exempel en virtuell dator med en vCPU-kärna, 1 GB RAM-minne (representerat i MB) och 2 GB diskutrymme: - Deploy-Eflow -cpuCount 1 -memoryInMB 1024 -vmDataSize 2- Information om alla tillgängliga valfria parametrar finns i PowerShell-funktioner för IoT Edge för Linux i Windows. - Varning - Som standard har den virtuella EFLOW Linux-datorn ingen DNS-konfiguration. Distributioner med DHCP försöker hämta DNS-konfigurationen som sprids av DHCP-servern. Kontrollera DNS-konfigurationen för att säkerställa internetanslutningen. Mer information finns i AzEFLOW-DNS. - Du kan tilldela en GPU till din distribution för att aktivera GPU-accelererade Linux-moduler. För att få åtkomst till dessa funktioner måste du installera de krav som beskrivs i GPU-acceleration för Azure IoT Edge för Linux i Windows. - Om du vill använda en GPU-genomströmning lägger du till parametrarna gpuName, gpuPassthroughType och gpuCount i kommandot - Deploy-Eflow. Information om alla tillgängliga valfria parametrar finns i PowerShell-funktioner för IoT Edge för Linux i Windows.- Varning - Aktivering av genomströmning av maskinvaruenheter kan öka säkerhetsriskerna. Microsoft rekommenderar en enhetsreduceringsdrivrutin från GPU:ns leverantör när det är tillämpligt. Mer information finns i Distribuera grafikenheter med diskret enhetstilldelning. 
- Ange "Y" för att godkänna licensvillkoren. 
- Ange "O" eller "R" för att växla Valfria diagnostikdata på eller av, beroende på vad du föredrar. 
- När distributionen är klar rapporterar PowerShell-fönstret Distributionen lyckades.   - Efter en lyckad distribution är du redo att etablera enheten. 
Etablera enheten med dess molnidentitet
När du har installerat körmiljön på enheten konfigurerar du enheten med den information den använder för att ansluta till enhetstjänsten och IoT Hub.
Kontrollera att du har följande information:
- DPS-ID-omfångsvärdet. Du hittar det här värdet på översiktssidan för din DPS-instans i Azure-portalen.
- Kedjefilen för enhetsidentitetscertifikat på enheten.
- Enhetens identitetsnyckelfil på enheten.
Kör följande kommando i en upphöjd PowerShell-session. Ersätt platshållarvärdena med dina egna värden:
Provision-EflowVm -provisioningType DpsX509 -scopeId PASTE_YOUR_ID_SCOPE_HERE -registrationId PASTE_YOUR_REGISTRATION_ID_HERE -identityCertPath PASTE_ABSOLUTE_PATH_TO_IDENTITY_CERTIFICATE_HERE -identityPrivateKey PASTE_ABSOLUTE_PATH_TO_IDENTITY_PRIVATE_KEY_HERE
Kontrollera att installationen har slutförts
Kontrollera att IoT Edge för Linux i Windows är installerat och konfigurerat på din IoT Edge-enhet.
Kontrollera att den enskilda registrering som du skapade i enhetsetableringstjänsten används. Gå till din instans av enhetsetableringstjänsten i Azure-portalen. Öppna registreringsinformationen för den enskilda registrering som du skapade. Status för registreringen är tilldelad och enhets-ID är listad.
- Logga in på din IoT Edge för Linux på en virtuell Windows-dator med följande kommando i PowerShell-sessionen: - Connect-EflowVm- Kommentar - Det enda konto som tillåts för SSH till den virtuella datorn är användaren som skapade det. 
- När du är inloggad kan du kontrollera listan över IoT Edge-moduler som körs med hjälp av följande Linux-kommando: - sudo iotedge list
- Om du behöver felsöka IoT Edge-tjänsten använder du följande Linux-kommandon. - Hämta tjänstloggar om du behöver felsöka tjänsten. - sudo iotedge system logs
- Använd verktyget - checkför att verifiera enhetens konfigurations- och anslutningsstatus.- sudo iotedge check
 - Kommentar - På en nykonfigurerad enhet kan du se ett fel som rör IoT Edge Hub. - × produktionsberedskap: Edge Hubs lagringskatalog sparas i värdfilsystemet – Fel - Det gick inte att kontrollera det aktuella tillståndet för edgeHub-containern - Det här felet förväntas på en nyligen etablerad enhet eftersom IoT Edge Hub-modulen inte körs. Lös felet genom att ange modulerna för enheten i IoT Hub och skapa en distribution. När du skapar en distribution för enheten startas modulerna på enheten, inklusive IoT Edge Hub-modulen. 
När du skapar en ny IoT Edge-enhet visas statuskoden 417 -- The device's deployment configuration is not set i Azure-portalen. Den här statusen är normal och innebär att enheten är redo att ta emot en moduldistribution.
Avinstallera IoT Edge för Linux i Windows
Om du vill ta bort Azure IoT Edge för Linux på Windows-installationen från enheten använder du följande kommandon.
- Öppna inställningar i Windows
- Välj Lägg till eller ta bort program
- Välj Azure IoT Edge-app
- Välj Avinstallera
Nästa steg
Registreringsprocessen för tjänsten för enhetsetablering gör att du kan ange enhets-ID och taggar för enhetstvillingar när du provisionerar en ny enhet. Använd dessa värden för att rikta in sig på enskilda enheter eller grupper av enheter med automatisk enhetshantering. Lär dig hur du distribuerar och övervakar IoT Edge-moduler i stor skala med hjälp av Azure-portalen eller med Hjälp av Azure CLI.
Du kan även:
- Fortsätt att distribuera IoT Edge-moduler för att lära dig hur du distribuerar moduler till din enhet.
- Lär dig hur du hanterar certifikat på din virtuella IoT Edge för Linux på en virtuell Windows-dator och överför filer från värdoperativsystemet till den virtuella Linux-datorn.
- Lär dig hur du konfigurerar IoT Edge-enheter så att de kommunicerar via en proxyserver.