Vytvoření a zřízení IoT Edge pro Linux na zařízeních s Windows ve velkém měřítku pomocí symetrických klíčů
Platí pro: IoT Edge 1.4
Důležité
Podporované verze azure IoT Edge 1.5 LTS a IoT Edge 1.4. IoT Edge 1.4 LTS končí 12. listopadu 2024. Pokud používáte starší verzi, podívejte se na článek Aktualizace IoT Edge.
Tento článek ukazuje, jak automaticky vytvořit jeden nebo více IoT Edge pro Linux na zařízeních s Windows pomocí symetrických klíčů. Zařízení Azure IoT Edge můžete automaticky zřídit pomocí služby Azure IoT Hub device provisioning (DPS). Pokud neznáte proces automatického zřizování, než budete pokračovat, projděte si přehled zřizování.
Úkoly jsou následující:
- Vytvořte individuální registraci pro jedno zařízení nebo skupinovou registraci pro sadu zařízení.
- Nasaďte virtuální počítač s Linuxem s nainstalovaným modulem runtime IoT Edge a připojte ho ke službě IoT Hub.
Ověření symetrického klíče je jednoduchý přístup k ověřování zařízení pomocí instance služby device provisioning. Tato metoda ověření identity představuje prostředí Hello World pro vývojáře, kteří s zřizováním zařízení začíná nebo nemají přísné požadavky na zabezpečení. Ověření identity zařízení pomocí certifikátů TPM nebo X.509 je bezpečnější a mělo by se použít pro přísnější požadavky na zabezpečení.
Požadavky
Cloudové prostředky
- Aktivní centrum IoT
- Instance služby IoT Hub device Provisioning v Azure propojená s centrem IoT
- Pokud nemáte instanci služby zřizování zařízení, můžete postupovat podle pokynů v rychlém startu vytvoření nové služby zřizování zařízení ioT Hubu a propojení centra IoT a oddílů služby zřizování zařízení ve službě IoT Hub.
- Po spuštění služby device provisioning zkopírujte hodnotu Oboru ID ze stránky přehledu. Tuto hodnotu použijete při konfiguraci modulu runtime IoT Edge.
Požadavky na zařízení
Zařízení s Windows s následujícími minimálními požadavky:
Požadavky na systém
- Windows 101/11 (Pro, Enterprise, IoT Enterprise)
- Windows Server 20191/2022
1 Windows 10 a Windows Server 2019 minimálně build 17763 s nainstalovanými všemi aktuálními kumulativními aktualizacemi.
Požadavky na hardware
- Minimální volné paměti: 1 GB
- Minimální volné místo na disku: 10 GB
Podpora virtualizace
- Ve Windows 10 povolte Hyper-V. Další informace najdete v tématu Instalace Technologie Hyper-V ve Windows 10.
- Na Windows Serveru nainstalujte roli Hyper-V a vytvořte výchozí síťový přepínač. Další informace najdete v tématu Vnořené virtualizace pro Azure IoT Edge pro Linux ve Windows.
- Na virtuálním počítači nakonfigurujte vnořenou virtualizaci. Další informace najdete vnořenou virtualizaci.
Podpora sítí
- Windows Server nemá výchozí přepínač. Než budete moct nasadit EFLOW na zařízení s Windows Serverem, musíte vytvořit virtuální přepínač. Další informace najdete v tématu Vytvoření virtuálního přepínače pro Linux ve Windows.
- Desktopové verze Windows mají výchozí přepínač, který lze použít pro instalaci EFLOW. V případě potřeby můžete vytvořit vlastní virtuální přepínač.
Tip
Pokud chcete v nasazení Azure IoT Edge pro Linux ve Windows používat moduly s akcelerovanými gpu, zvažte několik možností konfigurace.
V závislosti na architektuře GPU budete muset nainstalovat správné ovladače a možná budete potřebovat přístup k sestavení programu Windows Insider. Pokud chcete určit potřeby konfigurace a splnit tyto požadavky, podívejte se na akceleraci GPU pro Azure IoT Edge pro Linux ve Windows.
Ujistěte se, že teď potřebujete čas, abyste splnili požadavky na akceleraci GPU. Pokud se rozhodnete, že chcete akceleraci GPU během instalace, budete muset restartovat proces instalace.
Nástroje pro vývojáře
Připravte cílové zařízení na instalaci Azure IoT Edge pro Linux ve Windows a nasazení virtuálního počítače s Linuxem:
Nastavte zásadu spouštění na cílovém zařízení na
AllSigned
hodnotu . Aktuální zásady spouštění můžete zkontrolovat na příkazovém řádku PowerShellu se zvýšenými oprávněními pomocí následujícího příkazu:Get-ExecutionPolicy -List
Pokud zásady provádění
local machine
nejsouAllSigned
, můžete nastavit zásady spuštění pomocí:Set-ExecutionPolicy -ExecutionPolicy AllSigned -Force
Další informace o modulu Azure IoT Edge pro Linux v prostředí Windows PowerShell najdete v referenčních informacích k funkcím PowerShellu.
Vytvoření registrace DPS
Vytvořte registraci pro zřízení jednoho nebo více zařízení prostřednictvím DPS.
Pokud chcete zřídit jedno zařízení IoT Edge, vytvořte individuální registraci. Pokud potřebujete zřídit více zařízení, postupujte podle pokynů k vytvoření skupinové registrace DPS.
Při vytváření registrace v DPS máte možnost deklarovat počáteční stav dvojčete zařízení. Ve dvojčeti zařízení můžete nastavit značky pro seskupení zařízení podle libovolné metriky, kterou potřebujete v řešení, jako je oblast, prostředí, umístění nebo typ zařízení. Tyto značky slouží k vytváření automatických 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 určené pro Azure Portal, ale pomocí Azure CLI můžete také vytvářet jednotlivé registrace. Další informace najdete v tématu az iot dps enrollment. Jako součást příkazu rozhraní příkazového řádku použijte příznak s povoleným hraničním zařízením a určete, že registrace je pro zařízení IoT Edge.
Na webu Azure Portal přejděte do vaší instance služby IoT Hub device provisioning.
V části Nastavení vyberte Spravovat registrace.
Vyberte Přidat jednotlivé registrace a pak proveďte následující kroky a nakonfigurujte registraci:
V případě mechanismu vyberte symetrický klíč.
Zadejte jedinečné ID registrace pro vaše zařízení.
Volitelně můžete zadat ID zařízení ioT Hubu pro vaše zařízení. ID zařízení můžete použít k cílení na jednotlivá zařízení pro nasazení modulu. Pokud nezadáte ID zařízení, použije se ID registrace.
Výběrem možnosti True deklarujte, že registrace je pro zařízení IoT Edge.
Volitelně můžete do stavu počátečního dvojčete zařízení přidat hodnotu značky. Značky můžete použít k cílovým skupinám zařízení pro nasazení modulu. Příklad:
{ "tags": { "environment": "test" }, "properties": { "desired": {} } }
Zvolte Uložit.
Zkopírujte hodnotu primárního klíče jednotlivé registrace, kterou chcete použít při instalaci modulu runtime IoT Edge.
Teď, když pro toto zařízení existuje registrace, může modul runtime IoT Edge během instalace zařízení automaticky zřídit.
Instalace IoT Edge
Nasaďte Azure IoT Edge pro Linux ve Windows na cílovém zařízení.
Poznámka:
Následující proces PowerShellu popisuje, jak nasadit IoT Edge pro Linux ve Windows na místní zařízení. Pokud chcete nasadit do vzdáleného cílového zařízení pomocí PowerShellu, můžete pomocí Vzdáleného PowerShellu navázat připojení ke vzdálenému zařízení a vzdáleně na daném zařízení spouštět tyto příkazy.
V relaci PowerShellu se zvýšenými oprávněními spusťte některý z následujících příkazů v závislosti na architektuře cílového zařízení a stáhněte si IoT Edge pro Linux ve Windows.
X64/AMD64
$msiPath = $([io.Path]::Combine($env:TEMP, 'AzureIoTEdge.msi')) $ProgressPreference = 'SilentlyContinue' Invoke-WebRequest "https://aka.ms/AzEFLOWMSI_1_4_LTS_X64" -OutFile $msiPath
ARM64
$msiPath = $([io.Path]::Combine($env:TEMP, 'AzureIoTEdge.msi')) $ProgressPreference = 'SilentlyContinue' Invoke-WebRequest "https://aka.ms/AzEFLOWMSI_1_4_LTS_ARM64" -OutFile $msiPath
Nainstalujte na zařízení IoT Edge pro Linux ve Windows.
Start-Process -Wait msiexec -ArgumentList "/i","$([io.Path]::Combine($env:TEMP, 'AzureIoTEdge.msi'))","/qn"
Vlastní IoT Edge pro Linux můžete zadat v instalaci systému Windows a adresáře VHDX přidáním
INSTALLDIR="<FULLY_QUALIFIED_PATH>"
parametrůVHDXDIR="<FULLY_QUALIFIED_PATH>"
do příkazu install. Pokud například chcete použít složku D:\EFLOW pro instalaci a D:\EFLOW-VHDX pro VHDX , můžete použít následující rutinu PowerShellu.Start-Process -Wait msiexec -ArgumentList "/i","$([io.Path]::Combine($env:TEMP, 'AzureIoTEdge.msi'))","/qn","INSTALLDIR=D:\EFLOW", "VHDXDIR=D:\EFLOW-VHDX"
Nastavte zásadu spouštění na cílovém zařízení na
AllSigned
to, jestli ještě není. Projděte si požadavky PowerShellu pro příkazy, které kontrolují aktuální zásady spouštění a nastavují zásady spouštění naAllSigned
hodnotu .Vytvořte IoT Edge pro Linux v nasazení s Windows. Nasazení vytvoří virtuální počítač s Linuxem a nainstaluje za vás modul runtime IoT Edge.
Deploy-Eflow
Tip
Ve výchozím nastavení příkaz
Deploy-Eflow
vytvoří virtuální počítač s Linuxem s 1 GB paměti RAM, jádrem 1 vCPU a 16 GB místa na disku. Prostředky, které virtuální počítač potřebuje, jsou ale vysoce závislé na úlohách, které nasadíte. Pokud váš virtuální počítač nemá dostatek paměti pro podporu úloh, nepodaří se spustit.Dostupné prostředky virtuálního počítače můžete přizpůsobit pomocí
Deploy-Eflow
volitelných parametrů příkazu. To se vyžaduje k nasazení EFLOW na zařízení s minimálními požadavky na hardware.Následující příkaz například vytvoří virtuální počítač s jádrem 1 vCPU, 1 GB paměti RAM (reprezentovaným v MB) a 2 GB místa na disku:
Deploy-Eflow -cpuCount 1 -memoryInMB 1024 -vmDataSize 2
Informace o všech dostupných volitelných parametrech najdete v tématu Funkce PowerShellu pro IoT Edge pro Linux ve Windows.
Upozorňující
Ve výchozím nastavení nemá virtuální počítač EFLOW s Linuxem žádnou konfiguraci DNS. Nasazení používající protokol DHCP se pokusí získat konfiguraci DNS šířenou serverem DHCP. Zkontrolujte konfiguraci DNS a ujistěte se, že máte připojení k internetu. Další informace najdete v tématu AzEFLOW-DNS.
Ke svému nasazení můžete přiřadit GPU, abyste povolili moduly s akcelerovanými GPU pro Linux. Pokud chcete získat přístup k těmto funkcím, musíte nainstalovat požadavky podrobně popsané v akceleraci GPU pro Azure IoT Edge pro Linux ve Windows.
Pokud chcete použít průchod GPU, přidejte do příkazu
Deploy-Eflow
parametry gpuName, gpuPassthroughType a gpuCount. Informace o všech dostupných volitelných parametrech najdete v tématu Funkce PowerShellu pro IoT Edge pro Linux ve Windows.Upozorňující
Povolení průchodu hardwarovým zařízením může zvýšit bezpečnostní rizika. Microsoft doporučuje ovladač pro zmírnění rizik zařízení od dodavatele GPU, pokud je to možné. Další informace naleznete v tématu Nasazení grafických zařízení pomocí samostatného přiřazení zařízení.
Zadejte Y a přijměte licenční podmínky.
Pokud chcete v závislosti na předvolbách zapnout nebo vypnout volitelná diagnostická data , zadejte O nebo R.
Po dokončení nasazení se v okně PowerShellu zobrazí zpráva o úspěšném nasazení.
Po úspěšném nasazení můžete zařízení zřídit.
Zřízení zařízení s využitím cloudové identity
Jakmile je modul runtime nainstalovaný na vašem zařízení, nakonfigurujte zařízení s informacemi, které používá pro připojení ke službě zřizování zařízení a ioT Hubu.
Připravte si následující informace:
- Hodnota oboru ID DPS
- ID registrace zařízení, které jste vytvořili
- Primární klíč z jednotlivé registrace nebo odvozený klíč pro zařízení, která používají skupinovou registraci.
V relaci PowerShellu se zvýšenými oprávněními spusťte následující příkaz se zástupnými hodnotami aktualizovanými vlastními hodnotami:
Provision-EflowVm -provisioningType DpsSymmetricKey -scopeId PASTE_YOUR_ID_SCOPE_HERE -registrationId PASTE_YOUR_REGISTRATION_ID_HERE -symmKey PASTE_YOUR_PRIMARY_KEY_OR_DERIVED_KEY_HERE
Ověření úspěšné instalace
Ověřte, že se ioT Edge pro Linux ve Windows úspěšně nainstaloval a nakonfiguroval na zařízení IoT Edge.
Můžete ověřit, že se použila jednotlivá registrace, kterou jste vytvořili ve službě device Provisioning. Na webu Azure Portal přejděte k instanci služby zřizování zařízení. Otevřete podrobnosti o registraci pro jednotlivou registraci, kterou jste vytvořili. Všimněte si, že se přiřadí stav registrace a zobrazí se ID zařízení.
Přihlaste se k ioT Edge pro Linux na virtuálním počítači s Windows pomocí následujícího příkazu v relaci PowerShellu:
Connect-EflowVm
Poznámka:
Jediným účtem povoleným SSH k virtuálnímu počítači je uživatel, který ho vytvořil.
Po přihlášení můžete pomocí následujícího příkazu Linuxu zkontrolovat seznam spuštěných modulů IoT Edge:
sudo iotedge list
Pokud potřebujete řešit potíže se službou IoT Edge, použijte následující linuxové příkazy.
Načtěte protokoly služby.
sudo iotedge system logs
check
Pomocí nástroje ověřte konfiguraci a stav připojení zařízení.sudo iotedge check
Poznámka:
Na nově zřízeném zařízení se může zobrazit chyba související se službou IoT Edge Hub:
× provozní připravenosti: Adresář úložiště Edge Hubu je trvalý v systému souborů hostitele – chyba
Nepodařilo se zkontrolovat aktuální stav kontejneru EdgeHub.
Tato chyba se očekává na nově zřízeném zařízení, protože modul IoT Edge Hub není spuštěný. Pokud chcete tuto chybu vyřešit, nastavte v IoT Hubu moduly pro zařízení a vytvořte nasazení. Vytvoření nasazení pro zařízení spustí moduly na zařízení, včetně modulu IoT Edge Hubu.
Když vytvoříte nové zařízení IoT Edge, zobrazí se na webu Azure Portal stavový kód 417 -- The device's deployment configuration is not set
. Tento stav je normální a znamená, že zařízení je připravené přijmout nasazení modulu.
Odinstalace IoT Edge pro Linux ve Windows
Pokud chcete ze zařízení odebrat instalaci Azure IoT Edge pro Linux ve Windows, použijte následující příkazy.
- Otevřít nastavení ve Windows
- Vyberte Přidat nebo odebrat programy.
- Výběr aplikace Azure IoT Edge
- Vyberte Odinstalovat.
Další kroky
Proces registrace služby Device Provisioning 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 moduly IoT Edge ve velkém měřítku pomocí webu Azure Portal nebo pomocí Azure CLI.
Můžete také:
- Pokračujte v nasazování modulů IoT Edge a zjistěte, jak do zařízení nasadit moduly.
- Zjistěte, jak spravovat certifikáty ve službě IoT Edge pro Linux na virtuálním počítači s Windows a přenášet soubory z hostitelského operačního systému do virtuálního počítače s Linuxem.
- Zjistěte, jak nakonfigurovat zařízení IoT Edge tak, aby komunikovali přes proxy server.