IoT Edge létrehozása és kiépítése Linuxhoz windowsos eszközökön X.509-tanúsítványok 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 a linuxos IoT Edge X.509-tanúsítványokkal történő automatikus fejlesztésére vonatkozó, végpontok közötti utasításokat tartalmazza. Az Azure IoT Edge-eszközöket automatikusan kiépítheti az Azure IoT Hub eszközkiépítési szolgáltatással (DPS). Ha nem ismeri az automatikus kiépítés folyamatát, a folytatás előtt tekintse át a kiépítés áttekintését .

A feladatok a következők:

  1. Tanúsítványok és kulcsok létrehozása.
  2. Hozzon létre egyéni regisztrációt egyetlen eszközhöz vagy csoportregisztrációhoz egy eszközcsoporthoz.
  3. Telepítsen egy Linux rendszerű virtuális gépet az IoT Edge-futtatókörnyezettel, és csatlakoztassa az IoT Hubhoz.

Az X.509-tanúsítványok igazolási mechanizmusként való használata kiváló módszer az éles környezet méretezésére és az eszközök kiépítésének egyszerűsítésére. Az X.509-tanúsítványok általában megbízhatósági tanúsítványláncba vannak rendezve. Az önaláírt vagy megbízható főtanúsítványtól kezdve a lánc minden tanúsítványa aláírja a következő alacsonyabb tanúsítványt. Ez a minta egy delegált megbízhatósági láncot hoz létre a főtanúsítványtól kezdve az egyes köztes tanúsítványokon át az eszközön telepített végső alsóbb rétegbeli eszköztanúsítványig.

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.

Eszközidentitás-tanúsítványok létrehozása

Az eszközidentitás-tanúsítvány egy alárendelt tanúsítvány, amely egy megbízhatósági tanúsítványláncon keresztül csatlakozik a legfelső X.509 hitelesítésszolgáltatói (CA-) tanúsítványhoz. Az eszköz identitástanúsítványának a köznapi nevét (CN) arra az eszközazonosítóra kell beállítania, amelyet az eszköznek az IoT Hubban szeretne használni.

Az eszközidentitás-tanúsítványok csak az IoT Edge-eszköz kiépítéséhez és az eszköz Azure IoT Hubbal való hitelesítéséhez használhatók. Nem aláíró tanúsítványok, ellentétben azokkal a hitelesítésszolgáltatói tanúsítványokkal, amelyeket az IoT Edge-eszköz a moduloknak vagy az alsóbb rétegbeli eszközöknek biztosít ellenőrzés céljából. További információ: Azure IoT Edge-tanúsítványhasználat részletei.

Az eszközidentitás-tanúsítvány létrehozása után két fájlnak kell lennie: egy .cer vagy .pem fájl, amely tartalmazza a tanúsítvány nyilvános részét, valamint egy .cer vagy .pem fájl a tanúsítvány titkos kulcsával. Ha csoportregisztrációt szeretne használni a DPS-ben, szüksége lesz egy köztes vagy fő hitelesítésszolgáltatói tanúsítvány nyilvános részére ugyanabban a tanúsítványláncban.

Az X.509-zel való automatikus üzembe helyezés beállításához a következő fájlokra van szüksége:

  • Az eszköz identitástanúsítványa és titkoskulcs-tanúsítványa. Az eszköz identitástanúsítványa akkor lesz feltöltve a DPS-be, ha egyéni regisztrációt hoz létre. A titkos kulcsot a rendszer átadja az IoT Edge-futtatókörnyezetnek.
  • Teljes láncú tanúsítvány, amelynek legalább az eszközidentitással és a köztes tanúsítványokkal kell rendelkeznie. A teljes lánctanúsítvány az IoT Edge-futtatókörnyezetnek lesz átadva.
  • Köztes vagy fő hitelesítésszolgáltatói tanúsítvány a megbízhatósági tanúsítványláncból. Ez a tanúsítvány akkor lesz feltöltve a DPS-be, ha csoportregisztrációt hoz létre.

Megjegyzés:

Jelenleg a libiothsm korlátozása megakadályozza a 2038. január 1-jén vagy azt követően lejáró tanúsítványok használatát.

Teszttanúsítványok használata (nem kötelező)

Ha nem rendelkezik olyan hitelesítésszolgáltatóval, amely új identitástanúsítványokat hozna létre, és ki szeretné próbálni ezt a forgatókönyvet, az Azure IoT Edge Git-adattár olyan szkripteket tartalmaz, amelyekkel teszttanúsítványokat hozhat létre. Ezek a tanúsítványok csak fejlesztési tesztelésre vannak tervezve, és éles környezetben nem használhatók.

Teszttanúsítványok létrehozásához kövesse a demótanúsítványok létrehozása című témakörben leírt lépéseket az IoT Edge eszközfunkcióinak teszteléséhez. Töltse ki a tanúsítványgenerálási szkriptek beállításához és egy legfelső szintű hitelesítésszolgáltatói tanúsítvány létrehozásához szükséges két szakaszt. Ezután kövesse az eszközidentitás-tanúsítvány létrehozásához szükséges lépéseket. Ha végzett, a következő tanúsítványláncot és kulcspárt kell tartalmaznia:

  • <WRKDIR>\certs\iot-edge-device-identity-<name>-full-chain.cert.pem
  • <WRKDIR>\private\iot-edge-device-identity-<name>.key.pem

Mindkét tanúsítványra szüksége van az IoT Edge-eszközön. Ha egyéni regisztrációt fog használni a DPS-ben, akkor feltölti a .cert.pem fájlt. Ha csoportregisztrációt fog használni a DPS-ben, akkor egy köztes vagy fő hitelesítésszolgáltatói tanúsítványra is szüksége lesz ugyanabban a megbízhatósági tanúsítványláncban a feltöltéshez. Ha demó tanúsítványokat használ, használja a tanúsítványt a <WRKDIR>\certs\azure-iot-test-only.root.ca.cert.pem csoportregisztrációhoz.

DPS-regisztráció létrehozása

A létrehozott tanúsítványok és kulcsok használatával hozzon létre regisztrációt a DPS-ben egy vagy több IoT Edge-eszközhöz.

Ha egyetlen IoT Edge-eszközt szeretne kiépíteni, hozzon létre egy egyéni regisztrációt. Ha több eszköz kiépítésére van szüksége, kövesse a DPS-csoportregisztráció létrehozásának lépéseit.

Amikor létrehoz egy regisztrációt a DPS-ben, 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 szükséges 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.

Az eszközkiépítési szolgáltatásban történő regisztrációval kapcsolatos további információkért tekintse meg az eszközregisztrációk kezelését ismertető témakört.

DPS-egyéni regisztráció létrehozása

Az egyéni regisztrációk átveszik az eszköz identitástanúsítványának nyilvános részét, és megegyeznek az eszközön található tanúsítvánnyal.

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 keresse meg az IoT Hub eszközkiépítési szolgáltatás 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:

    • Mechanizmus: Válassza az X.509-et.

    • Elsődleges tanúsítvány .pem vagy .cer fájl: Töltse fel a nyilvános fájlt az eszköz identitástanúsítványából. Ha teszttanúsítvány létrehozásához használta a szkripteket, válassza a következő fájlt:

      <WRKDIR>\certs\iot-edge-device-identity-<name>.cert.pem

    • IoT Hub-eszközazonosító: Adjon meg egy azonosítót az eszközéhez, ha szeretné. Az eszközazonosítókkal egy-egy eszközt célozhat meg a modul üzembe helyezéséhez. Ha nem ad meg eszközazonosítót, a rendszer az X.509-tanúsítványban szereplő köznapi nevet (CN) használja.

    • IoT Edge-eszköz: Válassza az Igaz lehetőséget annak deklarálásához, hogy a regisztráció egy IoT Edge-eszközre vonatkozik.

    • Válassza ki azokat az IoT Hubokat, amelyekhez az eszköz hozzárendelhető: Válassza ki azt a csatolt IoT Hubot, amelyhez csatlakoztatni szeretné az eszközt. Több központot is választhat, és az eszköz a kiválasztott foglalási szabályzatnak megfelelően az egyikhez lesz hozzárendelve.

    • Kezdeti ikereszköz-állapot: Ha szeretné, adjon hozzá egy címkeértéket az ikereszközhöz. Címkék használatával célcsoportokat célozhat meg az automatikus üzembe helyezéshez. Például:

      {
          "tags": {
             "environment": "test"
          },
          "properties": {
             "desired": {}
          }
      }
      
  4. Válassza a Mentés parancsot.

A Regisztrációk kezelése csoportban láthatja az imént létrehozott regisztráció regisztrációs azonosítóját. Jegyezze fel, mivel az eszköz kiépítésekor használható.

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 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.

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

Miután telepítette a futtatókörnyezetet az eszközön, konfigurálja az eszközt az eszközkiépítési szolgáltatáshoz és az IoT Hubhoz való csatlakozáshoz használt információkkal.

Készítse fel a következő információkat:

  • A DPS-azonosító hatókörének értéke. Ezt az értéket lekérheti a DPS-példány áttekintési oldaláról az Azure Portalon.
  • Az eszköz identitástanúsítvány-láncfájlja az eszközön.
  • Az eszköz identitáskulcsfájlja az eszközön.

Futtassa a következő parancsot egy emelt szintű PowerShell-munkamenetben a saját értékekkel frissített helyőrző értékekkel:

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

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.

Ellenőrizheti, hogy az eszközkiépítési szolgáltatásban létrehozott egyéni regisztrációt használták-e. Lépjen az eszközkiépítési szolgáltatáspéldányra 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.

  1. Jelentkezzen be a Linuxhoz készült IoT Edge-be Windows rendszerű virtuális gépen a Következő 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. Miután bejelentkezett, 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.

Új IoT Edge-eszköz létrehozásakor az állapotkód 417 -- The device's deployment configuration is not set megjelenik az Azure Portalon. Ez az állapot normális, és azt jelenti, hogy az eszköz készen áll a modul üzembe helyezésére.

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. Ezekkel az értékekkel egyéni eszközöket vagy eszközcsoportokat célozhat meg automatikus eszközkezeléssel. Megtudhatja, hogyan helyezhet üzembe és monitorozhat IoT Edge-modulokat nagy méretekben az Azure Portalon vagy az Azure CLI használatával.

További lehetőségek: