IoT Edge-eszköz létrehozása és kiépítése Linuxon szimmetrikus kulcsokkal

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

Fontos

Az IoT Edge 1.4 a támogatott kiadás. 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:

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.

  1. Jelentkezzen be az Azure Portalra , és lépjen az IoT Hubra.

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

  3. 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.
  4. 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:

  1. Az Eszközök lapon válassza ki az IoT Edge eszközazonosítóját a listából.
  2. Másolja ki az elsődleges Csatlakozás ion sztring vagy a másodlagos Csatlakozás ion karakterlánc értékét. Bármelyik kulcs működni fog.

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 telepítés néhány paranccsal elvégezhető. Nyisson meg egy terminált, és futtassa a következő parancsokat:

  • 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 egyetlen olyan tárolómotor, amelyet hivatalosan támogat az IoT Edge. A Docker CE/Enterprise kiadás tárolórendszerképei kompatibilisek a Moby futtatókörnyezetével.

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.

  1. A meglévő Docker-démon konfigurációs fájljának létrehozása vagy szerkesztése

    sudo nano /etc/docker/daemon.json
    
  2. Á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"
       }
    
  3. 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.

  1. Alkalmazza a konfiguráció módosításait.

    sudo iotedge config apply
    
  2. 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:

  1. Válassza az Eszközök lehetőséget az IoT Hub menüjében.

  2. Válassza ki az eszközt a lap megnyitásához.

  3. Válassza a Modulok beállítása lapot.

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

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

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

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

    sudo iotedge system logs
    
  3. 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.

    Screenshot of sample responses from the check command.

    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 setis láthat. A modulok üzembe helyezése után ez az állapot megváltozik.

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

    Screenshot of IoT Edge modules deployed and running confirmation in the Azure portal.

    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.

Feljegyzés

Ha az eszköz jelenleg az IoT Edge 1.1-es vagy régebbi verzióját futtatja, távolítsa el az iotedge és libiothsm-std csomagokat, mielőtt követené az ebben a szakaszban leírt lépéseket. További információ: Frissítés 1.0-ról vagy 1.1-ről legújabb kiadásra.

  1. Lépjen az Azure IoT Edge-kiadásokra, és keresse meg a megcélzni kívánt kiadási verziót.

  2. Bontsa ki az adott verzióHoz tartozó Eszközök szakaszt.

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

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

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

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

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