IoT Edge létrehozása és üzembe helyezése Linuxhoz Windows-eszközön nagy méretekben TPM használatával

A következőkre vonatkozik:IoT Edge 1.4 checkmark IoT Edge 1.4

Fontos

IoT Edge 1.4 is the supported release. If you are on an earlier release, see Update IoT Edge.

Ez a cikk útmutatást nyújt a Linuxhoz készült Azure IoT Edge automatikus fejlesztéséhez Windows-eszközön egy megbízható platformmodul (TPM) használatával. Az Azure IoT Hub eszközkiépítési szolgáltatásával automatikusan kiépítheti az Azure IoT Edge-eszközöket. Ha nem ismeri az automatikus üzembe helyezés folyamatát, a folytatás előtt tekintse át a kiépítés áttekintését .

Ez a cikk két módszertant ismertet. Válassza ki a kívánt beállítást a megoldás architektúrája alapján:

  • Linux rendszerű eszközök automatikus létrehozása fizikai TPM-hardverrel Windows-eszközön.
  • Linux rendszerű eszközök automatikus létrehozása szimulált TPM használatával. Ezt a módszertant csak tesztelési forgatókönyvként javasoljuk. A szimulált TPM nem nyújt ugyanolyan biztonságot, mint a fizikai TPM.

A feladatok a következők:

  • Telepítse a Linuxhoz készült IoT Edge-et Windows rendszeren.
  • Kérje le a TPM-adatokat az eszközről.
  • Hozzon létre egy egyéni regisztrációt az eszközhöz.
  • Az eszköz kiépítése a TPM-információival.

Előfeltételek

Felhőbeli erőforrások

  • Aktív IoT Hub
  • Az IoT Hub eszközkiépítési szolgáltatásának egy példánya az Azure-ban, az IoT Hubhoz csatolva
    • Ha nem rendelkezik eszközkiépítési szolgáltatáspéldánysal, kövesse az új IoT Hub-eszközkiépítési szolgáltatás létrehozása, valamint az IoT Hub és az IoT Hub eszközkiépítési szolgáltatás szakaszainak összekapcsolása rövid útmutatójában leírtakat.
    • Az eszközkiépítési szolgáltatás futtatása után másolja ki az azonosító hatókörének értékét az áttekintési oldalról. Ezt az értéket az IoT Edge-futtatókörnyezet konfigurálásakor használja.

Eszközkövetelmények

Az alábbi minimális követelményekkel rendelkező Windows-eszköz:

  • Rendszerkövetelmények

    • Windows 101/11 (Pro, Enterprise, IoT Enterprise)
    • Windows Server 20191/2022
      1 Windows 10 és Windows Server 2019 minimális build: 17763, az összes aktuális kumulatív frissítés telepítve van.
  • Hardverkövetelmények

    • Minimális szabad memória: 1 GB
    • Minimális szabad lemezterület: 10 GB
  • Virtualizálási támogatás

  • Hálózatkezelési támogatás

    • A Windows Server nem rendelkezik alapértelmezett kapcsolóval. Mielőtt üzembe helyezheti az EFLOW-t Egy Windows Server-eszközön, létre kell hoznia egy virtuális kapcsolót. További információ: Virtuális kapcsoló létrehozása Linuxhoz Windows rendszeren.
    • A Windows Desktop-verziók alapértelmezett kapcsolóval rendelkezik, amely az EFLOW telepítéséhez használható. Szükség esetén létrehozhatja saját egyéni virtuális kapcsolóját.

Tipp.

Ha GPU-val felgyorsított Linux-modulokat szeretne használni a Linuxhoz készült Azure IoT Edge-ben Windows-környezetben, több konfigurációs lehetőséget is figyelembe kell vennie.

A GPU-architektúrától függően telepítenie kell a megfelelő illesztőprogramokat, és előfordulhat, hogy hozzá kell férnie egy Windows Insider Program-buildhez. A konfigurációs igények meghatározásához és az előfeltételek teljesítéséhez tekintse meg a Linuxhoz készült Azure IoT Edge GPU-gyorsítását Windows rendszeren.

Mindenképpen szánjon időt a GPU-gyorsítás előfeltételeinek teljesítésére. Ha úgy dönt, hogy gpu-gyorsítást szeretne a telepítés során, újra kell indítania a telepítési folyamatot.

Fejlesztői eszközök

Készítse elő a céleszközt a Linuxhoz készült Azure IoT Edge windowsos telepítésére és a Linux rendszerű virtuális gép üzembe helyezésére:

  1. Állítsa be a végrehajtási szabályzatot a céleszközön a következőre AllSigned: . Az aktuális végrehajtási szabályzatot egy emelt szintű PowerShell-parancssorban ellenőrizheti az alábbi paranccsal:

    Get-ExecutionPolicy -List
    

    Ha a végrehajtási szabályzat local machine nem AllSigned, a végrehajtási szabályzatot a következővel állíthatja be:

    Set-ExecutionPolicy -ExecutionPolicy AllSigned -Force
    

A Linuxhoz készült Azure IoT Edge windowsos PowerShell-modullal kapcsolatos további információkért tekintse meg a PowerShell-függvények hivatkozását.

Megjegyzés:

A TPM 2.0 akkor szükséges, ha TPM-igazolást használ az eszközkiépítési szolgáltatással.

TPM használata esetén csak egyéni, nem csoportszintű eszközkiépítési szolgáltatásregisztrációkat hozhat létre.

Az IoT Edge telepítése

Telepítse az Azure IoT Edge for Linuxot Windows rendszeren a céleszközön.

Megjegyzés:

Az alábbi PowerShell-folyamat bemutatja, hogyan helyezheti üzembe a Linuxhoz készült IoT Edge-et Windows rendszeren a helyi eszközön. Távoli céleszközre a PowerShell használatával történő üzembe helyezéshez a Távoli PowerShell használatával létesíthet kapcsolatot egy távoli eszközzel, és távolról futtathatja ezeket a parancsokat az eszközön.

  1. Emelt szintű PowerShell-munkamenetben futtassa az alábbi parancsok egyikét a céleszköz architektúrájától függően, hogy letöltse a Linuxhoz készült IoT Edge-et Windows rendszeren.

    • 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
      
  2. Telepítse az IoT Edge for Linuxot Windows rendszeren az eszközére.

    Start-Process -Wait msiexec -ArgumentList "/i","$([io.Path]::Combine($env:TEMP, 'AzureIoTEdge.msi'))","/qn"
    

    A Linuxhoz készült egyéni IoT Edge-et windowsos telepítéskor és VHDX-címtárakban is megadhatja, ha hozzáadja INSTALLDIR="<FULLY_QUALIFIED_PATH>" és VHDXDIR="<FULLY_QUALIFIED_PATH>" paramétereket a telepítési parancshoz. Ha például a telepítéshez a D:\EFLOW mappát, a VHDX-hez pedig a D:\EFLOW-VHDX mappát szeretné használni, a következő PowerShell-parancsmagot használhatja.

    Start-Process -Wait msiexec -ArgumentList "/i","$([io.Path]::Combine($env:TEMP, 'AzureIoTEdge.msi'))","/qn","INSTALLDIR=D:\EFLOW", "VHDXDIR=D:\EFLOW-VHDX"
    
  3. Állítsa be a végrehajtási szabályzatot AllSigned a céleszközön, ha még nem tette meg. Tekintse meg a parancsok PowerShell-előfeltételeit az aktuális végrehajtási szabályzat ellenőrzéséhez és a végrehajtási szabályzat beállításához AllSigned.

  4. Hozza létre a Linuxhoz készült IoT Edge-t Windows rendszeren. Az üzembe helyezés létrehozza a Linux rendszerű virtuális gépet, és telepíti az IoT Edge-futtatókörnyezetet.

    Deploy-Eflow
    

    Tipp.

    A parancs alapértelmezés szerint 1 GB RAM-mal, Deploy-Eflow 1 vCPU maggal és 16 GB lemezterülettel hozza létre a Linux rendszerű virtuális gépet. A virtuális gép által igényelt erőforrások azonban nagy mértékben függenek az üzembe helyezhető számítási feladatoktól. Ha a virtuális gép nem rendelkezik elegendő memóriával a számítási feladatok támogatásához, nem indul el.

    A virtuális gép elérhető erőforrásait testre szabhatja a Deploy-Eflow parancs választható paramétereivel. Ez szükséges az EFLOW minimális hardverkövetelményekkel rendelkező eszközön való üzembe helyezéséhez.

    Az alábbi parancs például létrehoz egy virtuális gépet 1 vCPU-maggal, 1 GB RAM-mal (MB-ban ábrázolva) és 2 GB lemezterülettel:

    Deploy-Eflow -cpuCount 1 -memoryInMB 1024 -vmDataSize 2
    

    Az összes választható paraméterről további információt a Windowson futó Linuxhoz készült IoT Edge PowerShell-függvényeivel kapcsolatban talál.

    Figyelmeztetés:

    Alapértelmezés szerint az EFLOW Linux rendszerű virtuális gép nem rendelkezik DNS-konfigurációval. A DHCP-t használó üzemelő példányok megpróbálják beszerezni a DHCP-kiszolgáló által propagált DNS-konfigurációt. Ellenőrizze a DNS-konfigurációt az internetkapcsolat biztosításához. További információ: AzEFLOW-DNS.

    GPU-t rendelhet az üzembe helyezéshez a GPU-val felgyorsított Linux-modulok engedélyezéséhez. Ezeknek a funkcióknak a eléréséhez telepítenie kell a Linuxhoz készült Azure IoT Edge GPU-gyorsításával kapcsolatos előfeltételeket Windows rendszeren.

    GPU-átengedés használatához adja hozzá a gpuName, a gpuPassthroughType és a gpuCount paramétereket a Deploy-Eflow parancshoz. Az összes választható paraméterről további információt a Windowson futó Linuxhoz készült IoT Edge PowerShell-függvényeivel kapcsolatban talál.

    Figyelmeztetés:

    A hardvereszközök átadásának engedélyezése növelheti a biztonsági kockázatokat. A Microsoft egy eszközcsökkentési illesztőprogramot javasol a GPU gyártójától, ha van ilyen. További információ: Grafikus eszközök üzembe helyezése különálló eszközhozzárendelés használatával.

  5. Adja meg az "Y" értéket a licencfeltételek elfogadásához.

  6. Adja meg az "O" vagy az "R" értéket a választható diagnosztikai adatok be- vagy kikapcsolásához a beállításoktól függően.

  7. Az üzembe helyezés befejezése után a PowerShell-ablak a sikeres üzembe helyezést jelenti.

    A successful deployment will say 'Deployment successful' at the end of the messages, PNG.

    A sikeres üzembe helyezés után készen áll az eszköz üzembe helyezésére.

Néhány lépéssel előkészítheti az eszközt a TPM-sel való üzembe helyezésre. Az eszköz előkészítése során hagyja nyitva az üzembe helyezést. A cikk későbbi részében visszatér az üzembe helyezéshez.

TPM-átengedés engedélyezése

A Windows rendszerű virtuális gépeken futó Linux IoT Edge egy TPM-funkcióval rendelkezik, amely engedélyezhető vagy letiltható. Alapértelmezés szerint le van tiltva. Ha ez a funkció engedélyezve van, a virtuális gép hozzáférhet a gazdagép TPM-éhez.

  1. Nyissa meg a PowerShellt emelt szintű munkamenetben.

  2. Ha még nem tette meg, állítsa az eszközön a végrehajtási szabályzatot AllSigned úgy, hogy a Windows PowerShell-függvényeken futtathassa a Linuxhoz készült IoT Edge-et.

    Set-ExecutionPolicy -ExecutionPolicy AllSigned -Force
    
  3. Kapcsolja be a TPM funkciót.

    Set-EflowVmFeature -feature 'DpsTpm' -enable
    

A TPM adatainak lekérése az eszközről

Az eszköz üzembe helyezéséhez szüksége van egy jóváhagyási kulcsra a TPM-chiphez és az eszköz regisztrációs azonosítójához . Ezeket az információkat az eszközkiépítési szolgáltatás példányának adja meg, hogy a szolgáltatás felismerje az eszközt, amikor csatlakozni próbál.

A jóváhagyási kulcs egyedi az egyes TPM-chipek esetében. A termék a hozzá társított TPM chip gyártójától származik. A TPM-eszköz egyedi regisztrációs azonosítóját például úgy hozhatja létre, hogy létrehoz egy SHA-256 kivonatot a jóváhagyási kulcsból.

A Windows rendszeren futó Linux IoT Edge egy PowerShell-szkriptet biztosít, amely segít lekérni ezeket az információkat a TPM-ből. A szkript használatához kövesse az alábbi lépéseket az eszközön:

  1. Nyissa meg a PowerShellt emelt szintű munkamenetben.

  2. Run the command.

    Get-EflowVmTpmProvisioningInfo | Format-List
    

Eszközkiépítési szolgáltatás regisztrációjának létrehozása

A TPM kiépítési adataival egyéni regisztrációt hozhat létre az eszközkiépítési szolgáltatásban.

Amikor regisztrációt hoz létre az eszközkiépítési szolgáltatásban, lehetősége van az ikereszköz kezdeti állapotának deklarálására. Az ikereszközön beállíthatja, hogy a címkéket a megoldásban használt bármely metrika alapján csoportosítsa, például régió, környezet, hely vagy eszköztípus szerint. Ezek a címkék automatikus üzembe helyezéseket hoznak létre.

Tipp.

A cikkben szereplő lépések az Azure Portalon érhetők el, de egyéni regisztrációkat is létrehozhat az Azure CLI használatával. További információ: az iot dps-regisztráció. A CLI-parancs részeként használja az edge-kompatibilis jelzőt annak megadásához, hogy a regisztráció egy IoT Edge-eszközhöz tartozik- e.

  1. Az Azure Portalon nyissa meg az IoT Hub eszközkiépítési szolgáltatásának példányát.

  2. A Gépház területen válassza a Regisztrációk kezelése lehetőséget.

  3. Válassza az Egyéni regisztráció hozzáadása lehetőséget, majd végezze el a következő lépéseket a regisztráció konfigurálásához:

    1. A Mechanizmus beállításnál válassza a TPM lehetőséget.

    2. Adja meg a virtuális gépről vagy fizikai eszközről másolt jóváhagyási kulcsot és regisztrációs azonosítót .

    3. Ha szeretné, adjon meg egy azonosítót az eszközéhez. Ha nem ad meg eszközazonosítót, a rendszer a regisztrációs azonosítót használja.

    4. Az Igaz lehetőséget választva deklarálhatja, hogy a virtuális gép vagy a fizikai eszköz IoT Edge-eszköz.

    5. Válassza ki azt a csatolt IoT Hubot, amelyhez csatlakoztatni szeretné az eszközt, vagy válassza a Hivatkozás az új IoT Hubra lehetőséget. Több központot is választhat, és az eszköz a kiválasztott hozzárendelési szabályzatnak megfelelően az egyikhez lesz hozzárendelve.

    6. Ha szeretné, adjon hozzá egy címkeértéket az ikereszköz kezdeti állapotához . Címkék használatával célcsoportokat célozhat meg a modul üzembe helyezéséhez. További információ: IoT Edge-modulok nagy léptékű üzembe helyezése.

    7. Válassza a Mentés parancsot.

Most, hogy már létezik regisztráció ehhez az eszközhöz, az IoT Edge-futtatókörnyezet automatikusan kiépítheti az eszközt a telepítés során.

Az eszköz kiépítése a felhőbeli identitással

  1. Nyisson meg egy emelt szintű PowerShell-munkamenetet a Windows-eszközön.

  2. Az eszköz kiépítése az eszközkiépítési szolgáltatás példányából gyűjtött hatókör-azonosító használatával.

    Provision-EflowVM -provisioningType "DpsTpm" -scopeId "SCOPE_ID_HERE"
    

    Ha egyéni regisztrációs azonosítóval regisztrálta az eszközt, az üzembe helyezéskor is meg kell adnia ezt a regisztrációs azonosítót:

    Provision-EflowVM -provisioningType "DpsTpm" -scopeId "SCOPE_ID_HERE" -registrationId "REGISTRATION_ID_HERE"
    

Sikeres telepítés ellenőrzése

Ellenőrizze, hogy a Windows rendszeren futó Linux IoT Edge sikeresen telepítve lett-e és konfigurálva lett-e az IoT Edge-eszközön.

Ha a futtatókörnyezet sikeresen elindult, bemehet az IoT Hubba, és megkezdheti az IoT Edge-modulok üzembe helyezését az eszközön.

Ellenőrizheti, hogy az eszközkiépítési szolgáltatásban létrehozott egyéni regisztrációt használták-e. Nyissa meg az eszközkiépítési szolgáltatáspéldányt az Azure Portalon. Nyissa meg a létrehozott egyéni regisztráció regisztrációs adatait. Figyelje meg, hogy a regisztráció állapota ki van rendelve , és az eszközazonosító megjelenik a listában.

Az eszközön az alábbi parancsokkal ellenőrizheti, hogy az IoT Edge sikeresen telepítve van-e és elindult-e.

  1. Csatlakozás a Windows rendszerű virtuális gépeken futó Linux IoT Edge-hez az alábbi paranccsal a PowerShell-munkamenetben:

    Connect-EflowVm
    

    Megjegyzés:

    A virtuális gép számára az egyetlen SSH-fiók az, aki létrehozta.

  2. A bejelentkezés után az alábbi Linux-paranccsal ellenőrizheti a futó IoT Edge-modulok listáját:

    sudo iotedge list
    
  3. Ha az IoT Edge szolgáltatás hibaelhárítására van szüksége, használja az alábbi Linux-parancsokat.

    1. Ha hibaelhárításra van szükség, kérje le a szolgáltatás naplóit.

      sudo iotedge system logs
      
    2. check Az eszköz konfigurálásának és kapcsolati állapotának ellenőrzéséhez használja az eszközt.

      sudo iotedge check
      

    Megjegyzés:

    Egy újonnan kiépített eszközön az IoT Edge Hubhoz kapcsolódó hiba jelenhet meg:

    × éles üzemkészség: Az Edge Hub tárolókönyvtára megmarad a gazdagép fájlrendszerén – Hiba

    Nem sikerült ellenőrizni az edgeHub-tároló aktuális állapotát

    Ez a hiba egy újonnan kiépített eszközön várható, mert az IoT Edge Hub modul nem fut. A hiba megoldásához az IoT Hubban állítsa be az eszköz moduljait, és hozzon létre egy üzembe helyezést. Az eszköz központi telepítésének létrehozása elindítja a modulokat az eszközön, beleértve az IoT Edge Hub modult is.

Linux IoT Edge eltávolítása Windows rendszeren

Ha el szeretné távolítani Az Azure IoT Edge for Linux windowsos telepítését az eszközéről, használja az alábbi parancsokat.

  1. Gépház megnyitása Windows rendszeren
  2. Válassza a Programok hozzáadása vagy eltávolítása lehetőséget
  3. Az Azure IoT Edge-alkalmazás kiválasztása
  4. Válassza az Eltávolítás lehetőséget

Következő lépések

Az eszközkiépítési szolgáltatás regisztrációs folyamata lehetővé teszi az eszközazonosító és az ikereszköz-címkék beállítását az új eszköz üzembe helyezésével egyidejűleg. Ezeket az értékeket az automatikus eszközfelügyelettel megcélzhatja az egyes eszközökre vagy eszközcsoportokra.

Megtudhatja, hogyan helyezhet üzembe és monitorozhat nagy léptékű IoT Edge-modulokat az Azure Portal vagy az Azure CLI használatával.