Aktualizace služby IoT Edge

Platí pro:IoT Edge 1.4 checkmark IoT Edge 1.4

Důležité

IoT Edge 1.4 je podporovaná verze. Pokud používáte starší verzi, podívejte se na článek Aktualizace IoT Edge.

Protože služba IoT Edge vydává nové verze, aktualizujte IoT Edge zařízení o nejnovější funkce a vylepšení zabezpečení. Tento článek obsahuje informace o tom, jak aktualizovat zařízení IoT Edge, když je k dispozici nová verze.

Pokud chcete přejít na novější verzi, je potřeba aktualizovat dvě logické komponenty zařízení IoT Edge.

  • Subsystém zabezpečení – I když se architektura subsystému zabezpečení mezi verzí 1.1 a 1.2 změnila, její povinnosti zůstaly stejné. Běží na zařízení, zpracovává úlohy založené na zabezpečení a spouští moduly při spuštění zařízení. Subsystém zabezpečení je možné aktualizovat pouze ze samotného zařízení.

  • Modul runtime IoT Edge – Modul runtime IoT Edge se skládá z modulů ioT Edge Hub (edgeHub) a agenta IoT Edge (edgeAgent). V závislosti na způsobu strukturování nasazení je možné modul runtime aktualizovat buď ze zařízení, nebo vzdáleně.

Postup aktualizace

V částech tohoto článku můžete aktualizovat kontejnery subsystému zabezpečení i modulu runtime na zařízení.

Vydání oprav

Při upgradu mezi verzemi oprav , například 1.4.1 na 1.4.2, není pořadí aktualizací důležité. Můžete upgradovat subsystém zabezpečení nebo kontejnery modulu runtime před nebo za druhým. Aktualizace mezi verzemi oprav:

  1. Aktualizace subsystému zabezpečení
  2. Aktualizace kontejnerů modulu runtime
  3. Ověření shody verzí

Proces upgradu můžete kdykoli vyřešit .

Hlavní nebo podverze

Při upgradu mezi hlavními nebo dílčími verzemi, například z verze 1.1 na 1.4, aktualizujte subsystém zabezpečení i kontejnery modulu runtime. Před vydáním otestujeme subsystém zabezpečení a kombinaci verze kontejneru modulu runtime. Aktualizace mezi hlavními nebo dílčími verzemi produktu:

  1. Na zařízení zastavte IoT Edge pomocí příkazu sudo systemctl stop iotedge a odinstalujte ho.

  2. Na zařízení upgradujte modul kontejneru, a to buď Docker , nebo Moby.

  3. Na zařízení nainstalujte IoT Edge.

    Pokud importujete starou konfiguraci pomocí iotedge config import, upravte image [agent.config] vygenerovaného /etc/aziot/config.toml souboru tak, aby používala image 1.4 pro edgeAgent.

    Další informace najdete v tématu Konfigurace nastavení zařízení IoT Edge.

  4. V IoT Hubu aktualizujte nasazení modulu tak, aby odkazovat na nejnovější systémové moduly.

  5. Na zařízení spusťte IoT Edge pomocí sudo iotedge config apply.

Proces upgradu můžete kdykoli vyřešit .

Aktualizace subsystému zabezpečení

Subsystém zabezpečení IoT Edge zahrnuje sadu nativních komponent, které je potřeba aktualizovat pomocí správce balíčků na zařízení IoT Edge.

Pomocí příkazu iotedge versionzkontrolujte verzi subsystému zabezpečení spuštěného na vašem zařízení . Pokud používáte IoT Edge pro Linux ve Windows, musíte se přes SSH připojit k virtuálnímu počítači s Linuxem a zkontrolovat verzi.

Důležité

Pokud aktualizujete zařízení z verze 1.0 nebo 1.1 na nejnovější verzi, existují rozdíly v instalačních a konfiguračních procesech, které vyžadují další kroky. Další informace najdete dále v tomto článku: Zvláštní případ: Aktualizace z verze 1.0 nebo 1.1 na nejnovější verzi.

Na zařízeních s Linuxem x64 použijte apt-get nebo svého vhodného správce balíčků k aktualizaci subsystému zabezpečení na nejnovější verzi.

Aktualizace apt:

sudo apt-get update

Poznámka:

Pokyny k získání nejnovější konfigurace úložiště od Microsoftu najdete v předběžných krocích instalace IoT Edge.

Zkontrolujte, které verze IoT Edge jsou k dispozici:

apt list -a aziot-edge

Aktualizace IoT Edge:

sudo apt-get install aziot-edge defender-iot-micro-agent-edge

Spuštění apt-get install aziot-edge upgraduje subsystém zabezpečení a nainstaluje službu identit jako aziot-identity-servicepožadovanou závislost.

Doporučujeme nainstalovat mikro agenta s agentem Edge, abyste umožnili monitorování zabezpečení a posílení zabezpečení zařízení Edge. Další informace o programu Microsoft Defender for IoT najdete v tématu Co je Microsoft Defender for IoT pro tvůrce zařízení.

Pak znovu použít konfiguraci, aby se zajistilo, že se systém plně aktualizuje.

sudo iotedge config apply

Aktualizace kontejnerů modulu runtime

Způsob, jakým aktualizujete agenta IoT Edge a kontejnery centra IoT Edge, závisí na tom, jestli ve svém nasazení používáte kumulativní značky (například 1.1) nebo konkrétní značky (například 1.1.1).

Zkontrolujte verzi agenta IoT Edge a modulů centra IoT Edge, které jsou aktuálně na vašem zařízení, pomocí příkazů iotedge logs edgeAgent nebo iotedge logs edgeHub. Pokud používáte IoT Edge pro Linux ve Windows, musíte se přes SSH připojit k virtuálnímu počítači s Linuxem, abyste zkontrolovali verze modulu runtime.

Screenshot of where to find the container version in console logs.

Principy značek IoT Edge

Image agenta IoT Edge a centra IoT Edge jsou označené verzí IoT Edge, ke které jsou přidružené. Existují dva různé způsoby použití značek s imagemi modulu runtime:

  • Kumulativní značky – K získání nejnovější image, která odpovídá těmto číslicům, použijte pouze první dvě hodnoty čísla verze. Například verze 1.1 se aktualizuje vždy, když existuje nová verze, která ukazuje na nejnovější verzi 1.1.x. Pokud modul runtime kontejneru na zařízení IoT Edge znovu stáhne image, moduly runtime se aktualizují na nejnovější verzi. Nasazení z webu Azure Portal jsou ve výchozím nastavení na kumulativní značky. Tento přístup se navrhuje pro účely vývoje.

  • Konkrétní značky – K explicitní nastavení verze použijte všechny tři hodnoty čísla verze. Například verze 1.1.0 se po počáteční verzi nezmění. Nové číslo verze můžete deklarovat v manifestu nasazení, až budete připraveni k aktualizaci. Tento přístup se navrhuje pro produkční účely.

Aktualizace image kumulativní značky

Pokud ve svém nasazení používáte kumulativní značky (například mcr.microsoft.com/azureiotedge-hub:1.1), musíte vynutit, aby modul runtime kontejneru na vašem zařízení stáhl nejnovější verzi image.

Odstraňte místní verzi image ze zařízení IoT Edge. Na počítačích s Windows odinstalace subsystému zabezpečení odebere také image modulu runtime, takže tento krok nemusíte provádět znovu.

docker rmi mcr.microsoft.com/azureiotedge-hub:1.1
docker rmi mcr.microsoft.com/azureiotedge-agent:1.1

Možná budete muset k odebrání obrázků použít příznak vynucení -f .

Služba IoT Edge načítá nejnovější verze imagí modulu runtime a automaticky je spustí na vašem zařízení znovu.

Aktualizace určitého obrázku značky

Pokud ve svém nasazení používáte konkrétní značky (například mcr.microsoft.com/azureiotedge-hub:1.4), stačí aktualizovat značku v manifestu nasazení a použít změny v zařízení.

  1. Na webu Azure Portal ve službě IoT Hub vyberte zařízení IoT Edge a vyberte Nastavit moduly.

  2. Na kartě Moduly vyberte modul runtime Nastavení.

    Screenshot that shows location of the Runtime Settings tab.

  3. V modulu runtime Nastavení aktualizujte hodnotu identifikátoru URI image v části Agent Edge s požadovanou verzí. Ještě nevybírejte Použít .

    Screenshot that shows where to update the image URI with your version in the Edge Agent.

  4. Vyberte kartu Edge Hub a aktualizujte hodnotu identifikátoru URI obrázku se stejnou požadovanou verzí.

    Screenshot that shows where to update the image URI with your version in the Edge Hub.

  5. Chcete-li uložit změny, vyberte Použít .

  6. Vyberte Zkontrolovat a vytvořit, zkontrolujte nasazení, jak je vidět v souboru JSON, a vyberte Vytvořit.

Ověření shody verzí

  1. Na zařízení zkontrolujte iotedge version verzi subsystému zabezpečení. Výstup obsahuje čísla hlavní verze, podverze a verze revizí. Například iotedge 1.4.2.

  2. V nastavení modulu runtime nasazení zařízení ověřte, že verze identifikátoru URI image edgeHub a edgeAgent odpovídají hlavní a podverze subsystému zabezpečení. Pokud je subsystém zabezpečení verze 1.4.2, verze imagí budou 1.4. Například mcr.microsoft.com/azureiotedge-hub:1.4 a mcr.microsoft.com/azureiotedge-agent:1.4.

Poznámka:

Aktualizujte subsystém zabezpečení IoT Edge a kontejnery modulu runtime na stejnou podporovanou verzi verze. I když jsou podporované neshodné verze, neotestovali jsme všechny kombinace verzí.

Pokud chcete najít nejnovější verzi Azure IoT Edge, přečtěte si o vydaných verzích Azure IoT Edge.

Speciální případ: Aktualizace z verze 1.0 nebo 1.1 na nejnovější verzi

Od verze 1.2 používá služba IoT Edge nový název balíčku a má určité rozdíly v instalačních a konfiguračních procesech. Pokud máte zařízení IoT Edge verze 1.0 nebo 1.1, postupujte podle těchto pokynů a zjistěte, jak provést aktualizaci na nejnovější verzi.

Mezi hlavní rozdíly mezi nejnovější verzí a verzí 1.1 a dřívějšími verzemi patří:

  • Název balíčku se změnil z iotedge na aziot-edge.
  • Balíček libiothsm-std se už nepoužívá. Pokud jste jako součást verze IoT Edge použili standardní balíček, můžete konfigurace přenést do nové verze. Pokud jste použili jinou implementaci libiothsm-std, je potřeba překonfigurovat všechny certifikáty poskytnuté uživatelem, jako je certifikát identity zařízení, certifikační autorita zařízení a sada důvěryhodnosti.
  • V rámci verze 1.2 byla zavedena nová služba identit aziot-identity-service. Tato služba zpracovává zřizování a správu identit pro IoT Edge a pro další komponenty zařízení, které potřebují komunikovat se službou IoT Hub, jako je aktualizace zařízení pro IoT Hub.
  • Výchozí konfigurační soubor má nový název a umístění. /etc/iotedge/config.yamlDříve se očekává, že informace o konfiguraci zařízení budou ve výchozím nastavení./etc/aziot/config.toml Pomocí iotedge config import příkazu můžete migrovat informace o konfiguraci ze starého umístění a syntaxe do nového.
    • Příkaz importu nemůže rozpoznat nebo upravit pravidla přístupu k modulu důvěryhodné platformy zařízení (TPM). Pokud vaše zařízení používá ověření identity čipem TPM, musíte ručně aktualizovat soubor /etc/udev/rules.d/tpmaccess.rules, abyste mohli udělit přístup ke službě aziottpm. Další informace najdete v tématu Udělení přístupu k čipu TPM službě IoT Edge.
  • Rozhraní API úloh v nejnovější verzi ukládá šifrované tajné kódy v novém formátu. Pokud upgradujete ze starší verze na nejnovější verzi, importuje se stávající hlavní šifrovací klíč. Rozhraní API pro úlohy může číst tajné kódy uložené v předchozím formátu pomocí importovaného šifrovacího klíče. Rozhraní API pro úlohy ale nemůže zapsat šifrované tajné kódy ve starém formátu. Jakmile modul znovu zašifruje tajný kód, uloží se v novém formátu. Tajné kódy zašifrované v nejnovější verzi jsou nečitelné stejným modulem ve verzi 1.1. Pokud zachovají šifrovaná data do složky nebo svazku připojené k hostiteli, před upgradem vždy vytvořte záložní kopii dat, abyste v případě potřeby zachovali možnost downgradu.
  • Kvůli zpětné kompatibilitě při připojování zařízení, která nepodporují protokol TLS 1.2, můžete centrum Edge nakonfigurovat tak, aby stále přijímalo protokol TLS 1.0 nebo 1.1 prostřednictvím proměnné prostředí SslProtocols. Podpora protokolu TLS 1.0 a 1.1 ve službě IoT Hub je považována za starší verzi a v budoucích verzích se také může odebrat z Edge Hubu.  Abyste se vyhnuli budoucím problémům, používejte protokol TLS 1.2 jako jedinou verzi protokolu TLS při připojování ke službě Edge Hub nebo IoT Hub.
  • Verze Preview pro experimentálního zprostředkovatele MQTT v Edge Hubu 1.2 skončila a není součástí Edge Hubu 1.4. Na základě přijaté zpětné vazby budeme dál upřesňovat naše plány pro zprostředkovatele MQTT. Pokud mezitím potřebujete zprostředkovatele MQTT vyhovující standardům v IoT Edge, zvažte nasazení opensourcového zprostředkovatele, jako je Mosquitto, jako je modul IoT Edge.
  • Počínaje verzí 1.2 se při odebrání záložní image z kontejneru kontejneru kontejner zachová a během restartování se zachová. Když se v 1.1 odebere záložní image, kontejner se okamžitě znovu vytvoří a backing image se aktualizuje.

Před automatizací jakýchkoli procesů aktualizace ověřte, že funguje na testovacích počítačích.

Až budete připraveni, aktualizujte IoT Edge na svých zařízeních pomocí těchto kroků:

  1. Aktualizujte apt.

    sudo apt-get update
    
  2. Odinstalujte předchozí verzi IoT Edge a nechte konfigurační soubory na místě.

    sudo apt-get remove iotedge
    
  3. Nainstalujte nejnovější verzi IoT Edge spolu se službou identit IoT a mikro agentem Microsoft Defenderu pro IoT pro Edge.

    sudo apt-get install aziot-edge defender-iot-micro-agent-edge
    

Doporučujeme nainstalovat mikro agenta s agentem Edge, abyste umožnili monitorování zabezpečení a posílení zabezpečení zařízení Edge. Další informace o programu Microsoft Defender for IoT najdete v tématu Co je Microsoft Defender for IoT pro tvůrce zařízení.

  1. Naimportujte starý soubor config.yaml do nového formátu a použijte konfigurační informace.

    sudo iotedge config import
    

Teď, když je na vašich zařízeních spuštěná nejnovější služba IoT Edge, musíte také aktualizovat kontejnery modulu runtime na nejnovější verzi. Proces aktualizace kontejnerů modulu runtime je stejný jako proces aktualizace pro službu IoT Edge.

Řešení problému

Protokoly systému můžete kdykoli zobrazit spuštěním následujících příkazů ze zařízení.

  • Začněte řešit potíže pomocí příkazu pro kontrolu . Spustí kolekci testů konfigurace a připojení pro běžné problémy.

    sudo iotedge check --verbose
    
  • Pokud chcete zobrazit stav systému IoT Edge, spusťte:

    sudo iotedge system status 
    
  • Pokud chcete zobrazit protokoly součástí hostitele, spusťte:

    sudo iotedge system logs
    
  • Pokud chcete zkontrolovat opakované problémy hlášené u edgeAgent a EdgeHubu, spusťte:

    Nezapomeňte nahradit <module> vlastním názvem modulu. Pokud nedojde k žádným problémům, nezobrazí se žádný výstup.

    sudo iotedge logs <module>
    

Další informace najdete v tématu Řešení potíží se zařízením IoT Edge.

Další kroky

Podívejte se na nejnovější verze Azure IoT Edge.

Aktuální informace o nedávných aktualizacích a oznámeních na blogu Internet věcí