Vytvoření a zřízení IoT Edge ve velkém měřítku v Linuxu pomocí symetrického klíče
Platí pro:
IoT Edge 1,1 jiných verzí: IoT Edge 1,2
Platí pro:
IoT Edge 1,2 jiných verzí: IoT Edge 1,1
Tento článek obsahuje podrobné pokyny pro automatické zřizování jednoho nebo více linuxových zařízení IoT Edge pomocí symetrických klíčů. Zařízení můžete automaticky Azure IoT Edge službou DPS (Azure IoT Hub Device Provisioning Service). Pokud proces automatického zřizování ještě nevíte, než budete pokračovat, prohlédněte si přehled zřizování.
Úlohy jsou následující:
- Vytvořte buď jednotlivou registraci pro jedno zařízení, nebo skupinovou registraci pro sadu zařízení.
- Nainstalujte modul runtime IoT Edge a připojte se k IoT Hub.
Tip
Pokud chcete zjednodušit prostředí, vyzkoušejte nástroj Azure IoT Edge konfigurace. Tento nástroj příkazového řádku, který je aktuálně ve verzi Public Preview, IoT Edge na zařízení a zinstaluje ho pomocí DPS a ověření symetrického klíče.
Ověření symetrického klíče je jednoduchý přístup k ověřování zařízení pomocí instance služby zřizování zařízení. Tato metoda ověření stavu představuje prostředí "Hello World" pro vývojáře, kteří se zřizováním zařízení nemioceují nebo nemají přísné požadavky na zabezpečení. Ověření zařízení pomocí certifikátů TPM nebo X.509 je bezpečnější a mělo by se používat pro přísnější požadavky na zabezpečení.
Požadavky
Cloudové prostředky
- Aktivní centrum IoT Hub
- Instance služby IoT Hub Device Provisioning v Azure, která je propojená se službou IoT Hub
- Pokud nemáte instanci služby Device Provisioning Service, můžete postupovat podle pokynů v části Vytvoření nové služby IoT Hub Device Provisioning a propojení služby IoT Hub a služeb Device Provisioning v tématu rychlý Start služby IoT Hub Device Provisioning.
- Po spuštění služby Device Provisioning zkopírujte na stránce Přehled hodnotu Rozsah ID . Tuto hodnotu použijete při konfiguraci modulu runtime IoT Edge.
Požadavky na zařízení
Fyzické nebo virtuální zařízení s Linuxem, které bude IoT Edge zařízení.
K identifikaci každého zařízení budete muset definovat jedinečné ID registrace. Můžete použít adresu MAC, sériové číslo nebo jakékoli jedinečné informace ze zařízení. Můžete například použít kombinaci adresy MAC a sériového čísla, které tvoří následující řetězec pro ID registrace: sn-007-888-abc-mac-a1-b2-c3-d4-e5-f6 . Platné znaky jsou malá písmena alfanumerická a pomlčka ( - ).
Vytvoření registrace DPS
Vytvoření registrace pro zřízení jednoho nebo více zařízení prostřednictvím DPS
Pokud chcete zřídit jedno zařízení IoT Edge, vytvořte jednotlivou registraci. Pokud potřebujete zřídit více zařízení, postupujte podle pokynů k vytvoření registrace skupiny DPS.
Při vytváření registrace v DPS máte možnost deklarovat počáteční stav dvojčete zařízení. Ve dvojčete zařízení můžete nastavit značky, které seskupí zařízení podle metrik, které potřebujete ve svém řešení, jako je oblast, prostředí, umístění nebo typ zařízení. Tyto značky se používají k vytvoření automatického nasazení.
Další informace o registracích ve službě zřizování zařízení najdete v tématu Správa registrací zařízení.
Vytvoření jednotlivé registrace DPS
Tip
Kroky v tomto článku jsou pro Azure Portal, ale můžete také vytvořit jednotlivé registrace pomocí Azure CLI. Další informace najdete v tématu az iot dps enrollment. Jako součást příkazu rozhraní příkazového řádku pomocí příznaku povoleného hraničního zařízení určete, že se registrace týká IoT Edge zařízení.
V Azure Portalpřejděte ke své instanci IoT Hub device provisioning.
V Nastavení vyberte Spravovat registrace.
Vyberte Přidat jednotlivou registraci a pak proveďte následující kroky a nakonfigurujte registraci:
Jako Mechanismus vyberte Symetrický klíč.
Zadejte jedinečné ID registrace pro vaše zařízení.
Volitelně můžete zadat IoT Hub ID zařízení. K cílení na jednotlivá zařízení pro nasazení modulu můžete použít ID zařízení. Pokud nezadáte ID zařízení, použije se ID registrace.
Vyberte True a deklarujte, že se registrace týká IoT Edge zařízení.
Volitelně můžete přidat hodnotu značky do pole Initial Device Twin State (Počáteční stav dvojčete zařízení). Značky můžete použít k cílení na skupiny zařízení pro nasazení modulu. Například:
{ "tags": { "environment": "test" }, "properties": { "desired": {} } }Vyberte Uložit.
Zkopírujte hodnotu primárního klíče jednotlivé registrace, která se použije při instalaci IoT Edge runtime.
Když teď pro toto zařízení existuje registrace, může IoT Edge runtime zařízení automaticky zřídit během instalace.
Nainstalovat IoT Edge
V této části připravíte virtuální počítač se systémem Linux nebo fyzické zařízení pro IoT Edge. Potom nainstalujete IoT Edge.
Než budete připraveni nainstalovat modul runtime IoT Edge, musíte na svém zařízení provést dva kroky. Vaše zařízení potřebuje přístup k instalačním balíčkům společnosti Microsoft a musí mít nainstalovaný kontejnerový modul.
Přístup k instalačním balíčkům Microsoftu
Stáhněte si konfigurační balíček úložiště, který odpovídá operačnímu systému vašeho zařízení.
Ubuntu Server 18,04:
curl https://packages.microsoft.com/config/ubuntu/18.04/multiarch/packages-microsoft-prod.deb > ./packages-microsoft-prod.debMalina Pi OS Stretch:
curl https://packages.microsoft.com/config/debian/stretch/multiarch/packages-microsoft-prod.deb > ./packages-microsoft-prod.deb
Nainstalujte konfigurační balíček pro přidání úložiště balíčků Microsoftu a veřejného klíče GPG.
sudo apt install ./packages-microsoft-prod.deb
Poznámka
Azure IoT Edge softwarové balíčky podléhají licenčním podmínkám, které jsou umístěny v každém balíčku ( usr/share/doc/{package-name} nebo LICENSE adresáři). Přečtěte si licenčních podmínek před použitím balíčku. Vaše instalace a používání balíčku znamená přijetí těchto podmínek. Pokud s licenčními podmínkami nesouhlasíte, nepoužívejte tento balíček.
Instalace modulu kontejneru
Azure IoT Edge spoléhá na modul runtime kontejneru kompatibilní s rozhraním OCI. V produkčních scénářích doporučujeme použít modul Moby. Modul Moby je jediným kontejnerovým modulem, který je oficiálně podporován s IoT Edge. image kontejneru docker CE/EE jsou kompatibilní s modulem runtime Moby.
Aktualizuje seznamy balíčků na vašem zařízení.
sudo apt-get updateNainstalujte modul Moby.
sudo apt-get install moby-engineTip
Pokud při instalaci modulu kontejneru Moby dojde k chybám, ověřte, že se v jádru Linux nachází kompatibilita Moby. Někteří výrobci integrovaných zařízení dodávají obrázky zařízení, které obsahují vlastní jádra systému Linux bez funkcí vyžadovaných pro kompatibilitu modulu kontejneru. Spusťte následující příkaz, který pomocí skriptu check-config , který poskytuje Moby, zkontroluje konfiguraci jádra:
curl -ssl https://raw.githubusercontent.com/moby/moby/master/contrib/check-config.sh -o check-config.sh chmod +x check-config.sh ./check-config.shVe výstupu skriptu ověřte, zda jsou všechny položky pod
Generally NecessaryaNetwork Driverspovoleny. Pokud funkce postrádáte, povolte je opětovným sestavením jádra ze zdroje a výběrem přidružených modulů pro zahrnutí do příslušných .config jádra. Podobně platí, že pokud používáte generátor konfigurace jádra, jakodefconfigmenuconfigje nebo, najděte a povolte příslušné funkce a odpovídajícím způsobem Sestavte jádro. Po nasazení nově upraveného jádra spusťte skript check-config znovu, abyste ověřili, že všechny požadované funkce byly úspěšně povoleny.
Instalace modulu runtime IoT Edge
Démon zabezpečení IoT Edge poskytuje a udržuje standardy zabezpečení na zařízení IoT Edge. Démon procesu se spustí při každém spuštění a spustí zařízení spuštěním zbytku modulu runtime IoT Edge.
Postup v této části představuje typický proces instalace nejnovější verze do zařízení, které má připojení k Internetu. Pokud potřebujete nainstalovat určitou verzi, třeba předběžnou verzi, nebo potřebujete instalaci v režimu offline, postupujte podle pokynů k instalaci offline nebo specifické verze dále v tomto článku.
Aktualizuje seznamy balíčků na vašem zařízení.
sudo apt-get update
Nainstalujte IoT Edge verze 1,1. * společně s balíčkem libiothsm-STD :
sudo apt-get install iotedge
Poznámka
IoT Edge verze 1,1 je dlouhodobá podpůrná větev IoT Edge. Pokud používáte starší verzi, doporučujeme nainstalovat nebo aktualizovat nejnovější opravu, protože starší verze už nejsou podporované.
Služba IoT Edge poskytuje a udržuje standardy zabezpečení na zařízení IoT Edge. Služba se spustí při každém spuštění a spustí zařízení spuštěním zbytku modulu runtime IoT Edge.
Služba identity IoT byla představena společně s verzí 1,2 IoT Edge. Tato služba zpracovává zřizování a správu identit pro IoT Edge a další součásti zařízení, které potřebují komunikovat s IoT Hub.
Postup v této části představuje typický proces instalace nejnovější verze do zařízení, které má připojení k Internetu. Pokud potřebujete nainstalovat určitou verzi, třeba předběžnou verzi, nebo potřebujete instalaci v režimu offline, postupujte podle pokynů k instalaci offline nebo specifické verze dále v tomto článku.
Poznámka
Postup v této části ukazuje, jak nainstalovat IoT Edge verze 1,2.
Pokud už máte IoT Edge zařízení se starší verzí a chcete upgradovat na 1,2, použijte postup v části aktualizace IoT Edge démona zabezpečení a modulu runtime. Verze 1,2 je dostatečně odlišná od předchozích verzí IoT Edge, že konkrétní kroky jsou nezbytné k upgradu.
Aktualizuje seznamy balíčků na vašem zařízení.
sudo apt-get update
Zkontrolujte, které verze IoT Edge a služba IoT identity jsou k dispozici.
apt list -a aziot-edge aziot-identity-service
Chcete-li nainstalovat nejnovější verzi IoT Edge a balíček služby IoT identity, použijte následující příkaz:
sudo apt-get install aziot-edge
Zřízení cloudové identity zařízení
Po instalaci modulu runtime do zařízení nakonfigurujte v zařízení informace, které používá pro připojení ke službě zřizování zařízení a IoT Hub.
Připravte si následující informace:
- Hodnota Rozsah ID služby DPS
- ID registrace zařízení, které jste vytvořili
- Primární klíč z individuální registrace nebo odvozený klíč pro zařízení, která používají skupinovou registraci.
Otevřete konfigurační soubor na IoT Edge zařízení.
sudo nano /etc/iotedge/config.yamlVyhledejte v souboru oddíl konfigurace zřizování. Odkomentování řádků pro zřizování symetrického klíče DPS a ujistěte se, že jsou zakomentované všechny ostatní řádky zřizování.
Řádek by neměl mít žádné mezery a vnořené položky by
provisioning:měly být odsazeny o dvě mezery.# 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: falseAktualizujte hodnoty
scope_idregistration_id, a informacemi osymmetric_keyvaší dps a zařízení.Volitelně můžete ke konfiguraci chování zařízení při zřizování použít řádky
always_reprovision_on_startupdynamic_reprovisioningnebo . Pokud je u zařízení nastavené opětovné zřízení při spuštění, vždy se nejprve pokusí zřídit DPS a v případě selhání se vrátí zpět ke zřizovací záloze. Pokud je zařízení nastavené na dynamické opětovné zřízení, IoT Edge se restartuje a znovu zřizuje, pokud se detekuje událost opětovného zřízení. Další informace najdete v tématu IoT Hub konceptů opětovného zřizování zařízení.Restartujte IoT Edge runtime, aby se na zařízení provedly všechny změny konfigurace.
sudo systemctl restart iotedge
Vytvořte pro zařízení konfigurační soubor založený na souboru šablony, který je součástí instalace IoT Edge počítače.
sudo cp /etc/aziot/config.toml.edge.template /etc/aziot/config.tomlOtevřete konfigurační soubor na IoT Edge zařízení.
sudo nano /etc/aziot/config.tomlV souboru vyhledejte část Zřizování. Odkomentování řádků pro zřizování DPS pomocí symetrického klíče a ujistěte se, že jsou zakomentované všechny ostatní řádky zřizování.
# DPS provisioning with symmetric key [provisioning] source = "dps" global_endpoint = "https://global.azure-devices-provisioning.net" id_scope = "PASTE_YOUR_SCOPE_ID_HERE" [provisioning.attestation] method = "symmetric_key" registration_id = "PASTE_YOUR_REGISTRATION_ID_HERE" symmetric_key = "PASTE_YOUR_PRIMARY_KEY_OR_DERIVED_KEY_HERE"Aktualizujte hodnoty
id_scoperegistration_id, a informacemi osymmetric_keyvaší dps a zařízení.Parametr symetrického klíče může přijmout hodnotu v řádku, identifikátor URI souboru nebo identifikátor URI PKCS#11. Na základě formátu, který používáte, odkomentování pouze jedné symetrické čáry klíče.
Pokud používáte jakékoli identifikátory URI PKCS#11, vyhledejte v konfiguračním souboru část PKCS#11 a zadejte informace o konfiguraci PKCS#11.
Uložte a zavřete soubor config.toml.
Změny konfigurace, které jste provedli, použijte pro IoT Edge.
sudo iotedge config apply
Ověření úspěšné instalace
Pokud se modul runtime úspěšně spustí, můžete přejít do IoT Hub a začít nasazovat IoT Edge moduly do zařízení.
Můžete ověřit, že se použila jednotlivá registrace, kterou jste vytvořili ve službě zřizování zařízení. Přejděte na instanci služby zřizování zařízení v Azure Portal. Otevřete podrobnosti registrace pro jednotlivou registraci, kterou jste vytvořili. Všimněte si, že stav registrace je přiřazený a že je uvedené ID zařízení.
Pomocí následujících příkazů v zařízení ověřte, že je IoT Edge a úspěšně spuštěný.
Zkontrolujte stav služby IoT Edge.
systemctl status iotedge
Zkontrolujte protokoly služby.
journalctl -u iotedge --no-pager --no-full
Seznam spuštěných modulů
iotedge list
Zkontrolujte stav služby IoT Edge.
sudo iotedge system status
Zkontrolujte protokoly služby.
sudo iotedge system logs
Seznam spuštěných modulů
sudo iotedge list
Další kroky
Proces registrace služby zřizování zařízení umožňuje nastavit ID zařízení a značky dvojčat zařízení současně se zřízením nového zařízení. Tyto hodnoty můžete použít k cílení na jednotlivá zařízení nebo skupiny zařízení pomocí automatické správy zařízení. Zjistěte, jak nasadit a monitorovat IoT Edge ve velkém měřítku pomocí Azure Portal nebo Azure CLI.