Share via


Az IoT Edge automatikus üzembe helyezésének ismertetése önálló eszközökhöz vagy nagy méretekben

A következőkre vonatkozik:IoT Edge 1.5 pipa IoT Edge 1.5 IoT Edge 1.4 pipa 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.

Az automatikus üzembe helyezés és a rétegzett üzembe helyezés nagy számú IoT Edge-eszközön segít a modulok kezelésében és konfigurálásában.

Az Azure IoT Edge kétféleképpen konfigurálja a modulokat az IoT Edge-eszközökön való futtatásra. Az első módszer a modulok eszközenkénti üzembe helyezése. Hozzon létre egy üzembehelyezési jegyzékfájlt, majd alkalmazza egy adott eszközre név szerint. A második módszer a modulok automatikus üzembe helyezése minden olyan regisztrált eszközön, amely megfelel a meghatározott feltételeknek. Létre kell hoznia egy üzembehelyezési jegyzéket, majd meg kell határoznia, hogy mely eszközökre vonatkozik az ikereszköz címkéi alapján.

Az eszközönkénti és az automatikus üzembe helyezés nem kombinálható. Miután megkezdte az IoT Edge-eszközök automatikus (rétegzett üzembe helyezéssel vagy anélkül) történő célba helyezését, az eszközönkénti üzemelő példányok már nem támogatottak.

Ez a cikk az eszközflotta konfigurálásával és monitorozásával foglalkozik, amelyet együttesen IoT Edge-alapú automatikus üzembe helyezésnek nevezünk.

Az alapvető üzembehelyezési lépések a következők:

  1. Az operátorok olyan üzembehelyezési jegyzékeket határoznak meg, amelyek modulokat és céleszközöket írnak le.
  2. Ennek eredményeképpen az IoT Hub szolgáltatás kommunikál az összes célzott eszközzel, hogy konfigurálja őket a deklarált modulokkal.
  3. Az IoT Hub szolgáltatás lekéri az állapotot az IoT Edge-eszközökről, és elérhetővé teszi őket az operátor számára. Az operátor például láthatja, hogy egy Edge-eszköz nincs-e sikeresen konfigurálva, vagy ha egy modul futásidőben meghiúsul.
  4. Amikor az újonnan megcélzott IoT Edge-eszközök online állapotba kerülnek, és csatlakoznak az IoT Hubhoz, konfigurálva vannak az üzembe helyezéshez.

Ez a cikk az üzembe helyezés konfigurálásában és monitorozásában részt vevő összes összetevőt ismerteti. Az üzembe helyezés létrehozásáról és frissítéséről az IoT Edge-modulok nagy léptékű üzembe helyezéséről és monitorozásáról olvashat.

Telepítés

Az IoT Edge automatikus üzembe helyezése IoT Edge-modulrendszerképeket rendel hozzá, hogy példányként fussanak egy célzott IoT Edge-eszközön. Az automatizált üzembe helyezés konfigurálja az IoT Edge üzembehelyezési jegyzékét, hogy tartalmazza a megfelelő inicializálási paraméterekkel rendelkező modulok listáját. Az üzembe helyezés egyetlen eszközhöz (az eszközazonosító alapján) vagy egy eszközcsoporthoz (címkék alapján) rendelhető hozzá. Miután egy IoT Edge-eszköz megkapja az üzembehelyezési jegyzékfájlt, letölti és telepíti a tárolólemezképeket a megfelelő tárolótárakból, és ennek megfelelően konfigurálja őket. Az üzembe helyezés létrehozása után az operátor figyelheti az üzembe helyezés állapotát, hogy ellenőrizze, hogy a célzott eszközök megfelelően vannak-e konfigurálva.

Csak IoT Edge-eszközök konfigurálhatók üzembe helyezéssel. Az alábbi előfeltételeknek az eszközön kell lenniük ahhoz, hogy megkapja az üzembe helyezést:

  • Az alap operációs rendszer
  • Tárolókezelő rendszer, például Moby vagy Docker
  • Az IoT Edge-futtatókörnyezet kiépítése

Üzembehelyezési jegyzék

Az üzembehelyezési jegyzék egy JSON-dokumentum, amely leírja a célzott IoT Edge-eszközökön konfigurálni kívánt modulokat. Tartalmazza az összes modul konfigurációs metaadatait, beleértve a szükséges rendszermodulokat (különösen az IoT Edge-ügynököt és az IoT Edge Hubot).

Az egyes modulok konfigurációs metaadatai a következők:

  • Verzió
  • Típus
  • Állapot (például Futtatás vagy Leállítva)
  • Újraindítási szabályzat
  • Rendszerkép és tárolóregisztrációs adatbázis
  • Az adatbemenet és a kimenet útvonalai

Ha a modul lemezképe privát tárolóregisztrációs adatbázisban van tárolva, az IoT Edge-ügynök tárolja a beállításjegyzék hitelesítő adatait.

Célfeltétel

A céleszköz állapota folyamatosan kiértékelve van az üzembe helyezés teljes élettartama alatt. A rendszer minden olyan új eszközt tartalmaz, amely megfelel a követelményeknek, és a követelményeknek már nem megfelelő meglévő eszközök törlődnek. A rendszer újraaktiválja az üzembe helyezést, ha a szolgáltatás észleli a célfeltételek módosítását.

Például rendelkezik egy célfeltétellel tags.environment = 'prod'rendelkező üzembe helyezéssel. Az üzembe helyezés indításakor 10 éles eszköz van. A modulok telepítése sikeresen megtörtént ebben a 10 eszközön. Az IoT Edge-ügynök állapota összesen 10 eszközt, 10 sikeres választ, 0 sikertelen választ és 0 függőben lévő választ jelenít meg. Most további öt eszközt vehet fel a következővel tags.environment = 'prod': . A szolgáltatás észleli a változást, és az IoT Edge-ügynök állapota mostantól összesen 15 eszközt, 10 sikeres választ, 0 sikertelen választ és 5 függőben lévő választ jelenít meg az öt új eszközön való üzembe helyezés során.

Ha az üzembe helyezés nem rendelkezik célfeltétellel, akkor a rendszer egyetlen eszközre sem alkalmazza.

A céleszközök kiválasztásához használjon bármilyen logikai feltételt az ikereszköz-címkéken, az ikereszköz jelentett tulajdonságain vagy a deviceId-en. Ha címkékkel rendelkező feltételt szeretne használni, hozzá kell adnia egy szakaszt "tags":{} az ikereszközhöz a tulajdonságokkal azonos szinten. Az ikereszközök címkéivel kapcsolatos további információkért lásd : IoT Hub-ikereszközök ismertetése és használata. A lekérdezési műveletekről további információt az IoT Hub lekérdezési nyelvi operátorai és IS_DEFINED függvénye tartalmaz.

Példák a célfeltételekre:

  • deviceId ='linuxprod1'
  • tags.environment ='prod'
  • tags.environment = 'prod' AND tags.location = 'westus'
  • tags.environment = 'prod' OR tags.location = 'westus'
  • tags.operator = 'John' AND tags.environment = 'prod' AND NOT deviceId = 'linuxprod1'
  • properties.reported.devicemodel = '4000x'
  • IS_DEFINED(tags.remote)
  • NOT IS_DEFINED(tags.location.building)
  • tags.environment != null
  • [nincs]

A célfeltételek létrehozásakor vegye figyelembe az alábbi korlátozásokat:

  • Az ikereszközben csak címkék, jelentett tulajdonságok vagy deviceId használatával hozhat létre célfeltételt.
  • A célfeltétel egyik részében sem engedélyezettek a dupla idézőjelek. Használjon egyetlen idézőjelet.
  • Az egyszeri idézőjelek a célfeltétel értékeit jelölik. Ezért az egyetlen idézőjelet egy másik idézőjellel kell feloldania, ha az az eszköz nevének része. Például egy úgynevezett operator'sDeviceeszköz megcélzásához írjon deviceId='operator''sDevice'.
  • A célfeltétel-értékekben számokat, betűket és a következő karaktereket lehet megadni: "()<>@,;:\\"/?={} \t\n\r.
  • A célfeltételkulcsokban nem engedélyezettek a következő karakterek:/;

Prioritás

A prioritás azt határozza meg, hogy az üzembe helyezést a céleszközre kell-e alkalmazni más üzemelő példányokhoz képest. Az üzembehelyezési prioritás egy pozitív egész szám a 0 és 2 147 483 647 közötti tartományban. Nagyobb számok magasabb prioritást jelölnek. Ha egy IoT Edge-eszközt egynél több üzembe helyezés céloz meg, a legmagasabb prioritású üzembe helyezés érvényes. Az alacsonyabb prioritású üzembe helyezéseket nem alkalmazza a rendszer, és nem egyesíti őket. Ha egy eszköz két vagy több azonos prioritású üzembe helyezéssel van megcélozva, a legutóbb létrehozott üzembe helyezés (amelyet a létrehozási időbélyeg határoz meg) érvényes.

Címkék

A címkék sztringkulcs-/értékpárok, amelyekkel szűrheti és csoportosíthatja az üzemelő példányokat. Egy üzembe helyezés több címkével is rendelkezhet. A címkék nem kötelezőek, és nem befolyásolják az IoT Edge-eszközök konfigurációját.

Mérőszámok

Alapértelmezés szerint az összes üzembe helyezés négy metrikát jelent:

  • A célzott az üzembe helyezés célzási feltételének megfelelő IoT Edge-eszközöket jeleníti meg.
  • Az alkalmazott azokat a célzott IoT Edge-eszközöket jeleníti meg, amelyeket nem egy másik, magasabb prioritású üzembe helyezés céloz meg.
  • A sikeres jelentéskészítés azokat az IoT Edge-eszközöket jeleníti meg, amelyek sikeresen üzembe helyezettként jelentik moduljaikat.
  • A jelentéskészítési hiba azt mutatja, hogy az IoT Edge-eszközök egy vagy több modult sikertelenül telepítettek. A hiba további kivizsgálásához csatlakozzon távolról ezekhez az eszközökhöz, és tekintse meg a naplófájlokat.

Emellett saját egyéni metrikákat is meghatározhat az üzembe helyezés figyeléséhez és kezeléséhez.

A metrikák azoknak a különböző állapotoknak az összefoglaló számát adják meg, amelyeket az eszközök egy üzembehelyezési konfiguráció alkalmazása miatt visszajelenthetnek. A metrikák lekérdezhetik az EdgeHub-modul ikerpéldányának jelentett tulajdonságait, például a lastDesiredStatus vagy a last Csatlakozás Time.

Példa:

SELECT deviceId FROM devices
  WHERE properties.reported.lastDesiredStatus.code = 200

A saját metrikák hozzáadása nem kötelező, és nem befolyásolja az IoT Edge-eszközök tényleges konfigurációját.

Rétegzett üzembe helyezés

A rétegzett üzemelő példányok automatikus üzemelő példányok, amelyek kombinálhatók a létrehozandó egyedi üzembe helyezések számának csökkentése érdekében. A rétegzett üzemelő példányok olyan helyzetekben hasznosak, amikor ugyanazokat a modulokat több automatikus üzembe helyezés különböző kombinációiban használják újra.

A rétegzett üzemelő példányok ugyanolyan alapvető összetevőkkel rendelkeznek, mint bármely automatikus üzembe helyezés. Az ikereszközök címkéi alapján célba kapják az eszközöket, és ugyanazokat a funkciókat biztosítják a címkék, metrikák és állapotjelentések terén. A rétegzett üzemelő példányok prioritásokat is hozzárendelnek hozzájuk. A prioritás helyett a prioritás határozza meg, hogy melyik központi telepítés legyen alkalmazva egy eszközre, a prioritás határozza meg, hogy több üzembe helyezés hogyan legyen rangsorolva az eszközön. Ha például két rétegzett üzemelő példány egy modullal vagy egy azonos nevű útvonallal rendelkezik, akkor a magasabb prioritású rétegzett üzembe helyezés lesz alkalmazva, míg az alacsonyabb prioritás felülíródik.

Az edgeAgent és edgeHub néven ismert rendszer-futtatókörnyezet-modulok nincsenek rétegzett üzembe helyezés részeként konfigurálva. Minden réteges üzembe helyezés által megcélzott IoT Edge-eszközhöz először szabványos automatikus üzembe helyezésre van szükség. Az automatikus üzembe helyezés biztosítja a rétegzett üzemelő példányok hozzáadásának alapjait.

Az IoT Edge-eszközök egy és csak egy szabványos automatikus üzembe helyezést alkalmazhatnak, de több rétegzett automatikus üzembe helyezést is alkalmazhatnak. Az eszközt célzó rétegzett központi telepítéseknek magasabb prioritással kell rendelkezniük, mint az adott eszköz automatikus üzembe helyezése.

Vegyük például egy épületeket kezelő vállalat következő forgatókönyvét. A vállalat IoT Edge-modulokat fejlesztett ki biztonsági kamerák, mozgásérzékelők és liftek adatainak gyűjtésére. Azonban nem minden épület használhatja mindhárom modult. A standard automatikus üzembe helyezésekkel a vállalatnak egyedi üzembe helyezéseket kell létrehoznia az épületekhez szükséges modulkombinációkhoz.

Képernyőkép arról, hogy a szabványos automatikus üzembe helyezéseknek minden modulkombinációt el kell fogadniuk.

Ha azonban a vállalat rétegzett automatikus üzembe helyezésre vált, ugyanazokat a modulkombinációkat hozhatja létre az épületekhez, kevesebb üzembe helyezéssel. Minden modul saját réteges üzembe helyezéssel rendelkezik, és az eszközcímkék azonosítják, hogy mely modulok kerülnek az egyes épületekbe.

Képernyőkép, amely bemutatja, hogyan egyszerűsíthetők a rétegzett automatikus üzembe helyezések olyan helyzetekben, ahol ugyanazok a modulok különböző módokon vannak kombinálva.

Modul ikerkonfigurációja

Ha réteges üzemelő példányokkal dolgozik, szándékosan vagy más módon két olyan központi telepítéssel rendelkezhet, amelyek ugyanazt a modult célják meg egy eszközön. Ezekben az esetekben eldöntheti, hogy a magasabb prioritású üzembe helyezés felülírja-e a modul ikerpéldányát, vagy hozzáfűzi azt. Előfordulhat például, hogy olyan üzembe helyezéssel rendelkezik, amely ugyanazt a modult 100 különböző eszközre alkalmazza. Ezek közül 10 azonban biztonságos létesítményekben található, és további konfigurációra van szükség a proxykiszolgálókon keresztüli kommunikációhoz. Rétegzett üzembe helyezéssel olyan modul ikertulajdonságokat adhat hozzá, amelyek lehetővé teszik, hogy a 10 eszköz biztonságosan kommunikáljon anélkül, hogy felülírja a meglévő modul ikeradatait az alaptelepítésből.

Az üzembe helyezési jegyzékben hozzáfűzheti a modul ikermoduljának kívánt tulajdonságait. Standard üzembe helyezés esetén tulajdonságokat adna hozzá a modul ikermoduljának properties.desired szakaszához. Rétegzett üzembe helyezés esetén azonban deklarálhatja a kívánt tulajdonságok új részhalmazát.

Egy standard üzemelő példányban például hozzáadhatja a szimulált hőmérséklet-érzékelő modult a következő kívánt tulajdonságokkal, amelyek 5 másodperces időközökben küldik el az adatokat:

"SimulatedTemperatureSensor": {
  "properties.desired": {
    "SendData": true,
    "SendInterval": 5
  }
}

Egy olyan rétegzett üzembe helyezésben, amely ugyanazon eszközök egy részét vagy mindegyikét célozza, hozzáadhat egy tulajdonságot, amely 1000 üzenet küldésére utasítja a szimulált érzékelőt, majd leáll. Nem szeretné felülírni a meglévő tulajdonságokat, ezért hozzon létre egy új szakaszt a kívánt tulajdonságokon layeredPropertiesbelül, amely az új tulajdonságot tartalmazza:

"SimulatedTemperatureSensor": {
  "properties.desired.layeredProperties": {
    "StopAfterCount": 1000
  }
}

A két üzembe helyezést alkalmazó eszköz a szimulált hőmérséklet-érzékelő ikermoduljának alábbi tulajdonságait tükrözi:

"properties": {
  "desired": {
    "SendData": true,
    "SendInterval": 5,
    "layeredProperties": {
      "StopAfterCount": 1000
    }
  }
}

Ha a properties.desired modul ikerpéldányának mezőjét rétegzett üzembe helyezésben állítja be, properties.desired felülírja a modul kívánt tulajdonságait az alacsonyabb prioritású üzemelő példányokban.

Fázisos bevezetés

A fázisos bevezetés egy átfogó folyamat, amelynek során az operátor módosításokat helyez üzembe az IoT Edge-eszközök szélesítő készletében. A cél az, hogy fokozatosan módosítsunk, hogy csökkentsük a nagy léptékű törések kockázatát. Az automatikus üzembe helyezések segítenek az IoT Edge-eszközök flottájában történő fázisos bevezetések kezelésében.

A rendszer a következő fázisokban és lépésekben hajt végre fázisos bevezetést:

  1. Hozzon létre egy IoT Edge-eszközök tesztkörnyezetét az eszközök kiépítésével és egy ikereszköz-címke beállításával, például tag.environment='test'. A tesztkörnyezetnek tükröznie kell azt az éles környezetet, amelyet az üzembe helyezés végül megcélz.
  2. Hozzon létre egy üzembe helyezést, beleértve a kívánt modulokat és konfigurációkat. A célzási feltételnek meg kell céloznia a teszt IoT Edge eszközkörnyezetét.
  3. Ellenőrizze az új modulkonfigurációt a tesztkörnyezetben.
  4. Frissítse az üzembe helyezést úgy, hogy az tartalmazza az éles IoT Edge-eszközök egy részhalmazát úgy, hogy új címkét ad hozzá a célzási feltételhez. Győződjön meg arról is, hogy az üzembe helyezés prioritása magasabb, mint az eszközökre jelenleg célzott többi üzembe helyezés.
  5. Ellenőrizze, hogy az üzembe helyezés sikeres volt-e a célzott IoT Edge-eszközökön az üzembe helyezés állapotának megtekintésével.
  6. Frissítse az üzembe helyezést, hogy az összes fennmaradó éles IoT Edge-eszközt megcélozza.

Visszaállítás

Az üzembe helyezéseket vissza lehet állítani, ha hibaüzenetet vagy helytelen konfigurációt kap. Mivel az üzembe helyezés meghatározza egy IoT Edge-eszköz abszolút modulkonfigurációját, egy további üzembe helyezést is ugyanarra az eszközre kell célozni alacsonyabb prioritással, még akkor is, ha a cél az összes modul eltávolítása.

Az üzembe helyezés törlése nem távolítja el a modulokat a célzott eszközökről. Szükség van egy másik üzembe helyezésre, amely új konfigurációt határoz meg az eszközök számára, még akkor is, ha üres üzembe helyezésről van szó.

Az üzembe helyezés törlése azonban eltávolíthatja a modulokat a célzott eszközről, ha az réteges üzembe helyezés volt. A rétegzett üzembe helyezés frissíti az alapul szolgáló üzembe helyezést, és potenciálisan modulokat is hozzáad. A rétegzett üzemelő példány eltávolítása eltávolítja a mögöttes üzembe helyezés frissítését, ami potenciálisan eltávolítja a modulokat.

Egy eszköz például rendelkezik az A alaptelepítéssel és az O és az M réteges üzembe helyezéssel (így az A, O és M üzemelő példányok az eszközön lesznek üzembe helyezve). Ha az M réteges üzembe helyezést törli, a rendszer A és O elemet alkalmaz az eszközre, és az M üzembe helyezéshez egyedi modulokat eltávolítja.

Hajtsa végre a visszaállításokat a következő sorrendben:

  1. Győződjön meg arról, hogy a második üzembe helyezés is ugyanarra az eszközkészletre irányul. Ha a visszaállítás célja az összes modul eltávolítása, a második üzembe helyezés nem tartalmazhat modulokat.
  2. Módosítsa vagy távolítsa el a visszagörgetni kívánt üzembe helyezés célfeltétel-kifejezését, hogy az eszközök többé ne feleljenek meg a célfeltételnek.
  3. Ellenőrizze, hogy a visszaállítás sikeres volt-e az üzembe helyezés állapotának megtekintésével.
    • A visszagördített üzembe helyezésnek nem szabad többé megjelenítenie a visszaállított eszközök állapotát.
    • A második üzembe helyezésnek mostantól tartalmaznia kell a visszaállított eszközök üzembe helyezésének állapotát.

Következő lépések

  • Tekintse át az üzembe helyezés létrehozásának, frissítésének vagy törlésének lépéseit az Üzembe helyezés és az IoT Edge-modulok nagy méretekben történő monitorozása során.
  • További információ az IoT Edge egyéb fogalmairól, például az IoT Edge-futtatókörnyezetről és az IoT Edge-modulokról.