Självstudie om enhetsuppdatering Azure IoT Hub med hjälp av paketagenten på Ubuntu Server 18.04 x64

Enhetsuppdatering för IoT Hub stöder två typer av uppdateringar – avbildningsbaserade och paketbaserade.

Paketbaserade uppdateringar är riktade uppdateringar som endast ändrar en specifik komponent eller ett program på enheten. De leder till lägre bandbreddsförbrukning och hjälper till att minska tiden för att ladda ned och installera uppdateringen. Paketbaserade uppdateringar ger också vanligtvis kortare stilleståndstid för enheter när du tillämpar en uppdatering och undviker kostnaderna för att skapa avbildningar. De använder ett APT-manifest som ger enhetsuppdateringsagenten den information som krävs för att ladda ned och installera de paket som anges i APT-manifestfilen (samt deras beroenden) från en angiven lagringsplats.

Den här självstudiekursen från slutet till slut visar hur du uppdaterar Azure IoT Edge på Ubuntu Server 18.04 x64 med hjälp av paketagenten för enhetsuppdatering. Även om självstudien visar hur IoT Edge, kan du med liknande steg uppdatera andra paket, till exempel containermotorn som används.

Verktygen och begreppen i den här självstudien gäller fortfarande även om du planerar att använda en annan konfiguration av operativsystemplattformen. Slutför den här introduktionen till en uppdateringsprocess från slutet till slut och välj sedan önskad form av uppdatering och OS-plattform för att fördjupa dig i detaljerna.

I den här självstudien får du lära dig hur man

  • Ladda ned och installera enhetsuppdateringsagenten och dess beroenden
  • Lägga till en tagg till din enhet
  • Importera en uppdatering
  • Skapa en enhetsgrupp.
  • Distribuera en paketuppdatering
  • Övervaka uppdateringsdistributionen

Förutsättningar

Förbereda en enhet

Använda knappen Automatiserad distribution till Azure

För enkelhetens skull använder den här självstudien en cloud-init-baserad Azure Resource Manager som hjälper dig att snabbt konfigurera en virtuell Ubuntu 18.04 LTS-dator. Den installerar både Azure IoT Edge-körningen och enhetsuppdateringspaketagenten och konfigurerar sedan automatiskt enheten med etableringsinformation med enhetsanslutningssträngen för en IoT Edge-enhet (krav) som du tillhandahåller. Mallen Azure Resource Manager också behovet av att starta en SSH-session för att slutföra installationen.

  1. Börja genom att klicka på knappen nedan:

    Knappen Distribuera till Azure för iotedge-vm-deploy

  2. I det nyligen uppstartade fönstret fyller du i de tillgängliga formulärfälten:

    Skärmbild med mallen iotedge-vm-deploy

    Prenumeration: Den aktiva Azure-prenumerationen som den virtuella datorn ska distribueras till.

    Resursgrupp: En befintlig eller nyligen skapad resursgrupp som ska innehålla den virtuella datorn och dess associerade resurser.

    DNS-etikettprefix: Ett obligatoriskt värde som du väljer och som används för att prefixet värdnamnet för den virtuella datorn.

    Användarnamn för administratör: Ett användarnamn som kommer att tillhandahållas rotbehörigheter vid distribution.

    Enhetsanslutningssträng: En enhetsanslutningssträng för en enhet som har skapats i den avsedda IoT Hub.

    VM-storlek: Storleken på den virtuella dator som ska distribueras

    Ubuntu OS-version: Den version av Ubuntu OS som ska installeras på den virtuella basdatorn. Lämna standardvärdet oförändrat eftersom det redan är inställt på Ubuntu 18.04-LTS.

    Plats: Den geografiska region som den virtuella datorn ska distribueras till. Standardvärdet är platsen för den valda resursgruppen.

    Autentiseringstyp: Välj sshPublicKey eller lösenord beroende på vad du föredrar.

    Administratörslösenord eller nyckel: Värdet för den offentliga SSH-nyckeln eller värdet för lösenordet beroende på valet av autentiseringstyp.

    När alla fält har fyllts i markerar du kryssrutan längst ned på sidan för att godkänna villkoren och väljer Köp för att påbörja distributionen.

  3. Verifiera att distributionen slutfördes korrekt. Det tar några minuter efter att distributionen är klar för att installationen och konfigurationen ska slutföras IoT Edge och uppdateringsagenten för enhetspaket.

    En VR-resurs bör ha distribuerats till den valda resursgruppen. Anteckna datornamnet som ska ha formatet vm-0000000000000 . Notera även det associerade DNS-namnet, som ska ha formatet <dnsLabelPrefix>.<location>.cloudapp.azure.com.

    DNS-namnet kan hämtas från avsnittet Översikt i den nyligen distribuerade virtuella datorn i Azure-portalen.

    Skärmbild som visar DNS-namnet på den virtuella datorn iotedge

    Tips

    Om du vill använda SSH på den här virtuella datorn efter installationen använder du det associerade DNS-namnet med kommandot : ssh <adminUsername>@<DNS_Name>

(Valfritt) Förbereda en enhet manuellt

I likhet med stegen som automatiseras med cloud-init-skriptetföljer du manuella steg för att installera och konfigurera enheten. De här stegen kan användas för att förbereda en fysisk enhet.

  1. Följ instruktionerna för att installera Azure IoT Edge runtime.

    Anteckning

    Paketagenten för enhetsuppdatering är inte beroende av IoT Edge. Men den förlitar sig på IoT Identity Service-daemonen som installeras med IoT Edge (1.2.0 och senare) för att hämta en identitet och ansluta till IoT Hub.

    Även om det inte tas upp i den här självstudien kan IoT Identity Service-daemon installeras fristående på Linux-baserade IoT-enheter. Installationssekvensen är viktig. Paketagenten för enhetsuppdatering måste installeras efter IoT Identity Service. Annars registreras inte paketagenten som en auktoriserad komponent för att upprätta en anslutning till IoT Hub.

  2. Installera sedan .deb-paketen för enhetsuppdateringsagenten.

    sudo apt-get install deviceupdate-agent deliveryoptimization-plugin-apt 
    

Enhetsuppdatering för Azure IoT Hub programvarupaket omfattas av följande licensvillkor:

Läs licensvillkoren innan du använder ett paket. Din installation och användning av ett paket utgör ditt godkännande av dessa villkor. Om du inte godkänner licensvillkoren ska du inte använda det paketet.

Lägga till en tagg till din enhet

  1. Logga in Azure Portal och gå till IoT Hub.

  2. Från "IoT Edge" i det vänstra navigeringsfönstret, leta upp IoT Edge enhet och navigera till Enhetstvilling eller Modultvilling.

  3. I modultvillingen i enhetsuppdateringsagentmodulen tar du bort alla befintliga taggvärden för Enhetsuppdatering genom att ange dem till null. Om du använder enhetsidentitet med enhetsuppdateringsagenten gör du dessa ändringar på enhetstvillingen.

  4. Lägg till ett nytt taggvärde för Enhetsuppdatering enligt nedan.

    "tags": {
            "ADUGroup": "<CustomTagValue>"
            },

Importera uppdatering

  1. Gå till Enhetsuppdateringsutgå GitHub och klicka på listrutan Tillgångar.

  2. Ladda ned Edge.package.update.samples.zip genom att klicka på den.

  3. Extrahera innehållet i mappen för att identifiera ett APT-exempelmanifest och dess motsvarande importmanifest.

  4. I Azure Portal du alternativet Enhetsuppdateringar under Automatisk Enhetshantering i det vänstra navigeringsfältet i IoT Hub.

  5. Välj fliken Uppdateringar.

  6. Välj "+ Importera ny uppdatering".

  7. Välj mappikonen eller textrutan under "Välj en importmanifestfil". En dialogruta för filväljaren visas. Välj sample-1.0.1-aziot-edge-importManifest.json importmanifestet från mappen som du laddade ned tidigare. Välj sedan mappikonen eller textrutan under "Välj en eller flera uppdateringsfiler". En dialogruta för filväljaren visas. Välj sample-1.0.1-aziot-edge-apt-manifest.json apt-manifestuppdateringsfilen från mappen som du laddade ned tidigare. Den här uppdateringen uppdaterar aziot-identity-service paketen och aziot-edge till version 1.2.0~rc4-1 på enheten.

    Skärmbild som visar val av uppdateringsfil.

  8. Välj mappikonen eller textrutan under "Välj en lagringscontainer". Välj sedan lämpligt lagringskonto.

  9. Om du redan har skapat en container kan du återanvända den. (Annars väljer du "+ Container" för att skapa en ny lagringscontainer för uppdateringar.). Välj den container som du vill använda och klicka på "Välj".

    Skärmbild som visar val av container.

  10. Välj "Skicka" för att starta importen.

  11. Importen börjar och skärmen ändras till avsnittet "Importhistorik". Välj Uppdatera för att visa förloppet tills importen har slutförts. Beroende på uppdateringens storlek kan importen slutföras inom några minuter, men det kan ta längre tid.

    Skärmbild som visar uppdateringsimportsekvensen.

  12. När kolumnen Status visar att importen har lyckats väljer du rubriken "Redo att distribuera". Nu bör du se den importerade uppdateringen i listan.

Läs mer om att importera uppdateringar.

Skapa uppdateringsgrupp

  1. Gå till den IoT Hub du tidigare har anslutit till instansen för enhetsuppdatering.

  2. Välj alternativet Enhetsuppdateringar under Automatisk Enhetshantering i det vänstra navigeringsfältet.

  3. Välj fliken Grupper överst på sidan.

  4. Välj knappen Lägg till för att skapa en ny grupp.

  5. Välj taggen IoT Hub du skapade i föregående steg i listan. Välj Skapa uppdateringsgrupp.

    Skärmbild som visar val av tagg.

Läs mer om att lägga till taggar och skapa uppdateringsgrupper

Distribuera uppdatering

  1. När gruppen har skapats bör du se en ny uppdatering som är tillgänglig för enhetsgruppen, med en länk till uppdateringen i kolumnen Tillgängliga uppdateringar. Du kan behöva uppdatera en gång.

  2. Klicka på länken till den tillgängliga uppdateringen.

  3. Bekräfta att rätt grupp har valts som målgrupp och schemalägg distributionen

    Välj uppdatera

    Tips

    Som standard är Startdatum/tid 24 timmar från din aktuella tid. Se till att välja ett annat datum/tid om du vill att distributionen ska börja tidigare.

  4. Välj Distribuera uppdatering.

  5. Visa kompatibilitetsdiagrammet. Du bör nu se att uppdateringen pågår.

    Uppdateringen pågår

  6. När enheten har uppdaterats bör du se att kompatibilitetsdiagrammet och distributionsinformationen uppdateras för att återspegla samma.

    Uppdateringen lyckades

Övervaka en uppdateringsdistribution

  1. Välj fliken Distributioner överst på sidan.

    Fliken Distributioner

  2. Välj den distribution som du skapade för att visa distributionsinformationen.

    Distributionsinformation

  3. Välj Uppdatera för att visa den senaste statusinformationen. Fortsätt med den här processen tills statusen ändras till Lyckades.

Nu har du slutfört en lyckad paketuppdatering från slutet till slut med enhetsuppdatering för IoT Hub på en Ubuntu Server 18.04 x64-enhet.

Rensa resurser

När enheten inte längre behövs kan du rensa ditt enhetsuppdateringskonto, instans, IoT Hub och IoT Edge enhet (om du har skapat den virtuella datorn via knappen Distribuera till Azure). Du kan göra det genom att gå till varje enskild resurs och välja "Ta bort". Du måste rensa en instans av enhetsuppdateringen innan du rensar kontot för enhetsuppdatering.

Nästa steg