IoT Edge-eszköz létrehozása és kiépítése Linuxon szimmetrikus kulcsokkal
A következőkre vonatkozik: IoT Edge 1.5 IoT Edge 1.4
Fontos
Az IoT Edge 1.5 LTS és az IoT Edge 1.4 LTS támogatott kiadások. Az IoT Edge 1.4 LTS 2024. november 12-én megszűnik. Ha egy korábbi kiadáson dolgozik, olvassa el az IoT Edge frissítése című témakört.
Ez a cikk a linuxos IoT Edge-eszközök regisztrálására és kiépítésére vonatkozó, az IoT Edge telepítését is magában foglaló, végpontok közötti utasításokat tartalmazza.
Az IoT Hubhoz csatlakozó összes eszköz rendelkezik egy eszközazonosítóval, amely a felhőből az eszközre vagy az eszközök közötti kommunikáció nyomon követésére szolgál. Konfigurálhat egy eszközt a kapcsolati adataival, beleértve a következőket:
- IoT Hub gazdagépneve
- Eszközazonosító
- Az IoT Hubhoz való csatlakozás hitelesítési részletei
A cikk lépései végigvezetnek egy manuális kiépítési folyamaton, ahol egyetlen eszközt csatlakoztat az IoT Hubhoz. A manuális kiépítéshez két lehetősége van az IoT Edge-eszközök hitelesítésére:
Szimmetrikus kulcsok: Amikor új eszközidentitást hoz létre az IoT Hubban, a szolgáltatás két kulcsot hoz létre. A kulcsok egyikét az eszközön helyezi el, és hitelesítéskor megjeleníti a kulcsot az IoT Hubnak.
Ez a hitelesítési módszer gyorsabb az első lépésekhez, de nem olyan biztonságos.
X.509 önaláírt: Létrehozhat két X.509-identitástanúsítványt, és elhelyezheti őket az eszközön. Amikor új eszközidentitást hoz létre az IoT Hubban, mindkét tanúsítvány ujjlenyomatát adja meg. Amikor az eszköz hitelesíti az IoT Hubot, egy tanúsítványt jelenít meg, az IoT Hub pedig ellenőrzi, hogy a tanúsítvány megfelel-e az ujjlenyomatának.
Ez a hitelesítési módszer biztonságosabb, és éles helyzetekben ajánlott.
Ez a cikk a szimmetrikus kulcsok hitelesítési módszerként való használatát ismerteti. Ha X.509-tanúsítványokat szeretne használni, olvassa el az IoT Edge-eszköz létrehozása és kiépítése Linuxon X.509-tanúsítványokkal című témakört.
Feljegyzés
Ha sok eszközt szeretne beállítani, és nem szeretné manuálisan kiépíteni az egyes eszközöket, az alábbi cikkek egyikével megtudhatja, hogyan működik az IoT Edge az IoT Hub eszközkiépítési szolgáltatással:
Előfeltételek
Ez a cikk bemutatja, hogyan regisztrálhatja IoT Edge-eszközét, és hogyan telepítheti az IoT Edge-et (más néven IoT Edge-futtatókörnyezetet) az eszközön. Az eszköz regisztrálása és telepítése előtt győződjön meg arról, hogy rendelkezik a választott eszközfelügyeleti eszközzel, például az Azure CLI-vel és az eszközkövetelményekkel.
Eszközfelügyeleti eszközök
Az eszköz regisztrálásának lépéseihez használhatja az Azure Portalt, a Visual Studio Code-ot vagy az Azure CLI-t . Minden segédprogramnak megvannak a saját előfeltételei, vagy szükség lehet a telepítésre:
Ingyenes vagy standard IoT Hub az Azure-előfizetésben.
Eszközkövetelmények
X64, ARM32 vagy ARM64 Linux rendszerű eszköz.
A Microsoft különböző operációs rendszerekhez teszi közzé a telepítési csomagokat.
Az éles környezetekben jelenleg támogatott operációs rendszerekről az Azure IoT Edge által támogatott rendszerekről olvashat.
Visual Studio Code-bővítmények
Ha Visual Studio Code-ot használ, vannak hasznos Azure IoT-bővítmények, amelyek megkönnyítik az eszköz létrehozásának és felügyeletének folyamatát.
Telepítse az Azure IoT Edge és az Azure IoT Hub bővítményeket is:
Azure IoT Edge. A Visual Studio Code-bővítményhez készült Azure IoT Edge-eszközök karbantartási módban használhatók.
Eszköz regisztrálása
Az Azure Portal, a Visual Studio Code vagy az Azure CLI használatával a beállításoktól függően regisztrálhatja az eszközt.
Az Azure Portal IoT Hubján az IoT Edge-eszközök létrehozása és kezelése külön történik az olyan IoT-eszközöktől, amelyek nincsenek engedélyezve a peremhálózaton.
Jelentkezzen be az Azure Portalra , és lépjen az IoT Hubra.
A bal oldali panelen válassza az Eszközök lehetőséget a menüben, majd válassza az Eszköz hozzáadása lehetőséget.
Az Eszköz létrehozása lapon adja meg a következő információkat:
- Hozzon létre egy leíró eszközazonosítót, például
my-edge-device-1
(az összes kisbetűs). Másolja ki ezt az eszközazonosítót, ahogy később használni fogja. - Jelölje be az IoT Edge-eszköz jelölőnégyzetet.
- Hitelesítési típusként válassza a szimmetrikus kulcsot .
- Az alapértelmezett beállításokkal automatikusan létrehozhat hitelesítési kulcsokat, amelyek az új eszközt a központhoz csatlakoztatják.
- Hozzon létre egy leíró eszközazonosítót, például
Válassza a Mentés lehetőséget.
Az új eszköznek szerepelnie kell az IoT Hubon.
Most, hogy regisztrált egy eszközt az IoT Hubban, a következő lépésben lekérheti az IoT Edge-futtatókörnyezet telepítésének és kiépítésének befejezéséhez használt kiépítési információkat.
Regisztrált eszközök megtekintése és kiépítési információk lekérése
A szimmetrikus kulcsos hitelesítést használó eszközöknek szükségük van a kapcsolati sztring az IoT Edge-futtatókörnyezet telepítésének és kiépítésének befejezéséhez. A kapcsolati sztring az eszköz létrehozásakor jön létre az IoT Edge-eszközhöz. A Visual Studio Code és az Azure CLI esetében a kapcsolati sztring a JSON-kimenetben található. Ha az Azure Portalon hozza létre az eszközt, az eszközről is megtalálhatja a kapcsolati sztring. Amikor kiválasztja az eszközt az IoT Hubon, az az eszközoldalon látható módon Primary connection string
lesz felsorolva.
Az IoT Hubhoz csatlakozó peremhálózati eszközök az IoT Hub Eszközök lapján találhatók. Ha több eszközzel rendelkezik, szűrheti a listát az Iot Edge-eszközök típusának kiválasztásával, majd az Alkalmaz gombra kattintva.
Ha készen áll az eszköz beállítására, szüksége lesz arra a kapcsolati sztring, amely összekapcsolja a fizikai eszközt az IoT Hub identitásával. A szimmetrikus kulcsokkal hitelesítendő eszközök kapcsolati sztring a portálon másolhatók. A kapcsolati sztring megkeresése a portálon:
- Az Eszközök lapon válassza ki az IoT Edge eszközazonosítóját a listából.
- Másolja ki az elsődleges kapcsolati sztring vagy a másodlagos kapcsolati sztring értékét. Bármelyik kulcs működik.
Az IoT Edge telepítése
Ebben a szakaszban előkészíti Linux rendszerű virtuális gépét vagy fizikai eszközét az IoT Edge-hez. Ezután telepítse az IoT Edge-et.
Futtassa az alábbi parancsokat a csomagtárház hozzáadásához, majd adja hozzá a Microsoft-csomagaláíró kulcsot a megbízható kulcsok listájához.
Fontos
2022. június 30-án a Raspberry Pi OS Stretch kilépett az 1. rétegbeli operációsrendszer-támogatási listából. A lehetséges biztonsági rések elkerülése érdekében frissítse a gazdagép operációs rendszerét a Bullseye-re.
A 2. réteg által támogatott platform operációs rendszerek esetében a telepítési csomagok az Azure IoT Edge-kiadásokban érhetők el. Tekintse meg az offline vagy adott verzió telepítésének lépéseit.
A telepítés néhány paranccsal elvégezhető. Nyisson meg egy terminált, és futtassa a következő parancsokat:
24.04:
wget https://packages.microsoft.com/config/ubuntu/24.04/packages-microsoft-prod.deb -O packages-microsoft-prod.deb sudo dpkg -i packages-microsoft-prod.deb rm packages-microsoft-prod.deb
22.04:
wget https://packages.microsoft.com/config/ubuntu/22.04/packages-microsoft-prod.deb -O packages-microsoft-prod.deb sudo dpkg -i packages-microsoft-prod.deb rm packages-microsoft-prod.deb
20.04:
wget https://packages.microsoft.com/config/ubuntu/20.04/packages-microsoft-prod.deb -O packages-microsoft-prod.deb sudo dpkg -i packages-microsoft-prod.deb rm packages-microsoft-prod.deb
Az operációsrendszer-verziókról további információt az Azure IoT Edge által támogatott platformokon talál.
Feljegyzés
Az Azure IoT Edge szoftvercsomagjaira az egyes csomagokban (usr/share/doc/{package-name}
vagy a LICENSE
címtárban) található licencfeltételek vonatkoznak. A csomag használata előtt olvassa el a licencfeltételeket. A csomagok telepítése és használata jelenti a jelen feltételek elfogadását. Ha nem ért egyet a licencfeltételekkel, ne használja ezt a csomagot.
Tárolómotor telepítése
Az Azure IoT Edge egy OCI-kompatibilis tároló-futtatókörnyezetre támaszkodik. Éles helyzetekben javasoljuk, hogy használja a Moby motort. A Moby motor az IoT Edge által hivatalosan támogatott tárolómotor. A Docker CE/EE tárolórendszerképei kompatibilisek a Moby futtatókörnyezetével. Ha Ubuntu Core beépülő modulokat használ, a Docker beépülő modult a Canonical szervizeli, és éles forgatókönyvek esetén támogatja.
Telepítse a Moby motort.
sudo apt-get update; \
sudo apt-get install moby-engine
Alapértelmezés szerint a tárolómotor nem állítja be a tárolónapló méretkorlátját. Ez idővel ahhoz vezethet, hogy az eszköz megtelik naplókkal, és elfogy a lemezterület. A naplót azonban úgy konfigurálhatja, hogy helyileg jelenjen meg, bár ez nem kötelező. A naplózási konfigurációval kapcsolatos további információkért tekintse meg az éles üzembehelyezési ellenőrzőlistát.
Az alábbi lépések bemutatják, hogyan konfigurálhatja a tárolót úgy, hogy naplózási illesztőprogramot használjon local
naplózási mechanizmusként.
A meglévő Docker-démon konfigurációs fájljának létrehozása vagy szerkesztése
sudo nano /etc/docker/daemon.json
Állítsa be az alapértelmezett naplózási illesztőprogramot a naplózási
local
illesztőre a példában látható módon.{ "log-driver": "local" }
Indítsa újra a tárolómotort a módosítások érvénybe lépéséhez.
sudo systemctl restart docker
Az IoT Edge-futtatókörnyezet telepítése
Az IoT Edge szolgáltatás biztonsági szabványokat biztosít és tart fenn az IoT Edge-eszközön. A szolgáltatás minden rendszerindításkor elindul, és az IoT Edge többi futtatókörnyezetének elindításával elindítja az eszközt.
Feljegyzés
Az IoT Identity Service az 1.2-es verziótól kezdve kezeli az IoT Edge és más eszközösszetevők identitáskiépítését és kezelését, amelyeknek kommunikálniuk kell az IoT Hubbal.
Az ebben a szakaszban ismertetett lépések a legújabb IoT Edge-verzió internetkapcsolattal rendelkező eszközre való telepítésének tipikus folyamatát jelölik. Ha telepítenie kell egy adott verziót, például egy előzetes verziót, vagy offline állapotban kell telepítenie, kövesse az Offline vagy adott verzió telepítési lépéseit a jelen cikk későbbi részében.
Tipp.
Ha már rendelkezik egy régebbi verziót futtató IoT Edge-eszközzel, és a legújabb kiadásra szeretne frissíteni, kövesse az IoT Edge biztonsági démon és futtatókörnyezet frissítésének lépéseit. A későbbi verziók eléggé eltérnek az IoT Edge korábbi verzióitól, és bizonyos lépések szükségesek a frissítéshez.
Telepítse az IoT Edge legújabb verzióját és az IoT Identity Service-csomagot (ha még nem naprakész):
22.04:
sudo apt-get update; \ sudo apt-get install aziot-edge
20.04:
sudo apt-get update; \ sudo apt-get install aziot-edge defender-iot-micro-agent-edge
Az opcionális defender-iot-micro-agent-edge
csomag tartalmazza a Microsoft Defender for IoT biztonsági mikroügynököt, amely végponti láthatóságot biztosít a biztonsági helyzetkezelés, a biztonsági rések, a fenyegetésészlelés, a flottakezelés és egyebek szempontjából az IoT Edge-eszközök biztonságossá tételéhez. Javasoljuk, hogy telepítse a mikroügynököt az Edge-ügynökkel, hogy engedélyezze az Edge-eszközök biztonsági monitorozását és megerősítését. Az IoT-hez készült Microsoft Defenderről további információt az eszközkészítőknek készült Microsoft Defender for IoT című témakörben talál.
Az eszköz kiépítése a felhőbeli identitással
Most, hogy a tárolómotor és az IoT Edge-futtatókörnyezet telepítve van az eszközön, készen áll az eszköz felhőbeli identitás- és hitelesítési adatainak beállítására.
Az IoT Edge-eszközt szimmetrikus kulcsos hitelesítéssel konfigurálhatja az alábbi paranccsal:
sudo iotedge config mp --connection-string 'PASTE_DEVICE_CONNECTION_STRING_HERE'
Ez a iotedge config mp
parancs létrehoz egy konfigurációs fájlt az eszközön, és beírja a kapcsolati sztring a konfigurációs fájlba.
Alkalmazza a konfiguráció módosításait.
sudo iotedge config apply
A konfigurációs fájl megtekintéséhez nyissa meg:
sudo nano /etc/aziot/config.toml
Modulok üzembe helyezése
Az IoT Edge-modulok üzembe helyezéséhez nyissa meg az IoT Hubot az Azure Portalon, majd:
Válassza az Eszközök lehetőséget az IoT Hub menüjében.
Válassza ki az eszközt a lap megnyitásához.
Válassza a Modulok beállítása lapot.
Mivel az IoT Edge alapértelmezett moduljait (edgeAgent és edgeHub) szeretnénk üzembe helyezni, nem kell modulokat hozzáadni ehhez a panelhez, ezért válassza a Véleményezés + létrehozás lehetőséget az alján.
Megjelenik a modulok JSON-megerősítése. Válassza a Létrehozás lehetőséget a modulok üzembe helyezéséhez.
További információ: Modul üzembe helyezése.
Sikeres konfiguráció ellenőrzése
Ellenőrizze, hogy a futtatókörnyezet telepítése és konfigurálása sikeresen megtörtént-e az IoT Edge-eszközön.
Tipp.
Az iotedge
parancsok futtatásához megemelt jogosultsági szint szükséges. Amikor az IoT Edge-futtatókörnyezet telepítése után kijelentkezik, majd először újra bejelentkezik a gépre, az engedélyei automatikusan frissülnek. Addig is használja sudo
a parancsok előtt.
Ellenőrizze, hogy az IoT Edge rendszerszolgáltatás fut-e.
sudo iotedge system status
A sikeres állapotválasz azt jelzi, hogy a
aziot
szolgáltatások futnak vagy készen állnak.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
Olyan választartományra számíthat, amely az OK (zöld), a Figyelmeztetés (sárga) vagy a Hiba (piros) gombra is kiterjedhet. A gyakori hibák elhárításához tekintse meg az Azure IoT Edge gyakori problémáinak megoldásait.
Tipp.
sudo
Az ellenőrzőeszközt mindig az engedélyek frissítése után is futtathatja. Az eszköznek emelt szintű jogosultságokra van szüksége a konfigurációs fájl eléréséhez a konfiguráció állapotának ellenőrzéséhez.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 még nem fut. Győződjön meg arról, hogy az IoT Edge-modulok üzembe lettek helyezve az előző lépésekben. Az üzembe helyezés megoldja ezt a hibát.
Másik lehetőségként egy állapotkódot
417 -- The device's deployment configuration is not set
is láthat. A modulok üzembe helyezése után ez az állapot megváltozik.A szolgáltatás első indításakor csak az edgeAgent modul fut. Az edgeAgent modul alapértelmezés szerint fut, és segít az eszközön üzembe helyezendő további modulok telepítésében és elindításában.
Ellenőrizze, hogy az eszköz és a modulok üzembe vannak-e helyezve és futnak-e, ha megtekinti az eszközoldalt az Azure Portalon.
A modulok üzembe helyezése és futtatása után listázhatja őket az eszközén vagy a virtuális gépen a következő paranccsal:
sudo iotedge list
Offline vagy adott verzió telepítése (nem kötelező)
Az ebben a szakaszban szereplő lépések olyan forgatókönyvekre vonatkoznak, amelyekre a szokásos telepítési lépések nem vonatkoznak. Ez a következők lehetnek:
- Az IoT Edge telepítése offline állapotban
- Kiadásra jelölt verzió telepítése
Ha az Azure IoT Edge-futtatókörnyezet egy adott verzióját szeretné telepíteni, amely nem érhető el a csomagkezelőn keresztül, kövesse az ebben a szakaszban leírt lépéseket. A Microsoft csomaglistája csak korlátozott számú legutóbbi verziót és azok alverzióit tartalmazza, ezért ezek a lépések mindenki számára elérhetők, akik régebbi verziót vagy kiadásra jelölt verziót szeretnének telepíteni.
Ha Ubuntu beépülő modulokat használ, letölthet egy beépülő modult, és offline módban telepítheti. További információ: Letöltési beépülő modulok és offline telepítés.
Curl-parancsokkal közvetlenül az IoT Edge GitHub-adattárból célozhatja meg az összetevőfájlokat.
Lépjen az Azure IoT Edge-kiadásokra, és keresse meg a megcélzni kívánt kiadási verziót.
Bontsa ki az adott verzióHoz tartozó Eszközök szakaszt.
Minden kiadásnak új fájlokkal kell rendelkeznie az IoT Edge-hez és az identitásszolgáltatáshoz. Ha offline eszközre telepíti az IoT Edge-et, töltse le ezeket a fájlokat előre. Ellenkező esetben az alábbi parancsokkal frissítheti ezeket az összetevőket.
Keresse meg az IoT Edge-eszköz architektúrájának megfelelő aziot-identity-service fájlt. Kattintson a jobb gombbal a fájlhivatkozásra, és másolja a hivatkozás címét.
Az identitásszolgáltatás ezen verziójának telepítéséhez használja a következő parancs másolt hivatkozását:
curl -L <identity service link> -o aziot-identity-service.deb && sudo apt-get install ./aziot-identity-service.deb
Keresse meg az IoT Edge-eszköz architektúrájának megfelelő aziot-edge fájlt. Kattintson a jobb gombbal a fájlhivatkozásra, és másolja a hivatkozás címét.
Az IoT Edge ezen verziójának telepítéséhez használja a következő parancs másolt hivatkozását.
curl -L <iotedge link> -o aziot-edge.deb && sudo apt-get install ./aziot-edge.deb
Az IoT Edge eltávolítása
Ha el szeretné távolítani az IoT Edge-telepítést az eszközről, használja az alábbi parancsokat.
Távolítsa el az IoT Edge-futtatókörnyezetet.
sudo apt-get autoremove --purge aziot-edge
Hagyja ki a --purge
jelzőt, ha újra szeretné telepíteni az IoT Edge-et, és a jövőben ugyanazokat a konfigurációs információkat fogja használni. A --purge
jelölő törli az IoT Edge-hez társított összes fájlt, beleértve a konfigurációs fájlokat is.
Az IoT Edge-futtatókörnyezet eltávolításakor a létrehozott tárolók leállnak, de továbbra is léteznek az eszközön. Az összes tároló megtekintéséhez tekintse meg, hogy mely tárolók maradjanak.
sudo docker ps -a
Törölje a tárolókat az eszközről, beleértve a két futtatókörnyezeti tárolót is.
sudo docker rm -f <container ID>
Végül távolítsa el a tároló futtatókörnyezetét az eszközről.
sudo apt-get autoremove --purge moby-engine
Következő lépések
Folytassa az IoT Edge-modulok üzembe helyezését, hogy megtudja, hogyan helyezhet üzembe modulokat az eszközén.