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
Az Azure IoT Edge 1.5 LTS és az IoT Edge 1.4 támogatott kiadások. Az IoT Edge 1.4 LTS 2024. november 12-én megszűnik. Ha egy korábbi kiadást használ, tekintse meg az Az IoT Edge frissítése című cikket.
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ájllal, amely tartalmazza a tanúsítvány nyilvános részét, valamint egy .cer vagy .pem fájllal, amely a tanúsítvány titkos kulcsával rendelkezik. 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.
Feljegyzé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, töltse fel 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 Beállítások 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élda:
{ "tags": { "environment": "test" }, "properties": { "desired": {} } }
Válassza a Mentés lehetőséget.
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.
Feljegyzé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.A következő 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
Feljegyzé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
Feljegyzé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ódot 417 -- The device's deployment configuration is not set
az Azure Portalon jeleníti meg. 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.
- Beállítások 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.