Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A következőkre vonatkozik:
IoT Edge 1.5
Fontos
Az IoT Edge 1.5 LTS a támogatott kiadás. 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 üzembehelyezési jegyzékben található createOptions paraméter lehetővé teszi a modultárolók futásidőben történő konfigurálását. Ez a paraméter kibővíti a modulok feletti vezérlést, és lehetővé teszi olyan feladatok elvégzését, mint a modul hozzáférésének korlátozása a gazdaeszköz erőforrásaihoz vagy a hálózatkezelés konfigurálása.
Az IoT Edge-modulok Docker-kompatibilis tárolóként futnak az IoT Edge-eszközön. A Docker számos lehetőséget kínál a tárolók létrehozására, és ezek a lehetőségek az IoT Edge-modulokra is érvényesek. További információ: Docker-tároló létrehozási beállításai.
Létrehozási beállítások formázása
Az IoT Edge üzembehelyezési jegyzék jSON-ként formázott létrehozási beállításokat fogad el. Vegyük például azokat a létrehozási beállításokat, amelyek minden edgeHub-modulhoz automatikusan bekerülnek:
"createOptions": {
"HostConfig": {
"PortBindings": {
"5671/tcp": [
{
"HostPort": "5671"
}
],
"8883/tcp": [
{
"HostPort": "8883"
}
],
"443/tcp": [
{
"HostPort": "443"
}
]
}
}
}
Ez az edgeHub-példa a HostConfig.PortBindings paraméterrel képezi le a tárolóban lévő közzétett portokat a gazdagépeszköz egy portjára.
Ha a Visual Studio vagy a Visual Studio Code Azure IoT Edge-bővítményét használja, a létrehozási beállításokat JSON formátumban írja be a deployment.template.json fájlba. Ezután, amikor a bővítményt az IoT Edge-megoldás létrehozásához vagy az üzembehelyezési jegyzék létrehozásához használja, a JSON-t az IoT Edge-futtatókörnyezet által várt formátumban sztringezi. Példa:
"createOptions": "{\"HostConfig\":{\"PortBindings\":{\"5671/tcp\":[{\"HostPort\":\"5671\"}],\"8883/tcp\":[{\"HostPort\":\"8883\"}],\"443/tcp\":[{\"HostPort\":\"443\"}]}}}"
Fontos
Az Azure IoT Edge Visual Studio Code bővítmény karbantartási módban van. Az iotedgedev eszköz az IoT Edge-modulok fejlesztéséhez ajánlott eszköz.
docker inspect A parancs használatával megírhatja a létrehozási beállításokat. A fejlesztési folyamat részeként futtassa a modult helyileg docker run <container name> használatával. Ha a modul a kívánt módon működik, futtassa docker inspect <container name>. Ez a parancs JSON formátumban adja ki a modul részleteit. Keresse meg a konfigurált paramétereket, és másolja ki a JSON-t. Példa:
Gyakori forgatókönyvek
A tároló-létrehozási lehetőségek különböző forgatókönyveket támogatnak. Az IoT Edge-megoldások készítéséhez az alábbiak a leggyakoribbak:
- Modulok hozzáférésének biztosítása a gazdagéptárolóhoz
- Gazdagépport leképezése modulportra
- Modulmemória és processzorhasználat korlátozása
- IoT Edge-modul GPU-optimalizálása
Gazdagépport leképezése modulportra
Ha a modulnak az IoT Edge-megoldáson kívüli szolgáltatással kell kommunikálnia, és ehhez nem használ üzenet-útválasztást, akkor le kell képeznie egy gazdagépportot egy modulportra.
Tipp.
Az ugyanazon az eszközön lévő modul–modul kommunikációhoz nincs szükség portleképezésre. Ha az A modulnak le kell kérdeznie egy, a B modulban üzemeltetett API-t, ezt portleképezés nélkül is megteheti. A B modulnak közzé kell tennie egy portot a dockerfile-ban. Például: EXPOSE 8080. Az A modul ezután lekérdezheti az API-t a B modul nevével. Például: http://ModuleB:8080/api.
Először győződjön meg arról, hogy a modulon belüli portok ki vannak téve a kapcsolatok figyeléséhez. Ezt a dockerfile-ban található EXPOSE utasítással teheti meg. Például: EXPOSE 8080. Ha nincs megadva, a közzétett utasítás alapértelmezés szerint TCP protokollra van beadva, vagy megadhat UDP-t.
Ezután a Docker-tároló HostConfig csoportjában található PortBindings beállítással rendelje le a modulban lévő közzétett portot a gazdagépeszköz egyik portjára. Ha például a modulban közzétette a 8080-at, és le szeretné képezni azt a gazdaeszköz 80-ai portjára, a template.json fájl létrehozási beállításai a következő példához hasonlóan néznek ki:
"createOptions": {
"HostConfig": {
"PortBindings": {
"8080/tcp": [
{
"HostPort": "80"
}
]
}
}
}
Amikor a konfigurációt szövegformátumra alakítják a telepítési jegyzékhez, így néz ki:
"createOptions": "{\"HostConfig\":{\"PortBindings\":{\"8080/tcp\":[{\"HostPort\":\"80\"}]}}}"
Modulmemória és processzorhasználat korlátozása
Deklarálja, hogy a modul mennyi gazdagéperőforrást használhat. Ez a vezérlő biztosítja, hogy egy modul ne használsson túl sok memóriát vagy processzort, ami megakadályozza, hogy más folyamatok fussanak az eszközön. Ezeket a beállításokat a Docker-tároló létrehozási beállításaival kezelheti a HostConfig csoportban, beleértve a következőket:
- Memória: Memóriakorlát bájtban. Például 268435456 bájt = 256 MB.
- MemorySwap: Teljes memóriakorlát (memória + felcserélés). Például 536870912 bájt = 512 MB.
- NanoCpus: CPU-kvóta 10–9 (1 milliárdos) processzoregységekben. Például: 250000000 nanocpus = 0,25 CPU.
A template.json formátumban ezek az értékek a következő példához hasonlóan néznek ki:
"createOptions": {
"HostConfig": {
"Memory": 268435456,
"MemorySwap": 536870912,
"NanoCpus": 250000000
}
}
A végleges üzembehelyezési jegyzék sztringezése után ezek az értékek a következő példához hasonlóan néznek ki:
"createOptions":"{\"HostConfig\":{\"Memory\":268435456,\"MemorySwap\":536870912,\"CpuPeriod\":25000}}"
IoT Edge-modul GPU-optimalizálása
Ha az IoT Edge-modult GPU-ra optimalizált virtuális gépen futtatja, engedélyezheti, hogy az IoT Edge-modul is csatlakozzon a GPU-hoz. Ha ezt egy meglévő modullal szeretné elvégezni, adjon hozzá néhány specifikációt a következőhöz createOptions:
{"HostConfig": {"DeviceRequests": [{"Count": -1,"Capabilities": [["gpu"]]}]}}
Erősítse meg ezeket a beállításokat a Docker-vizsgálat paranccsal az új beállítás JSON-nyomtatásban való megtekintéséhez.
sudo docker inspect <YOUR-MODULE-NAME>
Ha többet szeretne megtudni arról, hogy az eszköz és a virtuális gép hogyan csatlakozik GPU-hoz, olvassa el a GPU IoT Edge-moduljának konfigurálását, csatlakoztatását és ellenőrzését ismertető témakört.
Következő lépések
További példák a létrehozási lehetőségek működés közbeni használatára, lásd az alábbi IoT Edge-mintákat: