Sdílet prostřednictvím


Vytvoření a zřízení IoT Edge pro Linux na zařízeních s Windows ve velkém měřítku pomocí čipu TPM

platí pro:ikona Ano IoT Edge 1.1

Důležité

IoT Edge 1.1 datum ukončení podpory bylo 13. prosince 2022. Informace o způsobu podpory tohoto produktu, služby, technologie nebo rozhraní API najdete v tématu věnovaném životnímu cyklu produktů Microsoftu. Další informace o aktualizaci na nejnovější verzi IoT Edge najdete v tématu AktualizaceIoT Edge .

Tento článek obsahuje pokyny k automatickému zřízení Azure IoT Edge pro Linux na zařízení s Windows pomocí čipu TPM (Trusted Platform Module). Zařízení Azure IoT Edge můžete automaticky zřídit pomocí služby Zřizování zařízení Azure IoT Hubu. Pokud nejste obeznámeni s procesem automatického zřizování, prohlédněte si přehled zřizování před tím, než budete pokračovat.

Tento článek popisuje dvě metodologie. Vyberte svoji předvolbu na základě architektury vašeho řešení:

  • Automaticky nakonfigurovat Linux na zařízení s Windows s fyzickým hardwarem TPM.
  • Automaticky nasadit Linux na zařízení s Windows pomocí simulovaného čipu TPM. Tuto metodologii doporučujeme pouze jako testovací scénář. Simulovaný čip TPM nenabízí stejné zabezpečení jako fyzický čip TPM.

Úkoly jsou následující:

  • Nainstalujte IoT Edge pro Linux ve Windows.
  • Načtěte z vašeho zařízení informace o čipu TPM.
  • Vytvořte pro zařízení individuální registraci.
  • Nakonfigurujte své zařízení s TPM informacemi.

Požadavky

Cloudové prostředky

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

  • 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č.

Návod

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.

Vývojářské nástroje

Ke správě zařízení IoT Edge můžete použít PowerShell nebo Centrum pro správu Windows . Každý nástroj má vlastní požadavky:

Pokud chcete použít PowerShell, pomocí následujících kroků 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:

  1. Nastavte zásadu spouštění na cílovém zařízení na AllSigned. 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 nejsou AllSigned, můžete nastavit zásady provádě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.

Poznámka:

Když používáte TPM attestaci se službou zřizování zařízení, je vyžadován čip TPM 2.0.

Při použití čipu TPM můžete vytvořit pouze jednotlivé registrace služby pro zřizování zařízení, nikoliv skupinové.

Nainstalujte IoT Edge

Nasaďte Azure IoT Edge pro Linux ve Windows na cílovém zařízení.

Nainstalujte IoT Edge pro Linux ve Windows na své cílové 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.

  1. V relaci PowerShellu se zvýšenými oprávněními spusťte každý z následujících příkazů a stáhněte si IoT Edge pro Linux ve Windows.

    $msiPath = $([io.Path]::Combine($env:TEMP, 'AzureIoTEdge.msi'))
    $ProgressPreference = 'SilentlyContinue'
    Invoke-WebRequest "https://aka.ms/AzEflowMSI" -OutFile $msiPath
    
  2. Nainstalujte na zařízení IoT Edge pro Linux ve Windows.

    Start-Process -Wait msiexec -ArgumentList "/i","$([io.Path]::Combine($env:TEMP, 'AzureIoTEdge.msi'))","/qn"
    

    Můžete určit vlastní adresáře pro instalaci IoT Edge pro Linux ve Windows a VHDX přidáním parametrů INSTALLDIR="<FULLY_QUALIFIED_PATH>" a VHDXDIR="<FULLY_QUALIFIED_PATH>" k instalačnímu příkazu. 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"
    
  3. Nastavte na cílovém zařízení zásadu spouštění na AllSigned, pokud již není nastavena. Podívejte se na požadavky na PowerShell pro příkazy, které kontrolují aktuální zásady spouštění a nastavují zásady spouštění na AllSigned.

  4. Vytvořte IoT Edge pro Linux v nasazení s Windows. Nasazení vytvoří váš virtuální počítač s Linuxem a automaticky nainstaluje IoT Edge runtime.

    Deploy-Eflow
    

    Návod

    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.

    Následující příkaz například vytvoří virtuální počítač se 4 jádry vCPU, 4 GB paměti RAM (reprezentované v MB) a 20 GB místa na disku:

    Deploy-Eflow -cpuCount 4 -memoryInMB 4096 -vmDiskSize 20
    

    Informace o všech dostupných volitelných parametrech najdete v tématu Funkce PowerShellu pro IoT Edge pro Linux ve Windows.

    Výstraha

    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, budete muset 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 parametry gpuName, gpuPassthroughType a Deploy-Eflow. Informace o všech dostupných volitelných parametrech najdete v tématu Funkce PowerShellu pro IoT Edge pro Linux ve Windows.

    Výstraha

    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í.

  5. Zadejte Y a přijměte licenční podmínky.

  6. Pokud chcete v závislosti na předvolbách zapnout nebo vypnout volitelná diagnostická data , zadejte O nebo R.

  7. Po dokončení nasazení se v okně PowerShellu zobrazí zpráva o úspěšném nasazení.

    Úspěšné nasazení bude na konci zpráv PNG hlásit

    Po úspěšném nasazení jste připraveni zařízení připravit.

Jsou určité kroky k přípravě vašeho zařízení na nastavení pomocí TPM. Nechte proces nasazení otevřený, zatímco připravujete své zařízení. K nasazení se vrátíte později v článku.

Povolení předávání TPM

IoT Edge pro Linux na virtuálním počítači s Windows má funkci TPM, kterou je možné povolit nebo zakázat. Ve výchozím nastavení je zakázaná. Pokud je tato funkce povolená, může virtuální počítač přistupovat k čipu TPM hostitelského počítače.

  1. Otevřete PowerShell se zvýšenými oprávněními.

  2. Pokud jste to ještě neudělali, nastavte na svém zařízení AllSigned zásady spouštění tak, abyste mohli spustit IoT Edge pro Linux ve funkcích Windows PowerShellu.

    Set-ExecutionPolicy -ExecutionPolicy AllSigned -Force
    
  3. Zapněte funkci TPM.

    Set-EflowVmFeature -feature 'DpsTpm' -enable
    

Získejte informace o TPM z vašeho zařízení

Ke zřízení zařízení potřebujete ověřovací klíč pro čip TPM a ID registrace vašeho zařízení. Tyto informace poskytnete vaší instanci služby zřizování zařízení, aby služba mohla rozpoznat vaše zařízení při pokusu o připojení.

Ověřovací klíč je jedinečný pro každý čip TPM. Získá se od výrobce čipu TPM přidruženého k němu. Jedinečné ID registrace zařízení TPM můžete odvodit například vytvořením hodnoty hash SHA-256 ověřovacího klíče.

IoT Edge pro Linux ve Windows poskytuje skript PowerShellu, který vám pomůže načíst tyto informace z čipu TPM. Pokud chcete skript použít, postupujte na svém zařízení takto:

  1. Otevřete PowerShell se zvýšenými oprávněními.

  2. Spusťte příkaz .

    Get-EflowVmTpmProvisioningInfo | Format-List
    

Vytvořte zápis do služby zřizování zařízení

Použijte informace o nastavení TPM k vytvoření individuálního zapsání ve službě nastavení zařízení.

Při vytváření registrace ve službě zřizování zařízení 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 používané ve vašem řešení, jako je oblast, prostředí, umístění nebo typ zařízení. Tyto značky slouží k vytváření automatických nasazení.

Návod

Kroky v tomto článku jsou určené pro Azure Portal, ale jednotlivé registrace můžete vytvořit také pomocí Azure CLI. Další informace najdete v az iot dps enrollment. Jako součást příkazu rozhraní příkazového řádku použijte příznak Edge povolen k určení, že registrace je pro zařízení IoT Edge.

  1. Na webu Azure portal přejděte na svou instanci služby zajišťování zařízení IoT Hub.

  2. V části Nastavení vyberte Spravovat registrace.

  3. Vyberte Přidat jednotlivé registrace a pak proveďte následující kroky a nakonfigurujte registraci:

    1. V případě mechanismu vyberte TPM.

    2. Zadejte ověřovací klíč a ID registrace, které jste zkopírovali z virtuálního počítače nebo fyzického zařízení.

    3. Pokud chcete, zadejte ID zařízení. Pokud nezadáte ID zařízení, použije se ID registrace.

    4. Výběrem možnosti True označíte, že váš virtuální počítač nebo fyzické zařízení je zařízení IoT Edge.

    5. Zvolte propojené centrum IoT, ke kterému chcete zařízení připojit, nebo vyberte Propojit s novým IoT Hubem. Můžete zvolit více rozbočovačů a zařízení se přiřadí k jednomu z nich podle vybraných zásad přiřazení.

    6. Pokud chcete, přidejte hodnotu značky do počátečního stavu Device Twin zařízení. Značky můžete použít k cílovým skupinám zařízení pro nasazení modulu. Další informace najdete v tématu Nasazení modulů IoT Edge ve velkém měřítku.

    7. Vyberte Uložit.

Nyní, když je pro toto zařízení k dispozici registrace, může IoT Edge runtime automaticky zprovoznit zařízení během instalace.

Poskytněte zařízení jeho cloudovou identitu

  1. Na zařízení s Windows otevřete relaci PowerShellu se zvýšenými oprávněními.

  2. Zřiďte zařízení pomocí ID oboru, které jste shromáždili z vaší instance služby zřizování zařízení.

    Provision-EflowVM -provisioningType "DpsTpm" -scopeId "SCOPE_ID_HERE"
    

    Pokud jste zařízení zaregistrovali pomocí vlastního ID registrace, musíte toto ID registrace zadat i při zřizování:

    Provision-EflowVM -provisioningType "DpsTpm" -scopeId "SCOPE_ID_HERE" -registrationId "REGISTRATION_ID_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.

Pokud se modul runtime úspěšně spustil, můžete přejít do centra IoT a začít nasazovat moduly IoT Edge 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í. V Azure portálu přejděte k instanci vaší služby zřizování zařízení. Otevřete podrobnosti o registraci pro jednotlivou registraci, kterou jste vytvořili. Všimněte si, že stav registrace je přiřazen a je uvedeno ID zařízení.

Pomocí následujících příkazů na zařízení ověřte, že se IoT Edge nainstaloval a úspěšně spustil.

  1. Připojte 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.

  2. 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
    
  3. Pokud potřebujete řešit potíže se službou IoT Edge, použijte následující linuxové příkazy.

    1. Pokud potřebujete vyřešit potíže se službou, načtěte protokoly služby.

      sudo journalctl -u iotedge
      
    2. 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 Hub.

Odinstalujte 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.

  1. Otevřít nastavení ve Windows
  2. Vyberte Přidat nebo odebrat programy.
  3. Výběr aplikace LTS pro Azure IoT Edge
  4. Vyberte Odinstalovat.

Další kroky

Proces registrace ve službě pro zřizování zařízení umožňuje nastavit ID zařízení a značky dvojníka zařízení současně se zřizování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í.

Naučte se nasazovat a monitorovat moduly IoT Edge ve velkém měřítku pomocí webu Azure Portal nebo Azure CLI.