Delen via


IoT Edge bijwerken

Van toepassing op: Ja-pictogram IoT Edge 1.1

Belangrijk

Het einde van de ondersteuningsdatum voor IoT Edge 1.1 is 13 december 2022. Raadpleeg het levenscyclusbeleid van Microsoft voor informatie over hoe dit product of deze service, technologie of API wordt ondersteund. Zie IoT Edge bijwerken voor meer informatie over het bijwerken naar de nieuwste versie van IoT Edge.

Naarmate de IoT Edge-service nieuwe versies publiceert, wilt u uw IoT Edge-apparaten bijwerken voor de nieuwste functies en beveiligingsverbeteringen. Dit artikel bevat informatie over het bijwerken van uw IoT Edge-apparaten wanneer er een nieuwe versie beschikbaar is.

Twee logische onderdelen van een IoT Edge-apparaat moeten worden bijgewerkt als u naar een nieuwere versie wilt gaan. De eerste is het beveiligingssubsysteem. Hoewel de architectuur van het beveiligingssubsysteem tussen versie 1.1 en 1.2 is gewijzigd, blijven de algehele verantwoordelijkheden hetzelfde. Het wordt uitgevoerd op het apparaat, verwerkt op beveiliging gebaseerde taken en start de modules wanneer het apparaat wordt gestart. Op dit moment kan het beveiligingssubsysteem alleen worden bijgewerkt vanaf het apparaat zelf. Het tweede onderdeel is de runtime, die bestaat uit de IoT Edge-hub- en IoT Edge-agentmodules. Afhankelijk van hoe u uw implementatie structureert, kan de runtime worden bijgewerkt vanaf het apparaat of op afstand.

U moet de IoT Edge-runtime- en toepassingslagen bijwerken met dezelfde releaseversie. Hoewel niet-overeenkomende versies worden ondersteund, worden ze niet samen getest. Gebruik de volgende secties in dit artikel om zowel de runtime- als toepassingslagen op een apparaat bij te werken:

  1. Het beveiligingssubsysteem bijwerken
  2. De runtimecontainers bijwerken
  3. Controleren of versies overeenkomen
    • Gebruik op uw apparaat iotedge version om de versie van het beveiligingssubsysteem te controleren. De uitvoer bevat de primaire, secundaire en revisieversienummers. Bijvoorbeeld iotedge 1.4.2.
    • Controleer in de runtime-instellingen voor de implementatie van uw apparaat of de URI-versies van edgehub - en edgeagent-installatiekopieën overeenkomen met de primaire en secundaire versie van het beveiligingssubsysteem. Als de versie van het beveiligingssubsysteem 1.4.2 is, zijn de versies van de installatiekopieën 1.4. Bijvoorbeeld mcr.microsoft.com/azureiotedge-hub:1.4 en mcr.microsoft.com/azureiotedge-agent:1.4.

Zie Azure IoT Edge-releases om de nieuwste versie van Azure IoT Edge te vinden.

Het beveiligingssubsysteem bijwerken

Het IoT Edge-beveiligingssubsysteem bevat een set systeemeigen onderdelen die moeten worden bijgewerkt met pakketbeheer op het IoT Edge-apparaat.

Controleer de versie van het beveiligingssubsysteem dat op uw apparaat wordt uitgevoerd met behulp van de opdracht iotedge version. Als u IoT Edge voor Linux in Windows gebruikt, moet u SSH in de virtuele Linux-machine gebruiken om de versie te controleren.

Belangrijk

Als u een apparaat bijwerkt van versie 1.0 of 1.1 naar de nieuwste versie, zijn er verschillen in de installatie- en configuratieprocessen waarvoor extra stappen nodig zijn. Raadpleeg de stappen verderop in dit artikel voor meer informatie: Speciaal geval: Bijwerken van 1.0 of 1.1 naar de nieuwste versie.

Gebruik op Linux x64-apparaten apt-get of de juiste pakketbeheerder om de runtimemodule bij te werken naar de nieuwste versie.

Update apt.

sudo apt-get update

Notitie

Zie de voorbereidende stappen voor het installeren van IoT Edge voor instructies voor het ophalen van de meest recente configuratie van de opslagplaats van Microsoft.

Controleer welke versies van IoT Edge beschikbaar zijn.

apt list -a iotedge

Als u wilt bijwerken naar de meest recente versie van de runtime-module, gebruikt u de volgende opdracht, die ook libiothsm-std bijwerkt naar de nieuwste versie:

sudo apt-get install iotedge

Als u wilt bijwerken naar een specifieke versie van de runtimemodule, geeft u de versie op uit de uitvoer van de apt-lijst. Wanneer iotedge wordt bijgewerkt, wordt automatisch geprobeerd het libiothsm-std-pakket bij te werken naar de nieuwste versie, wat een afhankelijkheidsconflict kan veroorzaken. Als u niet naar de meest recente versie gaat, moet u beide pakketten voor dezelfde versie targeten. Met de volgende opdracht wordt bijvoorbeeld een specifieke versie van de versie 1.1 geïnstalleerd:

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

Als de versie die u wilt installeren niet beschikbaar is via apt-get, kunt u curl gebruiken om een willekeurige versie te richten vanuit de Opslagplaats voor IoT Edge-releases . Zoek de juiste libiothsm-std- en iotedge-bestanden voor uw apparaat voor de versie die u wilt installeren. Klik voor elk bestand met de rechtermuisknop op de bestandskoppeling en kopieer het koppelingsadres. Gebruik het koppelingsadres om de specifieke versies van deze onderdelen te installeren:

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

Pas vervolgens de configuratie opnieuw toe om ervoor te zorgen dat het systeem volledig wordt bijgewerkt.

sudo iotedge config apply

De runtimecontainers bijwerken

De manier waarop u de IoT Edge-agent en IoT Edge-hubcontainers bijwerkt, is afhankelijk van of u rolling tags (zoals 1.1) of specifieke tags (zoals 1.1.1) in uw implementatie gebruikt.

Controleer de versie van de IoT Edge-agent en IoT Edge-hubmodules die momenteel op uw apparaat zijn geïnstalleerd met behulp van de opdrachten iotedge logs edgeAgent of iotedge logs edgeHub. Als u IoT Edge voor Linux in Windows gebruikt, moet u SSH opnemen in de virtuele Linux-machine om de runtimemoduleversies te controleren.

Containerversie zoeken in logboeken

Inzicht in IoT Edge-tags

De IoT Edge-agent- en IoT Edge-hubinstallatiekopieën worden gelabeld met de IoT Edge-versie waaraan ze zijn gekoppeld. Er zijn twee verschillende manieren om tags te gebruiken met de runtime-installatiekopieën:

  • Rolling tags : gebruik alleen de eerste twee waarden van het versienummer om de meest recente installatiekopieën op te halen die overeenkomen met die cijfers. 1.1 wordt bijvoorbeeld bijgewerkt wanneer er een nieuwe release is die verwijst naar de nieuwste versie 1.1.x. Als de containerruntime op uw IoT Edge-apparaat de installatiekopie opnieuw ophaalt, worden de runtimemodules bijgewerkt naar de nieuwste versie. Implementaties vanuit Azure Portal zijn standaard ingesteld op rolling tags. Deze benadering wordt voorgesteld voor ontwikkelingsdoeleinden.

  • Specifieke tags : gebruik alle drie de waarden van het versienummer om de versie van de installatiekopieën expliciet in te stellen. 1.1.0 wordt bijvoorbeeld niet gewijzigd na de eerste release. U kunt een nieuw versienummer declareren in het implementatiemanifest wanneer u klaar bent om bij te werken. Deze benadering wordt voorgesteld voor productiedoeleinden.

Een afbeelding van een rolling tag bijwerken

Als u rolling tags in uw implementatie gebruikt (bijvoorbeeld mcr.microsoft.com/azureiotedge-hub:1.1), moet u afdwingen dat de containerruntime op uw apparaat de nieuwste versie van de installatiekopie ophaalt.

Verwijder de lokale versie van de installatiekopieën van uw IoT Edge-apparaat. Als u op Windows-computers het beveiligingssubsysteem verwijdert, worden ook de runtime-installatiekopieën verwijderd, zodat u deze stap niet opnieuw hoeft uit te voeren.

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

Mogelijk moet u de vlag force -f gebruiken om de afbeeldingen te verwijderen.

De IoT Edge-service haalt de nieuwste versies van de runtime-installatiekopieën op en start deze automatisch opnieuw op uw apparaat.

Een specifieke tagafbeelding bijwerken

Als u specifieke tags in uw implementatie gebruikt (bijvoorbeeld mcr.microsoft.com/azureiotedge-hub:1.1.1) hoeft u alleen maar de tag in het implementatiemanifest bij te werken en de wijzigingen op uw apparaat toe te passen.

  1. Selecteer uw IoT Edge-apparaat in de IoT Hub in Azure Portal en selecteer Modules instellen.

  2. Selecteer runtime-instellingen in de sectie IoT Edge-modules.

    Runtime-instellingen configureren

  3. Werk in Runtime-instellingen de waarde van de installatiekopieën voor Edge Hub bij met de gewenste versie. Selecteer Opslaan nog niet.

    Versie van Edge Hub-installatiekopieën bijwerken

  4. Vouw de Edge Hub-instellingen samen of schuif omlaag en werk de waarde van de afbeelding voor de Edge-agent bij met dezelfde gewenste versie.

    Edge Hub Agent-versie bijwerken

  5. Selecteer Opslaan.

  6. Selecteer Beoordelen en maken, controleer de implementatie en selecteer Maken.

Speciaal geval: Update van 1.0 of 1.1 naar de nieuwste versie

Vanaf versie 1.2 gebruikt de IoT Edge-service een nieuwe pakketnaam en zijn er enkele verschillen in de installatie- en configuratieprocessen. Als u een IoT Edge-apparaat met versie 1.0 of 1.1 hebt, gebruikt u deze instructies voor informatie over het bijwerken naar de nieuwste versie.

Enkele van de belangrijkste verschillen tussen de nieuwste release en versie 1.1 en eerdere versies zijn:

  • De pakketnaam is gewijzigd van iotedge in aziot-edge.
  • Het libiothsm-std-pakket wordt niet meer gebruikt. Als u het standaardpakket hebt gebruikt dat is opgegeven als onderdeel van de IoT Edge-release, kunnen uw configuraties worden overgedragen naar de nieuwe versie. Als u een andere implementatie van libiothsm-std hebt gebruikt, moeten alle door de gebruiker geleverde certificaten, zoals het certificaat voor apparaat-id, apparaat-CA en vertrouwensbundel, opnieuw worden geconfigureerd.
  • Er is een nieuwe identiteitsservice, aziot-identity-service , geïntroduceerd als onderdeel van de release 1.2. Deze service verwerkt het inrichten en beheren van identiteiten voor IoT Edge en voor andere apparaatonderdelen die moeten communiceren met IoT Hub, zoals Apparaatupdate voor IoT Hub.
  • Het standaardconfiguratiebestand heeft een nieuwe naam en locatie. /etc/iotedge/config.yamlVoorheen is de configuratiegegevens van uw apparaat naar verwachting standaard ingeschakeld/etc/aziot/config.toml. De iotedge config import opdracht kan worden gebruikt om configuratiegegevens van de oude locatie en syntaxis naar de nieuwe te migreren.
    • Met de importopdracht kunnen geen toegangsregels worden gedetecteerd of gewijzigd in de TPM (Trusted Platform Module) van een apparaat. Als uw apparaat TPM-attestation gebruikt, moet u het bestand /etc/udev/rules.d/tpmaccess.rules handmatig bijwerken om toegang te verlenen tot de aziottpm-service. Zie IoT Edge toegang geven tot de TPM voor meer informatie.
  • Met de workload-API in de nieuwste versie worden versleutelde geheimen opgeslagen in een nieuwe indeling. Als u een upgrade uitvoert van een oudere versie naar de nieuwste versie, wordt de bestaande hoofdversleutelingssleutel geïmporteerd. De workload-API kan geheimen lezen die zijn opgeslagen in de vorige indeling met behulp van de geïmporteerde versleutelingssleutel. De workload-API kan echter geen versleutelde geheimen schrijven in de oude indeling. Zodra een geheim opnieuw is versleuteld door een module, wordt het opgeslagen in de nieuwe indeling. Geheimen die zijn versleuteld in de nieuwste versie, zijn onleesbaar door dezelfde module in versie 1.1. Als u versleutelde gegevens op een door een host gekoppelde map of volume bewaart, maakt u altijd een back-upkopie van de gegevens voordat u een upgrade uitvoert om de mogelijkheid te behouden om zo nodig te downgraden.
  • Voor achterwaartse compatibiliteit bij het verbinden van apparaten die TLS 1.2 niet ondersteunen, kunt u Edge Hub zo configureren dat TLS 1.0 of 1.1 nog steeds wordt geaccepteerd via de omgevingsvariabele SslProtocols. Houd er rekening mee dat ondersteuning voor TLS 1.0 en 1.1 in IoT Hub wordt beschouwd als verouderd en in toekomstige versies van Edge Hub kan worden verwijderd. Gebruik TLS 1.2 als enige TLS-versie wanneer u verbinding maakt met Edge Hub of IoT Hub om toekomstige problemen te voorkomen.
  • De preview voor de experimentele MQTT-broker in Edge Hub 1.2 is beëindigd en is niet opgenomen in Edge Hub 1.3 of hoger. We blijven onze plannen voor een MQTT-broker verfijnen op basis van feedback die is ontvangen. Als u ondertussen een met standaarden compatibele MQTT-broker in IoT Edge nodig hebt, kunt u overwegen om een opensource-broker zoals Mosquitto te implementeren als een IoT Edge-module.
  • Vanaf versie 1.2 blijft de container actief wanneer een back-upinstallatiekopieën uit een container worden verwijderd en blijft deze behouden tijdens het opnieuw opstarten. Wanneer in 1.1 een back-upinstallatiekopieën worden verwijderd, wordt de container onmiddellijk opnieuw gemaakt en wordt de backing-installatiekopieën bijgewerkt.

Voordat u updateprocessen automatiseert, controleert u of deze werkt op testmachines.

Wanneer u klaar bent, volgt u deze stappen om IoT Edge op uw apparaten bij te werken:

  1. Update apt.

    sudo apt-get update
    
  2. Verwijder de vorige versie van IoT Edge, zodat uw configuratiebestanden aanwezig blijven.

    sudo apt-get remove iotedge
    
  3. Installeer de meest recente versie van IoT Edge, samen met de IoT-identiteitsservice en de Microsoft Defender for IoT-microagent voor Edge.

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

Het is raadzaam om de microagent te installeren met de Edge-agent om beveiligingsbewaking en beveiliging van uw Edge-apparaten mogelijk te maken. Zie Wat is Microsoft Defender voor IoT voor apparaatbouwers voor meer informatie over Microsoft Defender voor IoT.

  1. Importeer het oude bestand config.yaml in de nieuwe indeling en pas de configuratiegegevens toe.

    sudo iotedge config import
    

Nu de IoT Edge-service die op uw apparaten wordt uitgevoerd, is bijgewerkt, volgt u de stappen in dit artikel om ook de runtimecontainers bij te werken.

Volgende stappen

Bekijk de nieuwste Azure IoT Edge-releases.

Blijf up-to-date met recente updates en aankondigingen in het Internet of Things-blog