IoT Edge bijwerken

Van toepassing op:IoT Edge 1.4 checkmark IoT Edge 1.4

Belangrijk

IoT Edge 1.4 is de ondersteunde release. Raadpleeg IoT Edge bijwerken als u een eerdere versie hebt.

Wanneer de IoT Edge-service nieuwe versies uitbrengt, werkt u uw IoT Edge-apparaten bij 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.

  • Beveiligingssubsysteem: hoewel de architectuur van het beveiligingssubsysteemtussen versie 1.1 en 1.2 is gewijzigd, blijven de verantwoordelijkheden hetzelfde. Het wordt uitgevoerd op het apparaat, verwerkt op beveiliging gebaseerde taken en start de modules wanneer het apparaat wordt gestart. Het beveiligingssubsysteem kan alleen worden bijgewerkt vanaf het apparaat zelf.

  • IoT Edge-runtime: de IoT Edge-runtime bestaat uit de Modules ioT Edge-hub (edgeHub) en IoT Edge-agent (edgeAgent). Afhankelijk van hoe u uw implementatie structureert, kan de runtime worden bijgewerkt vanaf het apparaat of extern.

Bijwerken

Gebruik de secties van dit artikel om zowel het beveiligingssubsysteem als runtimecontainers op een apparaat bij te werken.

Patchreleases

Wanneer u een upgrade uitvoert tussen patchreleases , bijvoorbeeld 1.4.1 naar 1.4.2, is de updatevolgorde niet belangrijk. U kunt het beveiligingssubsysteem of de runtimecontainers voor of na het andere upgraden. Bijwerken tussen patchreleases:

  1. Het beveiligingssubsysteem bijwerken
  2. De runtimecontainers bijwerken
  3. Controleren of versies overeenkomen

U kunt op elk gewenst moment problemen met het upgradeproces oplossen .

Primaire of secundaire releases

Wanneer u een upgrade uitvoert tussen primaire of secundaire releases, bijvoorbeeld van 1.1 naar 1.4, werkt u zowel het beveiligingssubsysteem als de runtimecontainers bij. Vóór een release testen we het beveiligingssubsysteem en de combinatie van runtimecontainerversies. Bijwerken tussen primaire of secundaire productreleases:

  1. Stop IoT Edge op het apparaat met behulp van de opdracht sudo systemctl stop iotedge en verwijder deze.

  2. Voer op het apparaat een upgrade uit van de container-engine, Docker of Moby.

  3. Installeer IoT Edge op het apparaat.

    Als u een oude configuratie importeert met behulp iotedge config importvan, wijzigt u de installatiekopieën [agent.config] van het gegenereerde /etc/aziot/config.toml bestand om de 1.4-installatiekopieën voor edgeAgent te gebruiken.

    Zie IoT Edge-apparaatinstellingen configureren voor meer informatie.

  4. Werk in IoT Hub de module-implementatie bij om te verwijzen naar de nieuwste systeemmodules.

  5. Start de IoT Edge op het apparaat met behulp van sudo iotedge config apply.

U kunt op elk gewenst moment problemen met het upgradeproces oplossen .

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. Zie de stappen verderop in dit artikel: Speciaal geval: Update van 1.0 of 1.1 naar de nieuwste versie voor meer informatie.

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

Bijwerken 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 aziot-edge

IoT Edge bijwerken:

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

Als u het beveiligingssubsysteem uitvoertapt-get install aziot-edge, wordt het beveiligingssubsysteem bijgewerkt en wordt de identiteitsserviceaziot-identity-service geïnstalleerd als een vereiste afhankelijkheid.

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.

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.

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

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.4), hoeft u alleen 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 op het tabblad Modules.

    Screenshot that shows location of the Runtime Settings tab.

  3. Werk in Runtime Instellingen de waarde van de installatiekopieën-URI bij in de sectie Edge Agent met de gewenste versie. Selecteer Toepassen nog niet.

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

  4. Selecteer het tabblad Edge Hub en werk de waarde van de afbeeldings-URI bij met dezelfde gewenste versie.

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

  5. Selecteer Toepassen om wijzigingen op te slaan.

  6. Selecteer Beoordelen en maken, controleer de implementatie zoals weergegeven in het JSON-bestand en selecteer Maken.

Controleren of versies overeenkomen

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

  2. Controleer in de runtime-instellingen voor de implementatie van uw apparaat of de URI-versies van de 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.

Notitie

Werk het IoT Edge-beveiligingssubsysteem en runtimecontainers bij naar dezelfde ondersteunde releaseversie. Hoewel niet-overeenkomende versies worden ondersteund, hebben we niet alle versiecombinaties getest.

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

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 module een geheim opnieuw versleutelt, 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. Ondersteuning voor TLS 1.0 en 1.1 in IoT Hub wordt beschouwd als verouderd en kan in toekomstige releases ook worden verwijderd uit Edge Hub.  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.4. 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 nieuwste IoT Edge-service op uw apparaten wordt uitgevoerd, moet u ook de runtimecontainers bijwerken naar de nieuwste versie. Het updateproces voor runtimecontainers is hetzelfde als het updateproces voor de IoT Edge-service.

Problemen oplossen

U kunt op elk gewenst moment logboeken van uw systeem bekijken door de volgende opdrachten vanaf uw apparaat uit te voeren.

  • Start het oplossen van problemen met behulp van de controleopdracht . Er wordt een verzameling configuratie- en connectiviteitstests uitgevoerd voor veelvoorkomende problemen.

    sudo iotedge check --verbose
    
  • Voer de volgende opdracht uit om de status van het IoT Edge-systeem weer te geven:

    sudo iotedge system status 
    
  • Voer het volgende uit om logboeken van hostonderdelen weer te geven:

    sudo iotedge system logs
    
  • Als u wilt controleren op terugkerende problemen die zijn gerapporteerd met edgeAgent en EdgeHub, voert u het volgende uit:

    Zorg ervoor dat u de naam van uw eigen module vervangt <module> . Als er geen problemen zijn, ziet u geen uitvoer.

    sudo iotedge logs <module>
    

Zie Problemen met uw IoT Edge-apparaat oplossen voor meer informatie.

Volgende stappen

Bekijk de nieuwste Azure IoT Edge-releases.

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