Självstudie: Enhetsuppdatering för Azure IoT Hub med paketagenten på Ubuntu Server 22.04 x64
Enhetsuppdatering för Azure IoT Hub stöder avbildningsbaserade, paketbaserade och skriptbaserade uppdateringar.
Paketbaserade uppdateringar är riktade uppdateringar som bara ändrar en specifik komponent eller ett visst program på enheten. De leder till lägre bandbreddsförbrukning och minskar tiden för att ladda ned och installera uppdateringen. Paketbaserade uppdateringar tillåter vanligtvis också mindre stilleståndstid för enheter när du tillämpar en uppdatering och undviker att skapa avbildningar. De använder ett APT-manifest som ger enhetsuppdateringsagenten den information som krävs för att ladda ned och installera paketen som anges i APT-manifestfilen (och deras beroenden) från en utsedd lagringsplats.
Den här självstudien beskriver hur du uppdaterar Azure IoT Edge på Ubuntu Server 22.04 x64 med hjälp av enhetsuppdateringspaketagenten. Även om självstudien visar hur du installerar Microsoft Defender för IoT kan du med hjälp av liknande steg uppdatera andra paket, till exempel själva IoT Edge eller 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 operativsystemplattformskonfiguration. Slutför den här introduktionen till en uppdateringsprocess från slutpunkt till slutpunkt. Välj sedan önskad form av uppdatering av en OS-plattform för att gå in på informationen.
I den här självstudien får du lära dig att:
- Ladda ned och installera enhetsuppdateringsagenten och dess beroenden.
- Lägg till en tagg på enheten.
- Importera en uppdatering.
- Distribuera en paketuppdatering.
- Övervaka uppdateringsdistributionen.
Förutsättningar
Om du inte redan har gjort det skapar du ett konto och en instans för enhetsuppdatering. Konfigurera en IoT-hubb.
Du behöver anslutningssträng för en IoT Edge-enhet.
Om du använde självstudiekursen för Simulator-agenten för tidigare testning kör du följande kommando för att anropa APT-hanteraren och distribuera uppdateringar av over-the-air-paket i den här självstudien:
sudo /usr/bin/AducIotAgent --register-content-handler /var/lib/adu/extensions/sources/libmicrosoft_apt_1.so --update-type 'microsoft/apt:1'
Förbereda en enhet
Använd knappen Distribuera till Azure automatiskt
För enkelhetens skull använder den här självstudien en molnbaserad Azure Resource Manager-mall som hjälper dig att snabbt konfigurera en virtuell Ubuntu 22.04 LTS-dator (virtuell dator). Den installerar både Azure IoT Edge-körningen och enhetsuppdateringspaketagenten. Sedan konfigureras enheten automatiskt med etableringsinformation med hjälp av enheten anslutningssträng för en IoT Edge-enhet (krav) som du anger. Resource Manager-mallen undviker också behovet av att starta en SSH-session för att slutföra installationen.
Börja genom att välja knappen:
Fyll i de tillgängliga textrutorna:
- 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.
- Region: Den geografiska region som den virtuella datorn ska distribueras till. Det här värdet är som standard platsen för den valda resursgruppen.
- DNS-etikettprefix: Ett obligatoriskt värde som du väljer som används för att prefixera värdnamnet för den virtuella datorn.
- Administratörsanvändarnamn: Ett användarnamn som ges rotprivilegier vid distribution.
- Enhetsanslutningssträng: En enhet anslutningssträng för en enhet som skapades i din avsedda IoT-hubb.
- VM-storlek: Storleken på den virtuella dator som ska distribueras.
- Ubuntu OS-version: Den version av Ubuntu-operativsystemet som ska installeras på den virtuella basdatorn. Lämna standardvärdet oförändrat eftersom det redan är inställt på Ubuntu 22.04-LTS.
- Autentiseringstyp: Välj sshPublicKey eller lösenord baserat på dina önskemål.
- Administratörslösenord eller nyckel: Värdet för den offentliga SSH-nyckeln eller värdet för lösenordet baserat på valet av autentiseringstyp.
När alla rutor har fyllts i markerar du kryssrutan längst ned på sidan för att acceptera villkoren. Välj Köp för att påbörja distributionen.
Kontrollera att distributionen har slutförts. Tillåt några minuter efter att distributionen har slutförts för efterinstallationen och konfigurationen för att slutföra installationen av IoT Edge och enhetspaketuppdateringsagenten.
En virtuell datorresurs ska distribueras till den valda resursgruppen. Observera datornamnet, som är i formatet
vm-0000000000000
. Observera även det associerade DNS-namnet, som är i formatet<dnsLabelPrefix>
.<location>
. cloudapp.azure.com.Du kan hämta DNS-namnet från avsnittet Översikt för den nyligen distribuerade virtuella datorn i Azure Portal.
Dricks
Om du vill SSH till den här virtuella datorn efter installationen använder du det associerade DNS-namnet med följande kommando:
ssh <adminUsername>@<DNS_Name>
.Installera enhetsuppdateringsagenten på den virtuella datorn.
sudo apt-get install deviceupdate-agent
Öppna konfigurationsinformationen (Se hur du konfigurerar konfigurationsfilen här med kommandot nedan. Ange din connectionType som "AIS" och connectionData som tom sträng. Observera att alla värden med taggen "Placera värde här" måste anges. Se Konfigurera en enhetsuppdateringsagent.
sudo nano /etc/adu/du-config.json
Starta om enhetsuppdateringsagenten.
sudo systemctl restart deviceupdate-agent
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 på enheten
Logga in på Azure Portal och gå till IoT-hubben.
I den vänstra rutan, under Enheter, hittar du din IoT Edge-enhet och går till enhetstvillingen eller modultvillingen.
Ta bort alla befintliga taggvärden för enhetsuppdatering i modultvillingen för enhetsuppdateringsagenten genom att ställa in dem på null. Om du använder Enhetsidentitet med enhetsuppdateringsagenten gör du dessa ändringar på enhetstvillingen.
Lägg till ett nytt taggvärde för enhetsuppdatering enligt följande:
"tags": { "ADUGroup": "<CustomTagValue>" },
Den här skärmbilden visar avsnittet där taggen måste läggas till i tvillingen.
Importera uppdateringen
Gå till Enhetsuppdateringsversioner i GitHub och välj listrutan Tillgångar . Ladda ned
Tutorial_IoTEdge_PackageUpdate.zip
genom att välja den. Extrahera innehållet i mappen för att identifiera ett APT-exempelmanifest (sample-defender-iot-apt-manifest.json) och dess motsvarande importmanifest (sample-defender-iot--importManifest.json).Logga in på Azure Portal och gå till din IoT-hubb med Enhetsuppdatering. I den vänstra rutan går du till Automatisk Enhetshantering och väljer Uppdateringar.
Välj fliken Uppdateringar .
Välj + Importera ny uppdatering.
Välj + Välj från lagringscontainer. Välj ett befintligt konto eller skapa ett nytt konto med hjälp av + Lagringskonto. Välj sedan en befintlig container eller skapa en ny container med hjälp av + Container. Den här containern används för att mellanlagra dina uppdateringsfiler för import.
Kommentar
Vi rekommenderar att du använder en ny container varje gång du importerar en uppdatering för att undvika att oavsiktligt importera filer från tidigare uppdateringar. Om du inte använder en ny container måste du ta bort filer från den befintliga containern innan du slutför det här steget.
I containern väljer du Ladda upp och går till de filer som du laddade ned i steg 1. När du har valt alla uppdateringsfiler väljer du Ladda upp. Välj sedan knappen Välj för att återgå till sidan Importera uppdatering .
Den här skärmbilden visar importsteget. Filnamn kanske inte matchar de som används i exemplet.
På sidan Importera uppdatering granskar du de filer som ska importeras. Välj sedan Importera uppdatering för att starta importprocessen.
Importen börjar och skärmen växlar till avsnittet Importhistorik . När kolumnen Status anger att importen lyckades väljer du rubriken Tillgängliga uppdateringar. Du bör nu se den importerade uppdateringen i listan.
Mer information om importprocessen finns i Importera en uppdatering till Enhetsuppdatering.
Visa enhetsgrupper
Enhetsuppdatering använder grupper för att organisera enheter. Enhetsuppdatering sorterar automatiskt enheter i grupper baserat på deras tilldelade taggar och kompatibilitetsegenskaper. Varje enhet tillhör bara en grupp, men grupper kan ha flera undergrupper för att sortera olika enhetsklasser.
Gå till fliken Grupper och distributioner överst på sidan.
Visa listan över grupper och uppdateringskompatibilitetsdiagrammet. Diagrammet för uppdateringsefterlevnad visar antalet enheter i olika efterlevnadstillstånd: Vid den senaste uppdateringen, Nya uppdateringar som är tillgängliga och Uppdateringar pågår. Läs mer om uppdateringsefterlevnad.
Du bör se en enhetsgrupp som innehåller den simulerade enhet som du konfigurerade i den här självstudien tillsammans med eventuella tillgängliga uppdateringar för enheterna i den nya gruppen. Om det finns enheter som inte uppfyller enhetens klasskrav för gruppen visas de i en motsvarande ogiltig grupp. Om du vill distribuera den bästa tillgängliga uppdateringen till den nya användardefinierade gruppen i den här vyn väljer du Distribuera bredvid gruppen.
Mer information om taggar och grupper finns i Hantera enhetsgrupper.
Distribuera uppdateringen
När gruppen har skapats bör du se en ny uppdatering som är tillgänglig för din enhetsgrupp med en länk till uppdateringen under Bästa uppdatering. Du kan behöva uppdatera en gång.
Mer information om efterlevnad finns i Enhetsuppdateringsefterlevnad.
Välj målgruppen genom att välja gruppnamnet. Du dirigeras till gruppinformationen under Grunderna för grupp.
Om du vill initiera distributionen går du till fliken Aktuell distribution. Välj distributionslänken bredvid önskad uppdatering i avsnittet Tillgängliga uppdateringar. Den bästa tillgängliga uppdateringen för en viss grupp anges med en bästa markering.
Schemalägg distributionen så att den startar omedelbart eller i framtiden. Välj sedan Skapa.
Dricks
Som standard är startdatum och tid 24 timmar från den aktuella tiden. Se till att välja ett annat datum och en annan tid om du vill att distributionen ska börja tidigare.
Under Distributionsinformation övergår Status till Aktiv. Den distribuerade uppdateringen är markerad med (distribution).
Visa efterlevnadsdiagrammet för att se att uppdateringen pågår.
När enheten har uppdaterats ser du att efterlevnadsdiagrammet och distributionsinformationen uppdateras för att återspegla samma sak.
Övervaka uppdateringsdistributionen
Välj fliken Distributionshistorik överst på sidan.
Välj informationslänken bredvid den distribution som du skapade.
Välj Uppdatera för att visa den senaste statusinformationen.
Nu har du slutfört en lyckad paketuppdatering från slutpunkt till slutpunkt med hjälp av Enhetsuppdatering för IoT Hub på en Ubuntu Server 22.04 x64-enhet.
Rensa resurser
När det inte längre behövs rensar du ditt enhetsuppdateringskonto, din instans och IoT Hub. Rensa även IoT Edge-enheten om du skapade den virtuella datorn via knappen Distribuera till Azure . Om du vill rensa resurser går du till varje enskild resurs och väljer Ta bort. Rensa en enhetsuppdateringsinstans innan du rensar enhetsuppdateringskontot.