Apparaatupdate voor Azure IoT Hub met behulp van de pakketagent op Ubuntu Server 18.04 x64

Apparaatupdate voor IoT Hub ondersteunt twee soorten updates: op basis van afbeeldingen en op basis van pakketten.

Updates op basis van pakketten zijn gerichte updates die alleen een specifiek onderdeel of specifieke toepassing op het apparaat wijzigen. Ze leiden tot een lager verbruik van bandbreedte en verminderen de tijd die nodig is om de update te downloaden en te installeren. Updates op basis van pakketten zorgen doorgaans ook voor minder downtime van apparaten bij het toepassen van een update en voorkomen de overhead van het maken van afbeeldingen. Ze gebruiken een APT-manifest dat de Agent voor apparaatupdates voorziet van de informatie die nodig is voor het downloaden en installeren van de pakketten die zijn opgegeven in het APT-manifestbestand (evenals hun afhankelijkheden) van een aangewezen opslagplaats.

In deze end-to-end zelfstudie wordt u door het bijwerken van Azure IoT Edge op Ubuntu Server 18.04 x64 met behulp van de device update-pakketagent. Hoewel in de zelfstudie wordt gedemonstreerd hoe IoT Edge bijwerken, kunt u met behulp van vergelijkbare stappen andere pakketten bijwerken, zoals de container-engine die wordt gebruikt.

De hulpprogramma's en concepten in deze zelfstudie zijn nog steeds van toepassing, zelfs als u van plan bent een andere platformconfiguratie voor het besturingssysteem te gebruiken. Voltooi deze inleiding tot een end-to-end-updateproces en kies vervolgens de gewenste vorm van bijwerken en besturingssysteemplatform om de details te bekijken.

In deze zelfstudie leert u het volgende:

  • De Agent voor apparaatupdates en de afhankelijkheden ervan downloaden en installeren
  • Een tag toevoegen aan uw apparaat
  • Een update importeren
  • Een apparaatgroep maken
  • Een pakketupdate implementeren
  • De update-implementatie bewaken

Vereisten

Een apparaat voorbereiden

De knop Automated Deploy to Azure gebruiken

Voor het gemak wordt in deze zelfstudie een cloud-init-sjabloon Azure Resource Manager gebruikt om snel een virtuele Ubuntu 18.04 LTS-machine in te stellen. Het installeert zowel de Azure IoT Edge-runtime als de device update-pakketagent en configureert vervolgens automatisch het apparaat met inrichtingsgegevens met behulp van het apparaat-connection string voor een IoT Edge-apparaat (vereiste) dat u oplevert. De Azure Resource Manager voorkomt ook dat u een SSH-sessie moet starten om de installatie te voltooien.

  1. Klik op de onderstaande knop om te beginnen:

    De knop Implementeren naar Azure voor iotedge-vm-deploy

  2. Vul in het zojuist geopende venster de beschikbare formuliervelden in:

    Schermopname van de sjabloon iotedge-vm-deploy

    Abonnement: het actieve Azure-abonnement om de virtuele machine in te implementeren.

    Resourcegroep: een bestaande of nieuwe resourcegroep die de virtuele machine en de bijbehorende resources bevat.

    DNS-label voorvoegsel: een vereiste waarde van uw keuze die wordt gebruikt om de hostnaam van de virtuele machine als voorvoegsel te geven.

    Gebruikersnaam van beheerder: een gebruikersnaam, die rootbevoegdheden krijgt bij de implementatie.

    Apparaatverbindingsreeks: een apparaat connection string een apparaat dat is gemaakt binnen de beoogde IoT Hub.

    VM-grootte: de grootte van de virtuele machine die moet worden geïmplementeerd

    Versie van het Ubuntu-besturingssysteem: de versie van het Ubuntu-besturingssysteem dat moet worden geïnstalleerd op de virtuele basismachine. Laat de standaardwaarde ongewijzigd omdat deze al wordt ingesteld op Ubuntu 18.04-LTS.

    Locatie: de geografische regio waar de virtuele machine in moet worden geïmplementeerd. Deze waarde wordt standaard ingesteld op de locatie van de geselecteerde resourcegroep.

    Verificatietype: kies sshPublicKey of wachtwoord, afhankelijk van uw voorkeur.

    Beheerderswachtwoord of -sleutel: de waarde van de openbare SSH-sleutel of de waarde van het wachtwoord, afhankelijk van de gekozen verificatietype.

    Wanneer alle velden zijn ingevuld, selecteert u het selectievakje onder aan de pagina om de voorwaarden te accepteren en selecteert u Kopen om te beginnen met de implementatie.

  3. Controleer of de implementatie correct is voltooid. Enkele minuten nadat de implementatie is voltooid, kan de installatie van de IoT Edge en de updateagent voor apparaatpakketten worden voltooid.

    Er moet een virtuele-machineresource zijn geïmplementeerd in de geselecteerde resourcegroep. Noteer de computernaam die de notatie moet vm-0000000000000 hebben. Noteer ook de bijbehorende DNS-naam, die de indeling <dnsLabelPrefix>``<location>.cloudapp.azure.com moet hebben.

    De DNS-naam kan worden verkregen in het gedeelte Overzicht van de zojuist geïmplementeerde virtuele machine in Azure Portal.

    Schermopname van de DNS-naam van de iotedge-VM

    Tip

    Als u na de installatie SSH wilt gebruiken in deze VM, gebruikt u de bijbehorende DNS-naam met de opdracht : ssh <adminUsername>@<DNS_Name>

(Optioneel) Een apparaat handmatig voorbereiden

Net als bij de stappen die door het cloud-init-scriptworden geautomatiseerd, volgen hier handmatige stappen voor het installeren en configureren van het apparaat. Deze stappen kunnen worden gebruikt om een fysiek apparaat voor te bereiden.

  1. Volg de instructies om de runtime Azure IoT Edge installeren.

    Notitie

    De apparaatupdatepakketagent is niet afhankelijk van IoT Edge. Maar het is wel afhankelijk van de IoT Identity Service-daemon die is geïnstalleerd met IoT Edge (1.2.0 en hoger) om een identiteit te verkrijgen en verbinding te maken met IoT Hub.

    Hoewel dit niet in deze zelfstudie wordt behandeld, kan de IoT Identity Service-daemonzelfstandig worden geïnstalleerd op Linux-IoT-apparaten. De volgorde van de installatie is van belang. De apparaatupdatepakketagent moet na de IoT Identity Service zijn geïnstalleerd. Anders wordt de pakketagent niet geregistreerd als een geautoriseerd onderdeel om verbinding te maken met IoT Hub.

  2. Installeer vervolgens de .deb-pakketten van de Device Update-agent.

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

Voor apparaatupdates Azure IoT Hub-softwarepakketten gelden de volgende licentievoorwaarden:

Lees de licentievoorwaarden voordat u een pakket gebruikt. Uw installatie en gebruik van een pakket vormt uw acceptatie van deze voorwaarden. Als u niet akkoord gaat met de licentievoorwaarden, gebruikt u dat pakket niet.

Een tag toevoegen aan uw apparaat

  1. Meld u aan Azure Portal en navigeer naar de IoT Hub.

  2. Zoek in IoT Edge navigatiedeelvenster aan de linkerkant uw IoT Edge apparaat en navigeer naar de apparaat dubbel of module dubbel.

  3. Verwijder in de module Module twin van de module Device Update-agent een bestaande waarde voor de Device Update-tag door deze in te stellen op null. Als u Apparaat-id gebruikt met de Agent voor apparaatupdates, moet u deze wijzigingen aanbrengen op de apparaat dubbel.

  4. Voeg een nieuwe waarde voor de tag Apparaatupdate toe, zoals hieronder wordt weergegeven.

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

Update importeren

  1. Ga naar Releases van apparaatupdates in GitHub klik op de vervolgkeuzepagina Assets.

  2. Download de Edge.package.update.samples.zip door erop te klikken.

  3. Extraheer de inhoud van de map om een APT-voorbeeldmanifest en het bijbehorende importmanifest te ontdekken.

  4. Selecteer Azure Portal de optie Apparaatupdates onder Automatisch apparaatbeheer in de linkernavigatiebalk in uw IoT Hub.

  5. Selecteer het tabblad Updates.

  6. Selecteer +Nieuwe update importeren.

  7. Selecteer het mappictogram of het tekstvak onder 'Selecteer een manifestbestand importeren'. U ziet een dialoogvenster voor het kiezen van bestanden. Selecteer het sample-1.0.1-aziot-edge-importManifest.json importmanifest in de map die u eerder hebt gedownload. Selecteer vervolgens het mappictogram of het tekstvak onder Een of meer updatebestanden selecteren. U ziet een dialoogvenster voor het kiezen van bestanden. Selecteer het sample-1.0.1-aziot-edge-apt-manifest.json apt-manifestupdatebestand in de map die u eerder hebt gedownload. Met deze update worden de pakketten en bijgewerkt naar aziot-identity-service aziot-edge versie 1.2.0~rc4-1 op uw apparaat.

    Schermopname met de selectie van updatebestand.

  8. Selecteer het mappictogram of het tekstvak onder Een opslagcontainer selecteren. Selecteer vervolgens het juiste opslagaccount.

  9. Als u al een container hebt gemaakt, kunt u deze opnieuw gebruiken. (Selecteer anders +Container om een nieuwe opslagcontainer voor updates te maken.) Selecteer de container die u wilt gebruiken en klik op Selecteren.

    Schermopname van containerselectie.

  10. Selecteer Verzenden om het importproces te starten.

  11. Het importproces begint en het scherm wordt gewijzigd in de sectie Importgeschiedenis. Selecteer Vernieuwen om de voortgang te bekijken totdat het importproces is voltooid. Afhankelijk van de grootte van de update kan het importproces binnen enkele minuten worden voltooid, maar kan het langer duren.

    Schermopname van de importreeks bijwerken.

  12. Wanneer in de kolom Status wordt aangegeven dat het importeren is geslaagd, selecteert u de header Gereed voor implementatie. De geïmporteerde update wordt nu weergegeven in de lijst.

Meer informatie over het importeren van updates.

Updategroep maken

  1. Ga naar de IoT Hub u eerder verbinding hebt met uw apparaatupdate-exemplaar.

  2. Selecteer de optie Apparaatupdates onder Automatisch apparaatbeheer in de navigatiebalk aan de linkerkant.

  3. Selecteer het tabblad Groepen bovenaan de pagina.

  4. Selecteer de knop Toevoegen om een nieuwe groep te maken.

  5. Selecteer de IoT Hub tag die u in de vorige stap hebt gemaakt in de lijst. Selecteer Updategroep maken.

    Schermopname van tagselectie.

Meer informatie over het toevoegen van tags en het maken van updategroepen

Update implementeren

  1. Zodra de groep is gemaakt, ziet u een nieuwe update die beschikbaar is voor uw apparaatgroep, met een koppeling naar de update in de kolom Beschikbare updates. Mogelijk moet u eenmaal vernieuwen.

  2. Klik op de koppeling naar de beschikbare update.

  3. Controleer of de juiste groep is geselecteerd als de doelgroep en plan uw implementatie

    Update selecteren

    Tip

    De begindatum/-tijd is standaard 24 uur vanaf uw huidige tijd. Zorg ervoor dat u een andere datum/tijd selecteert als u wilt dat de implementatie eerder begint.

  4. Selecteer Update implementeren.

  5. Bekijk het nalevingsdiagram. U ziet nu dat de update wordt uitgevoerd.

    Wordt bijgewerkt

  6. Nadat uw apparaat is bijgewerkt, ziet u de compatibiliteitsgrafiek en de update van de implementatiedetails.

    Bijwerken is geslaagd

Een update-implementatie bewaken

  1. Selecteer het tabblad Implementaties bovenaan de pagina.

    Tabblad Implementaties

  2. Selecteer de implementatie die u hebt gemaakt om de implementatiedetails weer te geven.

    Implementatiedetails

  3. Selecteer Vernieuwen om de meest recente statusdetails weer te geven. Ga door met dit proces totdat de status is gewijzigd in Geslaagd.

U hebt nu een geslaagde end-to-end pakketupdate voltooid met Apparaatupdate voor IoT Hub op een Ubuntu Server 18.04 x64-apparaat.

Resources opschonen

Schoon uw apparaatupdateaccount, exemplaar, IoT Hub en IoT Edge-apparaat op wanneer u deze niet meer nodig hebt (als u de VM hebt gemaakt via de knop Implementeren in Azure). U kunt dit doen door naar elke afzonderlijke resource te gaan en Verwijderen te selecteren. U moet een exemplaar van de apparaatupdate ops schonen voordat u het updateaccount van het apparaat opschoont.

Volgende stappen