Uppdatera IoT Edge

Gäller för:IoT Edge 1.4 checkmark IoT Edge 1.4

Viktigt!

IoT Edge 1.4 är den version som stöds. Om du har en tidigare version läser du Uppdatera IoT Edge.

När IoT Edge-tjänsten släpper nya versioner uppdaterar du dina IoT Edge enheter för de senaste funktionerna och säkerhetsförbättringarna. Den här artikeln innehåller information om hur du uppdaterar dina IoT Edge-enheter när en ny version är tillgänglig.

Två logiska komponenter i en IoT Edge-enhet måste uppdateras om du vill flytta till en nyare version.

  • Säkerhetsundersystem – Även om arkitekturen för säkerhetsundersystemet ändrades mellan version 1.1 och 1.2 förblev dess ansvar densamma. Den körs på enheten, hanterar säkerhetsbaserade uppgifter och startar modulerna när enheten startar. Säkerhetsundersystemet kan bara uppdateras från själva enheten.

  • IoT Edge-körning – IoT Edge-körningen består av modulerna IoT Edge-hubb (edgeHub) och IoT Edge-agent (edgeAgent). Beroende på hur du strukturerar distributionen kan körningen uppdateras från antingen enheten eller via fjärranslutning.

Uppdatera

Använd avsnitten i den här artikeln för att uppdatera både säkerhetsundersystemet och körningscontainrarna på en enhet.

Korrigeringsversioner

När du uppgraderar mellan korrigeringsversioner , till exempel 1.4.1 till 1.4.2, är uppdateringsordningen inte viktig. Du kan uppgradera säkerhetsundersystemet eller körningscontainrarna före eller efter det andra. Så här uppdaterar du mellan uppdateringsversioner:

  1. Uppdatera säkerhetsundersystemet
  2. Uppdatera körningscontainrarna
  3. Kontrollera att versionerna matchar

Du kan felsöka uppgraderingsprocessen när som helst.

Större eller mindre versioner

När du uppgraderar mellan större eller mindre versioner, till exempel från 1.1 till 1.4, uppdaterar du både säkerhetsundersystemet och körningscontainrarna. Innan en version testar vi säkerhetsundersystemet och kombinationen av körningscontainerns version. Så här uppdaterar du mellan större eller mindre produktversioner:

  1. På enheten stoppar du IoT Edge med kommandot sudo systemctl stop iotedge och avinstallerar.

  2. Uppgradera containermotorn på enheten, antingen Docker eller Moby.

  3. Installera IoT Edge på enheten.

    Om du importerar en gammal konfiguration med ändrar iotedge config importdu [agent.config]-avbildningen av den genererade /etc/aziot/config.toml filen så att 1.4-avbildningen används för edgeAgent.

    Mer information finns i Konfigurera enhetsinställningar för IoT Edge.

  4. I IoT Hub uppdaterar du moduldistributionen så att den refererar till de senaste systemmodulerna.

  5. Starta IoT Edge på enheten med .sudo iotedge config apply

Du kan felsöka uppgraderingsprocessen när som helst.

Uppdatera säkerhetsundersystemet

IoT Edge-säkerhetsundersystemet innehåller en uppsättning inbyggda komponenter som måste uppdateras med hjälp av pakethanteraren på IoT Edge-enheten.

Kontrollera vilken version av säkerhetsundersystemet som körs på enheten med hjälp av kommandot iotedge version. Om du använder IoT Edge för Linux i Windows måste du SSH till den virtuella Linux-datorn för att kontrollera versionen.

Viktigt!

Om du uppdaterar en enhet från version 1.0 eller 1.1 till den senaste versionen finns det skillnader i installation och konfigurationsprocesser som kräver extra steg. Mer information finns i stegen senare i den här artikeln: Specialfall: Uppdatera från 1.0 eller 1.1 till den senaste versionen.

På Linux x64-enheter använder apt-get du eller din lämpliga pakethanterare för att uppdatera säkerhetsundersystemet till den senaste versionen.

Uppdatera apt:

sudo apt-get update

Kommentar

Anvisningar för att hämta den senaste lagringsplatsens konfiguration från Microsoft finns i de preliminära stegen för att installera IoT Edge.

Kontrollera vilka versioner av IoT Edge som är tillgängliga:

apt list -a aziot-edge

Uppdatera IoT Edge:

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

När du kör apt-get install aziot-edge uppgraderas säkerhetsundersystemet och identitetstjänsten installeras som aziot-identity-serviceett obligatoriskt beroende.

Vi rekommenderar att du installerar mikroagenten med Edge-agenten för att aktivera säkerhetsövervakning och härdning av dina Edge-enheter. Mer information om Microsoft Defender för IoT finns i Vad är Microsoft Defender för IoT för enhetsbyggare?

Använd sedan konfigurationen igen för att säkerställa att systemet uppdateras fullständigt.

sudo iotedge config apply

Uppdatera körningscontainrarna

Hur du uppdaterar IoT Edge-agenten och IoT Edge-hubbcontainrarna beror på om du använder rullande taggar (t.ex. 1.1) eller specifika taggar (t.ex. 1.1.1) i distributionen.

Kontrollera vilken version av IoT Edge-agenten och IoT Edge-hubbmodulerna som för närvarande finns på enheten med hjälp av kommandona iotedge logs edgeAgent eller iotedge logs edgeHub. Om du använder IoT Edge för Linux i Windows måste du SSH till den virtuella Linux-datorn för att kontrollera körningsmodulversionerna.

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

Förstå IoT Edge-taggar

IoT Edge-agenten och IoT Edge-hubbens avbildningar taggas med den IoT Edge-version som de är associerade med. Det finns två olika sätt att använda taggar med körningsavbildningarna:

  • Rullande taggar – Använd endast de två första värdena i versionsnumret för att hämta den senaste bilden som matchar dessa siffror. Till exempel uppdateras 1.1 när det finns en ny version som pekar på den senaste 1.1.x-versionen. Om containerkörningen på IoT Edge-enheten hämtar avbildningen igen uppdateras runtime-modulerna till den senaste versionen. Distributioner från Azure-portalen är standard för löpande taggar. Den här metoden föreslås i utvecklingssyfte.

  • Specifika taggar – Använd alla tre värdena i versionsnumret för att uttryckligen ange avbildningsversionen. Till exempel ändras inte 1.1.0 efter den första versionen. Du kan deklarera ett nytt versionsnummer i distributionsmanifestet när du är redo att uppdatera. Den här metoden föreslås i produktionssyfte.

Uppdatera en rullande taggbild

Om du använder löpande taggar i distributionen (till exempel mcr.microsoft.com/azureiotedge-hub:1.1) måste du tvinga containerkörningen på enheten att hämta den senaste versionen av avbildningen.

Ta bort den lokala versionen av avbildningen från din IoT Edge-enhet. Om du avinstallerar säkerhetsundersystemet på Windows-datorer tas även körningsavbildningarna bort, så du behöver inte ta det här steget igen.

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

Du kan behöva använda force-flaggan -f för att ta bort bilderna.

IoT Edge-tjänsten hämtar de senaste versionerna av körningsavbildningarna och startar dem automatiskt på enheten igen.

Uppdatera en specifik taggbild

Om du använder specifika taggar i distributionen (till exempel mcr.microsoft.com/azureiotedge-hub:1.4) behöver du bara uppdatera taggen i distributionsmanifestet och tillämpa ändringarna på enheten.

  1. I IoT Hub i Azure-portalen väljer du din IoT Edge-enhet och väljer Ange moduler.

  2. På fliken Moduler väljer du Körtid Inställningar.

    Screenshot that shows location of the Runtime Settings tab.

  3. I Runtime Inställningar uppdaterar du värdet för avbildnings-URIi avsnittet Edge Agent med önskad version. Välj inte Använd ännu.

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

  4. Välj fliken Edge Hub och uppdatera URI-värdet för avbildning med samma önskade version.

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

  5. Välj Använd för att spara ändringar.

  6. Välj Granska + skapa, granska distributionen enligt JSON-filen och välj Skapa.

Kontrollera att versionerna matchar

  1. På enheten använder du iotedge version för att kontrollera säkerhetsundersystemversionen. Utdata innehåller versionsnummer för huvudversioner, delversioner och revisioner. Till exempel iotedge 1.4.2.

  2. I inställningarna för enhetsdistributionskörning kontrollerar du att URI-versionerna för edgeHub - och edgeAgent-avbildningen matchar huvud- och delversionen av säkerhetsundersystemet. Om säkerhetsundersystemversionen är 1.4.2 blir avbildningsversionerna 1.4. Till exempel mcr.microsoft.com/azureiotedge-hub:1.4 och mcr.microsoft.com/azureiotedge-agent:1.4.

Kommentar

Uppdatera IoT Edge-säkerhetsundersystemet och körningscontainrarna till samma version som stöds. Även om felmatchade versioner stöds har vi inte testat alla versionskombinationer.

Information om hur du hittar den senaste versionen av Azure IoT Edge finns i Azure IoT Edge-versioner.

Specialfall: Uppdatera från 1.0 eller 1.1 till den senaste versionen

Från och med version 1.2 använder IoT Edge-tjänsten ett nytt paketnamn och har vissa skillnader i installation och konfigurationsprocesser. Om du har en IoT Edge-enhet som kör version 1.0 eller 1.1 använder du dessa instruktioner för att lära dig hur du uppdaterar till den senaste versionen.

Några av de viktigaste skillnaderna mellan den senaste versionen och version 1.1 och tidigare är:

  • Paketnamnet har ändrats från iotedge till aziot-edge.
  • Libiothsm-std-paketet används inte längre. Om du använde standardpaketet som tillhandahålls som en del av IoT Edge-versionen kan dina konfigurationer överföras till den nya versionen. Om du har använt en annan implementering av libiothsm-std måste eventuella användartilldelade certifikat som enhetsidentitetscertifikatet, enhetscertifikatutfärdare och förtroendepaket konfigureras om.
  • En ny identitetstjänst, aziot-identity-service , introducerades som en del av 1.2-versionen. Den här tjänsten hanterar identitetsetablering och hantering för IoT Edge och för andra enhetskomponenter som behöver kommunicera med IoT Hub, till exempel Enhetsuppdatering för IoT Hub.
  • Standardkonfigurationsfilen har ett nytt namn och en ny plats. /etc/iotedge/config.yamlTidigare förväntas enhetens konfigurationsinformation nu vara i /etc/aziot/config.toml som standard. Kommandot iotedge config import kan användas för att migrera konfigurationsinformation från den gamla platsen och syntaxen till den nya.
    • Importkommandot kan inte identifiera eller ändra åtkomstregler till en enhets betrodda plattformsmodul (TPM). Om enheten använder TPM-attestering måste du manuellt uppdatera filen /etc/udev/rules.d/tpmaccess.rules för att ge åtkomst till aziottpm-tjänsten. Mer information finns i Ge IoT Edge åtkomst till TPM.
  • Arbetsbelastnings-API:et i den senaste versionen sparar krypterade hemligheter i ett nytt format. Om du uppgraderar från en äldre version till den senaste versionen importeras den befintliga huvudkrypteringsnyckeln . Arbetsbelastnings-API:et kan läsa hemligheter som sparats i tidigare format med hjälp av den importerade krypteringsnyckeln. Arbetsbelastnings-API:et kan dock inte skriva krypterade hemligheter i det gamla formatet. När en modul krypterar om en hemlighet sparas den i det nya formatet. Hemligheter som krypterats i den senaste versionen kan inte läsas av samma modul i version 1.1. Om du bevarar krypterade data till en värdmonterad mapp eller volym skapar du alltid en säkerhetskopia av data innan du uppgraderar för att behålla möjligheten att nedgradera om det behövs.
  • För bakåtkompatibilitet när du ansluter enheter som inte stöder TLS 1.2 kan du konfigurera Edge Hub att fortfarande acceptera TLS 1.0 eller 1.1 via miljövariabeln SslProtocols. Stöd för TLS 1.0 och 1.1 i IoT Hub anses vara äldre och kan också tas bort från Edge Hub i framtida versioner.  Undvik framtida problem genom att använda TLS 1.2 som den enda TLS-versionen när du ansluter till Edge Hub eller IoT Hub.
  • Förhandsversionen av den experimentella MQTT-koordinatorn i Edge Hub 1.2 har avslutats och ingår inte i Edge Hub 1.4. Vi fortsätter att förfina våra planer för en MQTT-mäklare baserat på feedback som mottagits. Om du behöver en standardkompatibel MQTT-koordinator på IoT Edge kan du under tiden överväga att distribuera en asynkron meddelandekö med öppen källkod som Mosquitto som en IoT Edge-modul.
  • Från och med version 1.2, när en bakgrundsavbildning tas bort från en container, fortsätter containern att köras och den bevaras vid omstarter. I 1.1, när en bakgrundsavbildning tas bort, återskapas containern omedelbart och bakgrundsavbildningen uppdateras.

Innan du automatiserar några uppdateringsprocesser kontrollerar du att det fungerar på testdatorer.

När du är klar följer du de här stegen för att uppdatera IoT Edge på dina enheter:

  1. Uppdatera apt.

    sudo apt-get update
    
  2. Avinstallera den tidigare versionen av IoT Edge och lämna konfigurationsfilerna på plats.

    sudo apt-get remove iotedge
    
  3. Installera den senaste versionen av IoT Edge, tillsammans med IoT-identitetstjänsten och Microsoft Defender för IoT-mikroagenten för Edge.

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

Vi rekommenderar att du installerar mikroagenten med Edge-agenten för att aktivera säkerhetsövervakning och härdning av dina Edge-enheter. Mer information om Microsoft Defender för IoT finns i Vad är Microsoft Defender för IoT för enhetsbyggare?

  1. Importera den gamla filen config.yaml till det nya formatet och använd konfigurationsinformationen.

    sudo iotedge config import
    

Nu när den senaste IoT Edge-tjänsten körs på dina enheter måste du också uppdatera körningscontainrarna till den senaste versionen. Uppdateringsprocessen för runtime-containrar är densamma som uppdateringsprocessen för IoT Edge-tjänsten.

Felsökning

Du kan visa loggar i systemet när som helst genom att köra följande kommandon från enheten.

  • Börja felsöka med hjälp av kommandot check . Den kör en samling konfigurations- och anslutningstester för vanliga problem.

    sudo iotedge check --verbose
    
  • Om du vill visa status för IoT Edge-systemet kör du:

    sudo iotedge system status 
    
  • Om du vill visa värdkomponentloggar kör du:

    sudo iotedge system logs
    
  • Om du vill söka efter återkommande problem som rapporterats med edgeAgent och edgeHub kör du:

    Ersätt <module> med ditt eget modulnamn. Om det inte finns några problem visas inga utdata.

    sudo iotedge logs <module>
    

Mer information finns i Felsöka din IoT Edge-enhet.

Nästa steg

Visa de senaste Versionerna av Azure IoT Edge.

Håll dig uppdaterad med de senaste uppdateringarna och meddelandena i Sakernas Internet-blogg