Sdílet prostřednictvím


Aktualizace služby IoT Edge

Platí pro: Ikona Ano IoT Edge 1.1

Důležité

Datum ukončení podpory ioT Edge 1.1 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 Aktualizace IoT Edge.

Protože služba IoT Edge vydává nové verze, budete chtít aktualizovat zařízení IoT Edge na 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. První je subsystém zabezpečení. Přestože se architektura subsystému zabezpečení mezi verzí 1.1 a 1.2 změnila, její celková odpovědnost zůstala stejná. Běží na zařízení, zpracovává úlohy založené na zabezpečení a spouští moduly při spuštění zařízení. V současné době je možné subsystém zabezpečení aktualizovat pouze ze samotného zařízení. Druhou komponentou je modul runtime, který se skládá z modulů agenta IoT Edge a IoT Edge. V závislosti na způsobu strukturování nasazení je možné modul runtime aktualizovat ze zařízení nebo vzdáleně.

Modul runtime IoT Edge a aplikační vrstvy byste měli aktualizovat ve stejné verzi. I když jsou podporované neodpovídající verze, nejsou testované společně. Pomocí následujících částí v tomto článku aktualizujte vrstvy modulu runtime i aplikace na zařízení:

  1. Aktualizace subsystému zabezpečení
  2. Aktualizace kontejnerů modulu runtime
  3. Ověření shody verzí
    • 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.
    • 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.

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

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 v dalších krocích tohoto č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 příslušný správce balíčků k aktualizaci modulu runtime na nejnovější verzi.

Aktualizujte 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 iotedge

Pokud chcete aktualizovat na nejnovější verzi modulu runtime, použijte následující příkaz, který také aktualizuje libiothsm-std na nejnovější verzi:

sudo apt-get install iotedge

Pokud chcete aktualizovat na konkrétní verzi modulu runtime, zadejte verzi z výstupu seznamu apt. Při každé aktualizaci iotedge se automaticky pokusí aktualizovat balíček libiothsm-std na nejnovější verzi, což může způsobit konflikt závislostí. Pokud nebudete používat nejnovější verzi, nezapomeňte oba balíčky cílit na stejnou verzi. Například následující příkaz nainstaluje konkrétní verzi verze 1.1:

sudo apt-get install iotedge=1.1.1 libiothsm-std=1.1.1

Pokud verze, kterou chcete nainstalovat, není prostřednictvím apt-get dostupná, můžete pomocí nástroje curl cílit na libovolnou verzi z úložiště vydaných verzí IoT Edge. Pro jakoukoli verzi, kterou chcete nainstalovat, vyhledejte příslušné soubory libiothsm-std a iotedge pro vaše zařízení. U každého souboru klikněte pravým tlačítkem myši na odkaz na soubor a zkopírujte adresu odkazu. Pomocí adresy odkazu nainstalujte konkrétní verze těchto komponent:

curl -L <libiothsm-std link> -o libiothsm-std.deb && sudo apt-get install ./libiothsm-std.deb
curl -L <iotedge link> -o iotedge.deb && sudo apt-get install ./iotedge.deb

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.

Vyhledání verze kontejneru v protokolech

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čte 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.1.1), 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. V části Moduly IoT Edge vyberte Nastavení modulu runtime.

    Konfigurace nastavení modulu runtime

  3. V nastavení modulu runtime aktualizujte hodnotu image pro Edge Hub s požadovanou verzí. Zatím nevybírejte možnost Uložit .

    Aktualizace verze image centra Edge

  4. Sbalte nastavení Edge Hubu nebo se posuňte dolů a aktualizujte hodnotu image agenta Edge se stejnou požadovanou verzí.

    Aktualizace verze agenta Edge Hubu

  5. Zvolte Uložit.

  6. Vyberte Zkontrolovat a vytvořit, zkontrolujte nasazení a vyberte Vytvořit.

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, bude 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ěryhodných certifikátů.
  • 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 se tajný kód znovu zašifruje modulem, 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. Upozorňujeme, že 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 z Edge Hubu odebrat. 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.3 nebo novější. 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 služba IoT Edge spuštěná na vašich zařízeních aktualizovaná, postupujte podle kroků v tomto článku a aktualizujte také kontejnery modulu runtime.

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í