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

Device Update voor Azure IoT Hub ondersteunt updates op basis van installatiekopieën, pakketten en scripts.

Pakketupdates zijn gerichte updates die alleen een specifiek onderdeel of specifieke toepassing op het apparaat wijzigen. Ze leiden tot een lager verbruik van bandbreedte en helpen de tijd te verkorten om de update te downloaden en te installeren. Updates op basis van pakketten zorgen doorgaans ook voor minder downtime van apparaten wanneer u een update toepast en vermijdt de overhead van het maken van installatiekopieën. Ze gebruiken een APT-manifest, dat de Device Update-agent voorziet van de informatie die nodig is voor het downloaden en installeren van de pakketten die zijn opgegeven in het APT-manifestbestand (en de bijbehorende afhankelijkheden) vanuit een aangewezen opslagplaats.

Deze zelfstudie begeleidt u bij het bijwerken van Azure IoT Edge op Ubuntu Server 18.04 x64 met behulp van de Device Update-pakketagent. Hoewel in de zelfstudie het bijwerken van IoT Edge wordt gedemonstreerd, 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 configuratie van het besturingssysteemplatform te gebruiken. Voltooi deze inleiding tot een end-to-end updateproces. Kies vervolgens de gewenste vorm van het bijwerken van een besturingssysteemplatform om in de details te duiken.

In deze zelfstudie leert u het volgende:

  • Download en installeer de Device Update-agent en de bijbehorende afhankelijkheden.
  • Voeg een tag toe aan uw apparaat.
  • Een update importeren.
  • Een pakketupdate implementeren.
  • Bewaak de update-implementatie.

Vereisten

Een apparaat voorbereiden

Een apparaat automatisch of handmatig voorbereiden.

De knop Geautomatiseerd implementeren in Azure gebruiken

Voor het gemak wordt in deze zelfstudie gebruikgemaakt van een cloud-init-sjabloonvoor Azure Resource Manager, zodat u snel een virtuele Ubuntu 18.04 LTS-machine kunt instellen. Hiermee worden zowel de Azure IoT Edge-runtime als de Device Update-pakketagent geïnstalleerd. Vervolgens wordt het apparaat automatisch geconfigureerd met inrichtingsgegevens met behulp van het apparaat connection string voor een IoT Edge apparaat (vereiste) dat u opgeeft. De sjabloon Resource Manager voorkomt ook dat u een SSH-sessie hoeft te starten om de installatie te voltooien.

  1. Selecteer de knop om te beginnen:

    Schermopname van de knop Implementeren in Azure voor iotedge-vm-deploy.

  2. Vul de beschikbare tekstvakken in:

    Schermopname van de sjabloon iotedge-vm-deploy.

    • Abonnement: het actieve Azure-abonnement om de virtuele machine in te implementeren.
    • Resourcegroep: een bestaande of nieuw gemaakte resourcegroep die de virtuele machine en de bijbehorende resources bevat.
    • Regio: de geografische regio waarop de virtuele machine moet worden geïmplementeerd. Deze waarde wordt standaard ingesteld op de locatie van de geselecteerde resourcegroep.
    • DNS-labelvoorvoegsel: een vereiste waarde van uw keuze die wordt gebruikt om de hostnaam van de virtuele machine te prefixeren.
    • Beheer gebruikersnaam: een gebruikersnaam, die hoofdmachtigingen krijgt bij de implementatie.
    • Apparaatverbindingsreeks: een apparaat connection string voor een apparaat dat is gemaakt in de beoogde IoT-hub.
    • VM-grootte: de grootte van de virtuele machine die moet worden geïmplementeerd.
    • Versie van Ubuntu-besturingssysteem: de versie van het Ubuntu-besturingssysteem die moet worden geïnstalleerd op de virtuele basismachine. Laat de standaardwaarde ongewijzigd, omdat deze al is ingesteld op Ubuntu 18.04-LTS.
    • Verificatietype: kies sshPublicKey of wachtwoord op basis van uw voorkeur.
    • Beheer wachtwoord of sleutel: de waarde van de openbare SSH-sleutel of de waarde van het wachtwoord op basis van de keuze van het verificatietype.

    Nadat alle vakken zijn ingevuld, schakelt u het selectievakje onder aan de pagina in om de voorwaarden te accepteren. Selecteer Kopen om de implementatie te starten.

  3. Controleer of de implementatie correct is voltooid. Het duurt enkele minuten nadat de implementatie is voltooid voordat de installatie en configuratie de installatie van IoT Edge en de updateagent voor het apparaatpakket hebben voltooid.

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

    U kunt de DNS-naam verkrijgen in de sectie Overzicht van de zojuist geïmplementeerde virtuele machine in de Azure Portal.

    Schermopname van de DNS-naam van de iotedge-VM.

    Tip

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

  4. Open de configuratiedetails (zie hier hoe u het configuratiebestand instelt met de onderstaande opdracht. Stel uw connectionType in als 'AIS' en connectionData als lege tekenreeks. Houd er rekening mee dat alle waarden met de tag 'Waarde hier plaatsen' moeten worden ingesteld. Zie Een DU-agent configureren.

    sudo nano /etc/adu/du-config.json
    
  5. Start de Device Update-agent opnieuw op.

    sudo systemctl restart deviceupdate-agent
    

Apparaatupdate voor Azure IoT Hub softwarepakketten zijn onderworpen aan de volgende licentievoorwaarden:

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

Een apparaat handmatig voorbereiden

Net als bij de stappen die worden geautomatiseerd door het cloud-init-script, worden de volgende handmatige stappen gebruikt om een apparaat te installeren en te configureren. Gebruik deze stappen om een fysiek apparaat voor te bereiden.

  1. Volg de instructies voor het installeren van de Azure IoT Edge-runtime.

    Notitie

    De Device Update-agent 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 deze niet in deze zelfstudie wordt behandeld, kan de IoT Identity Service-daemon zelfstandig worden geïnstalleerd op IoT-apparaten op basis van Linux. De volgorde van de installatie is van belang. De Device Update-pakketagent moet worden geïnstalleerd na de IoT Identity-service. Anders wordt de pakketagent niet geregistreerd als een geautoriseerd onderdeel om verbinding te maken met IoT Hub.

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

    sudo apt-get install deviceupdate-agent 
    
  3. Voer de primaire connection string van de module van uw IoT-apparaat (of het apparaat, afhankelijk van hoe u het apparaat hebt ingericht met Device Update) in het configuratiebestand in. Houd er rekening mee dat alle waarden met de tag 'Waarde hier plaatsen' moeten worden ingesteld. Zie Een DU-agent configureren.

    sudo /etc/adu/du-config.json
    
  4. Start de Device Update-agent opnieuw op.

    sudo systemctl restart deviceupdate-agent
    

Apparaatupdate voor Azure IoT Hub softwarepakketten zijn onderworpen aan de volgende licentievoorwaarden:

Lees de licentievoorwaarden voordat u een pakket gebruikt. Uw installatie en gebruik van een pakket vormt uw aanvaarding 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 bij de Azure Portal en ga naar de IoT-hub.

  2. Zoek in het linkerdeelvenster onder Apparaten uw IoT Edge apparaat en ga naar de apparaatdubbel of moduledubbel.

  3. Verwijder in de moduledubbel van de Device Update-agentmodule alle bestaande tagwaarden voor Device Update door deze in te stellen op null. Als u Apparaat-id gebruikt met Device Update-agent, moet u deze wijzigingen aanbrengen op de apparaatdubbel.

  4. Voeg een nieuwe tagwaarde voor Device Update toe, zoals wordt weergegeven:

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

    Schermopname van een dubbel met taggegevens.

    In deze schermopname ziet u de sectie waarin de tag moet worden toegevoegd in de dubbel.

De update importeren

  1. Ga naar Device Update releases in GitHub en selecteer de vervolgkeuzelijst Assets . Download Tutorial_IoTEdge_PackageUpdate.zip door het te selecteren. Pak de inhoud van de map uit om een APT-voorbeeldmanifest (sample-1.0.2-aziot-edge-apt-manifest.json) en het bijbehorende importmanifest (sample-1.0.2-aziot-edge-importManifest.json) te detecteren.

  2. Meld u aan bij de Azure Portal en ga naar uw IoT-hub met Device Update. Selecteer in het linkerdeelvenster onder Automatische Apparaatbeheerde optie Updates.

  3. Selecteer het tabblad Updates.

  4. Selecteer + Nieuwe update importeren.

  5. Selecteer + Selecteren in opslagcontainer. Selecteer een bestaand account of maak een nieuw account met behulp van + Opslagaccount. Selecteer vervolgens een bestaande container of maak een nieuwe container met behulp van + Container. Deze container wordt gebruikt om uw updatebestanden te faseren voor importeren.

    Notitie

    U wordt aangeraden elke keer dat u een update importeert een nieuwe container te gebruiken om te voorkomen dat bestanden uit eerdere updates per ongeluk worden geïmporteerd. Als u geen nieuwe container gebruikt, moet u alle bestanden uit de bestaande container verwijderen voordat u deze stap voltooit.

    Schermopname van Opslagaccount.

  6. Selecteer uploaden in de container en ga naar de bestanden die u in stap 1 hebt gedownload. Nadat u al uw updatebestanden hebt geselecteerd, selecteert u Uploaden. Selecteer vervolgens de knop Selecteren om terug te keren naar de pagina Update importeren .

    Schermopname van het selecteren van geüploade bestanden.

    In deze schermopname ziet u de importstap. Bestandsnamen komen mogelijk niet overeen met de namen die in het voorbeeld worden gebruikt.

  7. Controleer op de pagina Update importeren de bestanden die moeten worden geïmporteerd. Selecteer vervolgens Update importeren om het importproces te starten.

    Schermopname van het starten van het importproces.

  8. Het importproces wordt gestart en het scherm schakelt over naar de sectie Importgeschiedenis . Wanneer de kolom Status aangeeft dat het importeren is voltooid, selecteert u de kop Beschikbare updates . De geïmporteerde update wordt nu in de lijst weergegeven.

    Schermopname van de taakstatus.

Zie Een update importeren naar Device Update voor meer informatie over het importproces.

Apparaatgroepen weergeven

Device Update maakt gebruik van groepen om apparaten te ordenen. Device Update sorteert apparaten automatisch in groepen op basis van de toegewezen tags en compatibiliteitseigenschappen. Elk apparaat behoort tot slechts één groep, maar groepen kunnen meerdere subgroepen hebben om verschillende apparaatklassen te sorteren.

  1. Ga naar het tabblad Groepen en implementaties boven aan de pagina.

    Schermopname van niet-gegroepeerde apparaten.

  2. Bekijk de lijst met groepen en de grafiek Voor naleving bijwerken. In de grafiek voor updatenaleving ziet u het aantal apparaten in verschillende nalevingsstatussen: Bij de meest recente update, Nieuwe updates beschikbaar en Updates wordt uitgevoerd. Meer informatie over updatecompatibiliteit.

    Schermopname van de weergave voor updatenaleving.

  3. U ziet een apparaatgroep die het gesimuleerde apparaat bevat dat u in deze zelfstudie hebt ingesteld, samen met eventuele beschikbare updates voor de apparaten in de nieuwe groep. Als er apparaten zijn die niet voldoen aan de apparaatklassevereisten van de groep, worden ze weergegeven in een bijbehorende ongeldige groep. Als u de beste beschikbare update wilt implementeren voor de nieuwe door de gebruiker gedefinieerde groep vanuit deze weergave, selecteert u Implementeren naast de groep.

Zie Apparaatgroepen beheren voor meer informatie over tags en groepen.

De update implementeren

  1. Nadat de groep is gemaakt, ziet u een nieuwe update die beschikbaar is voor uw apparaatgroep met een koppeling naar de update onder Beste update. Mogelijk moet u eenmaal vernieuwen.

    Zie Naleving van apparaatupdates voor meer informatie over naleving.

  2. Selecteer de doelgroep door de groepsnaam te selecteren. U wordt omgeleid naar de groepsdetails onder Basisprincipes van groep.

    Schermopname van groepsdetails.

  3. Als u de implementatie wilt initiëren, gaat u naar het tabblad Huidige implementatie . Selecteer de koppeling implementeren naast de gewenste update in de sectie Beschikbare updates . De best beschikbare update voor een bepaalde groep wordt aangeduid met een beste markering.

    Schermopname van het selecteren van een update.

  4. Plan uw implementatie om onmiddellijk of in de toekomst te starten. Selecteer vervolgens Maken.

    Tip

    Standaard zijn de begindatum en -tijd 24 uur verwijderd van uw huidige tijd. Zorg ervoor dat u een andere datum en tijd selecteert als u wilt dat de implementatie eerder begint.

    Schermopname van het maken van een implementatie.

  5. Onder Implementatiedetails wordt de status ingesteld op Actief. De geïmplementeerde update is gemarkeerd met (implementeren).

    Schermopname van de implementatie als Actief.

  6. Bekijk de nalevingsgrafiek om te zien dat de update nu wordt uitgevoerd.

  7. Nadat uw apparaat is bijgewerkt, ziet u dat uw nalevingsgrafiek en implementatiedetails worden bijgewerkt om hetzelfde weer te geven.

    Schermopname die laat zien dat de update is voltooid.

De update-implementatie bewaken

  1. Selecteer het tabblad Implementatiegeschiedenis bovenaan de pagina.

    Schermopname van de implementatiegeschiedenis.

  2. Selecteer de koppeling details naast de implementatie die u hebt gemaakt.

    Schermopname van implementatiedetails.

  3. Selecteer Vernieuwen om de meest recente statusdetails weer te geven.

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

Resources opschonen

Schoon uw apparaatupdateaccount, exemplaar en IoT-hub op wanneer u deze niet meer nodig hebt. Schoon ook het IoT Edge apparaat op als u de virtuele machine hebt gemaakt via de knop Implementeren in Azure. Als u resources wilt opschonen, gaat u naar elke afzonderlijke resource en selecteert u Verwijderen. Schoon een apparaatupdate-exemplaar op voordat u het apparaatupdateaccount opschoont.

Volgende stappen