Megosztás a következőn keresztül:


IoT Edge-eszközök létrehozása és üzembe helyezése nagy méretekben Linuxon szimmetrikus kulccsal

A következőkre vonatkozik: igen ikon IoT Edge 1.1

Fontos

Az IoT Edge 1.1 támogatási dátuma 2022. december 13. volt. A termék, szolgáltatás, technológia vagy API támogatásáról a Microsoft-termékek életciklusa című leírásból tájékozódhat. Az IoT Edge legújabb verziójára való frissítésről további információt az IoT Edge frissítése című témakörben talál.

Ez a cikk részletes útmutatást nyújt egy vagy több Linux IoT Edge-eszköz szimmetrikus kulcsok használatával történő automatikus fejlesztéséhez. 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. Hozzon létre egyéni regisztrációt egyetlen eszközhöz vagy csoportregisztrációhoz egy eszközcsoporthoz.
  2. Telepítse az IoT Edge-futtatókörnyezetet, és csatlakozzon az IoT Hubhoz.

A szimmetrikus kulcsigazolás egy egyszerű módszer az eszköz hitelesítésére egy eszközkiépítési szolgáltatáspéldánysal. Ez az igazolási módszer "Hello world" élményt jelent azoknak a fejlesztőknek, akik még nem ismerik az eszközök kiépítését, vagy nem rendelkeznek szigorú biztonsági követelményekkel. A TPM- vagy X.509-tanúsítványokat használó eszközigazolás biztonságosabb, és szigorúbb biztonsági követelményekhez kell használni.

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

Egy fizikai vagy virtuális Linux-eszköz, amely az IoT Edge-eszköz.

Az egyes eszközök azonosításához egyedi regisztrációs azonosítót kell megadnia. Használhatja a MAC-címet, a sorozatszámot vagy az eszközről származó bármilyen egyedi információt. Használhat például egy MAC-cím és sorozatszám kombinációját, amely a következő sztringet alkotja a regisztrációs azonosítóhoz: sn-007-888-abc-mac-a1-b2-c3-d4-e5-f6. Az érvényes karakterek kisbetűs alfanumerikusak és kötőjelek (-).

DPS-regisztráció létrehozása

Hozzon létre egy regisztrációt egy vagy több eszköz DPS-ben történő kiépítéséhez.

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

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 Beállítások 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:

    1. A mechanizmushoz válassza a Szimmetrikus kulcsot.

    2. Adjon meg egy egyedi regisztrációs azonosítót az eszközhöz.

    3. Szükség esetén adjon meg egy IoT Hub-eszközazonosítót az eszközhöz. 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 a regisztrációs azonosítót használja.

    4. Az Igaz lehetőséget választva deklarálhatja, hogy a regisztráció egy IoT Edge-eszközre vonatkozik.

    5. Ha szeretné, adjon hozzá egy címkeértéket az ikereszköz kezdeti állapotához. Címkék használatával célcsoportokat célozhat meg a modul üzembe helyezéséhez. Példa:

      {
         "tags": {
            "environment": "test"
         },
         "properties": {
            "desired": {}
         }
      }
      
    6. Válassza a Mentés lehetőséget.

  4. Másolja ki az egyéni regisztráció elsődleges kulcsértékét az IoT Edge-futtatókörnyezet telepítésekor használandó értékre.

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

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:

  • 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
    
  • 18.04:

    wget https://packages.microsoft.com/config/ubuntu/18.04/multiarch/packages-microsoft-prod.deb -O packages-microsoft-prod.deb
    sudo dpkg -i packages-microsoft-prod.deb
    rm packages-microsoft-prod.deb
    

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/EE 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

A Moby motor sikeres telepítése után konfigurálja úgy, hogy naplózási illesztőprogramot használjon local naplózási mechanizmusként. A naplózási konfigurációval kapcsolatos további információkért tekintse meg az éles üzembehelyezési ellenőrzőlistát.

  • Hozza létre vagy nyissa meg a Docker démon konfigurációs fájlját a következő helyen /etc/docker/daemon.json: .

  • Állítsa be az alapértelmezett naplózási illesztőprogramot a local naplózási illesztőprogramra az alábbi 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
    

    Tipp.

    Ha hibaüzenetet kap a Moby tárolómotor telepítésekor, ellenőrizze a Linux kernelt a Moby kompatibilitása érdekében. Egyes beágyazott eszközgyártók egyéni Linux-kerneleket tartalmazó eszközlemezképeket szállítanak a tárolómotorok kompatibilitásához szükséges funkciók nélkül. Futtassa az alábbi parancsot, amely a Moby által biztosított ellenőrzőkonfigurációs szkriptet használja a kernelkonfiguráció ellenőrzéséhez:

    curl -ssl https://raw.githubusercontent.com/moby/moby/master/contrib/check-config.sh -o check-config.sh
    chmod +x check-config.sh
    ./check-config.sh
    

    A szkript kimenetében ellenőrizze, hogy az összes elem be Generally Necessary van-e kapcsolva, és Network Drivers engedélyezve van-e. Ha hiányoznak a funkciók, engedélyezze őket úgy, hogy újraépíti a kernelt a forrásból, és kiválasztja a kapcsolódó modulokat a megfelelő kernel .config fájlba való felvételéhez. Hasonlóképpen, ha kernelkonfigurációs generátort használ, például defconfig vagy menuconfig, keresse meg és engedélyezze a megfelelő funkciókat, és ennek megfelelően építse újra a kernelt. Az újonnan módosított kernel üzembe helyezése után futtassa újra a check-config szkriptet annak ellenőrzéséhez, hogy az összes szükséges funkció sikeresen engedélyezve lett-e.

Az IoT Edge-futtatókörnyezet telepítése

Az IoT Edge biztonsági démon biztonsági szabványokat biztosít és tart fenn az IoT Edge-eszközön. A démon minden rendszerindításkor elindul, és az IoT Edge többi futtatókörnyezetének elindításával elindítja az eszközt.

Az ebben a szakaszban ismertetett lépések a legújabb 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.

Telepítse az IoT Edge 1.1.* verzióját a libiothsm-std csomaggal együtt:

sudo apt-get update; \
  sudo apt-get install iotedge

Feljegyzés

Az IoT Edge 1.1-es verziója az IoT Edge hosszú távú támogatási ága. Ha régebbi verziót futtat, javasoljuk, hogy telepítse vagy frissítse a legújabb javításra, mivel a régebbi verziók már nem támogatottak.

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:

  1. Nyissa meg a konfigurációs fájlt az IoT Edge-eszközön.

    sudo nano /etc/iotedge/config.yaml
    
  2. Keresse meg a fájl kiépítési konfigurációs szakaszát. Bontsa ki a DPS szimmetrikus kulcskiépítési sorait, és győződjön meg arról, hogy a többi kiépítési sor megjegyzéssel van elfűzve.

    A provisioning: vonalnak nem szabad korábbi szóközzel rendelkeznie, a beágyazott elemeket pedig két szóközzel kell behúzni.

    # DPS TPM provisioning configuration
    provisioning:
      source: "dps"
      global_endpoint: "https://global.azure-devices-provisioning.net"
      scope_id: "PASTE_YOUR_SCOPE_ID_HERE"
      attestation:
        method: "symmetric_key"
        registration_id: "PASTE_YOUR_REGISTRATION_ID_HERE"
        symmetric_key: "PASTE_YOUR_PRIMARY_KEY_OR_DERIVED_KEY_HERE"
    
    # always_reprovision_on_startup: true
    # dynamic_reprovisioning: true
    
  3. Frissítse az scope_id, registration_idés a DPS és symmetric_key az eszköz adatait.

  4. Igény szerint az eszköz újraépítési viselkedésének konfigurálásához használja a always_reprovision_on_startup vonalakat vagy dynamic_reprovisioning a vonalakat. Ha egy eszköz újraépítésre van beállítva az indításkor, mindig először megpróbál kiépíteni a DPS-t, majd visszaáll a kiépítési biztonsági mentésre, ha ez nem sikerül. Ha egy eszköz dinamikus újraépítésre van beállítva, az IoT Edge (és az összes modul) újraindul és újraépül, ha újraépítési eseményt észlel, például ha az eszközt az egyik IoT Hubról a másikra helyezi át. Az IoT Edge pontosabban az SDK-tól érkező hibákat ellenőrzi vagy device_disabled ellenőrzi bad_credential az újraépítési esemény észleléséhez. Az esemény manuális aktiválásához tiltsa le az eszközt az IoT Hubban. További információ: IoT Hub-eszközök újraépítési fogalmai.

  5. Indítsa újra az IoT Edge-futtatókörnyezetet, hogy az átvegye az eszközön végrehajtott összes konfigurációs módosítást.

    sudo systemctl restart iotedge
    

Sikeres telepítés ellenőrzése

Ha a futtatókörnyezet sikeresen elindult, bemehet az IoT Hubba, és megkezdheti az IoT Edge-modulok üzembe helyezését az 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.

Az eszközön az alábbi parancsokkal ellenőrizheti, hogy az IoT Edge sikeresen telepítve van-e és elindult-e.

Ellenőrizze az IoT Edge-szolgáltatás állapotát.

systemctl status iotedge

Vizsgálja meg a szolgáltatásnaplókat.

journalctl -u iotedge --no-pager --no-full

Futó modulok listázása.

iotedge list

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.