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
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:
- Tanúsítványok és kulcsok létrehozása.
- Hozzon létre egyéni regisztrációt egyetlen eszközhöz vagy csoportregisztrációhoz egy eszközcsoporthoz.
- 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
- Windows 10 rendszeren engedélyezze a Hyper-V-t. További információ: Hyper-V telepítése Windows 10-en.
- Windows Serveren telepítse a Hyper-V szerepkört, és hozzon létre egy alapértelmezett hálózati kapcsolót. További információ: Beágyazott virtualizáció a Linuxhoz készült Azure IoT Edge-hez Windows rendszeren.
- Virtuális gépen konfigurálja a beágyazott virtualizálást. További információ: beágyazott virtualizálá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:
Á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
nemAllSigned
, 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.
Az Azure Portalon keresse meg az IoT Hub eszközkiépítési szolgáltatás példányát.
A Gépház területen válassza a Regisztrációk kezelése lehetőséget.
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": {} } }
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.
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
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>"
ésVHDXDIR="<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"
Á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áhozAllSigned
.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.
Adja meg az "Y" értéket a licencfeltételek elfogadásához.
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.
Az üzembe helyezés befejezése után a PowerShell-ablak a sikeres üzembe helyezést jelenti.
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.
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.
Miután bejelentkezett, az alábbi Linux-paranccsal ellenőrizheti a futó IoT Edge-modulok listáját:
sudo iotedge list
Ha az IoT Edge szolgáltatás hibaelhárítására van szüksége, használja az alábbi Linux-parancsokat.
Ha hibaelhárításra van szükség, kérje le a szolgáltatás naplóit.
sudo iotedge system logs
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.
- Gépház megnyitása Windows rendszeren
- Válassza a Programok hozzáadása vagy eltávolítása lehetőséget
- Az Azure IoT Edge-alkalmazás kiválasztása
- 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:
- Folytassa az IoT Edge-modulok üzembe helyezését, hogy megtudja, hogyan helyezhet üzembe modulokat az eszközén.
- Megtudhatja, hogyan kezelheti a tanúsítványokat a Linux IoT Edge-en Windows rendszerű virtuális gépen , és hogyan továbbíthat fájlokat a gazdagép operációs rendszeréről a Linux rendszerű virtuális gépre.
- Megtudhatja, hogyan konfigurálhatja az IoT Edge-eszközöket proxykiszolgálón keresztüli kommunikációra.