Skapa och etablera en IoT Edge för Linux på En Windows-enhet med hjälp av symmetriska nycklar
Gäller för: IoT Edge 1.1
Viktigt
IoT Edge datum då support upphör 1.1 var den 13 december 2022. I informationen om Microsoft-produktens livscykel hittar du fler uppgifter om vilken support som gäller för denna produkt, tjänst, teknik eller detta API. Mer information om hur du uppdaterar till den senaste versionen av IoT Edge finns i Uppdatera IoT Edge.
Den här artikeln innehåller instruktioner från slutpunkt till slutpunkt för registrering och etablering av en IoT Edge för Linux på Windows-enheter.
Varje enhet som ansluter till en IoT-hubb har ett enhets-ID som används för att spåra kommunikation från moln till enhet eller från enhet till moln. Du konfigurerar en enhet med dess anslutningsinformation, som innehåller IoT Hub-värdnamnet, enhets-ID:t och den information som enheten använder för att autentisera till IoT Hub.
Stegen i den här artikeln beskriver en process som kallas manuell etablering, där du ansluter en enskild enhet till dess IoT-hubb. För manuell etablering har du två alternativ för att autentisera IoT Edge enheter:
Symmetriska nycklar: När du skapar en ny enhetsidentitet i IoT Hub skapar tjänsten två nycklar. Du placerar en av nycklarna på enheten och den visar nyckeln för IoT Hub vid autentisering.
Den här autentiseringsmetoden går snabbare att komma igång, men inte lika säker.
Självsignerat X.509: Du skapar två X.509-identitetscertifikat och placerar dem på enheten. När du skapar en ny enhetsidentitet i IoT Hub anger du tumavtryck från båda certifikaten. När enheten autentiseras för att IoT Hub visas ett certifikat och IoT Hub verifierar att certifikatet matchar dess tumavtryck.
Den här autentiseringsmetoden är säkrare och rekommenderas för produktionsscenarier.
Den här artikeln beskriver hur du använder symmetriska nycklar som autentiseringsmetod. Om du vill använda X.509-certifikat läser du Skapa och etablera en IoT Edge för Linux på Windows-enheter med X.509-certifikat.
Anteckning
Om du har många enheter att konfigurera och inte vill etablera var och en manuellt kan du använda någon av följande artiklar för att lära dig hur IoT Edge fungerar med IoT Hub enhetsetableringstjänst:
Förutsättningar
Den här artikeln beskriver hur du registrerar din IoT Edge-enhet och installerar IoT Edge för Linux i Windows. Dessa uppgifter har olika förutsättningar och verktyg som används för att utföra dem. Kontrollera att du har alla krav som beskrivs innan du fortsätter.
Verktyg för enhetshantering
Du kan använda Azure Portal, Visual Studio Code eller Azure CLI för stegen för att registrera din enhet. Varje verktyg har sina egna förutsättningar:
En kostnadsfri IoT-hubb eller standard-IoT-hubb i din Azure-prenumeration.
Krav på enheten
En Windows-enhet med följande minimikrav:
Systemkrav
- Windows 10 1/11 (Pro, Enterprise, IoT Enterprise)
- Windows Server 20191/2022
Minst 1 Windows 10 och Windows Server 2019 version 17763 med alla aktuella kumulativa uppdateringar installerade.
Maskinvarukrav
- Minsta lediga minne: 1 GB
- Minsta lediga diskutrymme: 10 GB
Virtualiseringsstöd
- Aktivera Hyper-V på Windows 10. Mer information finns i Installera Hyper-V på Windows 10.
- 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.
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 Skapa virtuell växel för Linux i Windows.
- Windows Desktop-versioner har en standardväxel som kan användas för EFLOW-installation. Om det behövs kan du skapa en egen anpassad virtuell växel.
Tips
Om du vill använda GPU-accelererade Linux-moduler i azure-IoT Edge för Linux i Windows-distribution finns det flera konfigurationsalternativ att överväga.
Du måste installera rätt drivrutiner beroende på din GPU-arkitektur och du kan behöva åtkomst till ett Windows Insider Program-bygge. 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.
Utvecklarverktyg
Du kan använda antingen PowerShell eller Windows Admin Center för att hantera dina IoT Edge enheter. Varje verktyg har sina egna förutsättningar:
Om du vill använda PowerShell använder du följande steg för att förbereda 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-kommandotolk med följande kommando:Get-ExecutionPolicy -List
Om körningsprincipen för inte
AllSigned
är kan du ange körningsprincipen med hjälp avlocal machine
:Set-ExecutionPolicy -ExecutionPolicy AllSigned -Force
Mer information om Azure IoT Edge för Linux i Windows PowerShell-modulen finns i Referens för PowerShell-funktioner.
Registrera din enhet
Du kan använda Azure Portal, Visual Studio Code eller Azure CLI för att registrera din enhet, beroende på vad du föredrar.
I din IoT-hubb i Azure Portal skapas och hanteras IoT Edge enheter separat från IoT-enheter som inte är edge-aktiverade.
Logga in på Azure Portal och gå till din IoT-hubb.
I den vänstra rutan väljer du Enheter på menyn och sedan Lägg till enhet.
På sidan Skapa en enhet anger du följande information:
- Skapa ett beskrivande enhets-ID. Anteckna det här enhets-ID:t eftersom du kommer att använda det senare.
- Markera kryssrutan IoT Edge Enhet.
- Välj Symmetrisk nyckel som autentiseringstyp.
- Använd standardinställningarna för att automatiskt generera autentiseringsnycklar och ansluta den nya enheten till hubben.
Välj Spara.
Nu när du har en enhet registrerad i IoT Hub hämtar du den information som du använder för att slutföra installationen och etableringen av IoT Edge-körningen.
Visa registrerade enheter och hämta etableringsinformation
Enheter som använder symmetrisk nyckelautentisering behöver sina anslutningssträngar för att slutföra installationen och etableringen av IoT Edge körning.
De gränsaktiverade enheter som ansluter till din IoT-hubb visas på sidan Enheter . Du kan filtrera listan efter typ Iot Edge-enhet.
När du är redo att konfigurera enheten behöver du anslutningssträngen som länkar din fysiska enhet med dess identitet i IoT-hubben.
Enheter som autentiserar med symmetriska nycklar har sina anslutningssträngar tillgängliga att kopiera i portalen.
- På sidan Enheter i portalen väljer du IoT Edge enhets-ID i listan.
- Kopiera värdet för antingen primär anslutningssträng eller sekundär anslutningssträng.
Installera IoT Edge
Distribuera Azure IoT Edge för Linux i Windows på målenheten.
Installera IoT Edge för Linux på Windows på målenheten.
Anteckning
Följande PowerShell-process beskriver hur du distribuerar IoT Edge för Linux på Windows på den lokala enheten. Om du vill distribuera till en fjärrmålenhet med Hjälp av PowerShell kan du använda Remote PowerShell för att upprätta en anslutning till en fjärrenhet och köra dessa kommandon via fjärranslutning på den enheten.
I en upphöjd PowerShell-session kör du vart och ett av följande kommandon för att ladda ned IoT Edge för Linux i Windows.
$msiPath = $([io.Path]::Combine($env:TEMP, 'AzureIoTEdge.msi')) $ProgressPreference = 'SilentlyContinue' Invoke-WebRequest "https://aka.ms/AzEflowMSI" -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 anpassade IoT Edge för Linux vid Windows-installation och VHDX-kataloger genom att lägga till
INSTALLDIR="<FULLY_QUALIFIED_PATH>"
ochVHDXDIR="<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
AllSigned
om den inte redan är det. Se PowerShell-kraven för kommandon för att kontrollera den aktuella körningsprincipen och ange körningsprincipen tillAllSigned
.Skapa IoT Edge för Linux i Windows-distribution. Distributionen skapar din virtuella Linux-dator och installerar IoT Edge körning åt dig.
Deploy-Eflow
Tips
Som standard skapar kommandot din
Deploy-Eflow
virtuella Linux-dator 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-Eflow
kommandots valfria parametrar.Kommandot nedan skapar till exempel en virtuell dator med 4 vCPU-kärnor, 4 GB RAM-minne (representerat i MB) och 20 GB diskutrymme:
Deploy-Eflow -cpuCount 4 -memoryInMB 4096 -vmDiskSize 20
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 kraven 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 valfria parametrar finns i PowerShell-funktioner för IoT Edge för Linux i Windows.Varning
Aktivering av genomströmning för maskinvaruenheter kan öka säkerhetsriskerna. Microsoft rekommenderar en enhetsminskningsdrivrutin från GPU:ns leverantör, i förekommande fall. Mer information finns i Distribuera grafikenheter med diskret enhetstilldelning.
Ange "Y" för att godkänna licensvillkoren.
Ange O eller R om du vill aktivera eller inaktivera valfria diagnostikdata , beroende på dina önskemål.
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
Du är redo att konfigurera enheten med dess molninformation om identitet och autentisering.
Om du vill etablera enheten med symmetriska nycklar behöver du enhetens anslutningssträng.
Du kan använda Windows Admin Center eller en upphöjd PowerShell-session för att etablera dina enheter.
Kör följande kommando i en upphöjd PowerShell-session på målenheten. Ersätt platshållartexten med dina egna värden.
Provision-EflowVm -provisioningType ManualConnectionString -devConnString "PASTE_DEVICE_CONNECTION_STRING_HERE"
Mer information om kommandot finns i Provision-EflowVM
PowerShell-funktioner för IoT Edge för Linux i Windows.
Verifiera att konfigurationen har slutförts
Kontrollera att IoT Edge för Linux i Windows har installerats och konfigurerats på din IoT Edge-enhet.
Logga in på din IoT Edge för Linux på en virtuell Windows-dator med följande kommando i PowerShell-sessionen:
Connect-EflowVm
Anteckning
Det enda konto som tillåts för SSH till den virtuella datorn är den användare 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änstloggarna.
sudo journalctl -u iotedge
Använd verktyget
check
för att verifiera enhetens konfiguration och anslutningsstatus.sudo iotedge check
Anteckning
På en nyligen etablerad 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 modulen IoT Edge Hub 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 modulen IoT Edge Hub.
När du skapar en ny IoT Edge enhet visas statuskoden 417 -- The device's deployment configuration is not set
i Azure Portal. 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 LTS-app
- Välj Avinstallera
Nästa steg
- 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 IoT Edge för Linux på en virtuell Windows-dator och överför filer från värdoperativsystemet till din virtuella Linux-dator.
- Lär dig hur du konfigurerar dina IoT Edge-enheter för kommunikation via en proxyserver.