Delen via


Zelfstudie: Azure Device Update voor IoT Hub met behulp van de Ubuntu 22.04-pakketagent

Apparaatupdate voor Azure IoT Hub ondersteunt updates op basis van installatiekopieën, pakketten en scripts. In deze zelfstudie ziet u een end-to-end pakketupdate met behulp van de Pakketagent device Update Ubuntu Server 22.04 x64 om Azure IoT Edge bij te werken.

Updates op basis van pakketten zijn bedoeld om alleen een specifiek apparaatonderdeel of een specifieke toepassing te wijzigen. Deze updates hebben een lager bandbreedteverbruik en kortere download- en installatietijden dan updates op basis van installatiekopieën, waardoor er minder downtime voor apparaten is en de overhead van het maken van installatiekopieën wordt vermeden. In een update op basis van een pakket biedt een APT-manifest de Device Update-agent de informatie die nodig is voor het downloaden en installeren van opgegeven pakketten en de bijbehorende afhankelijkheden uit een aangewezen opslagplaats.

In deze zelfstudie wordt uitgelegd hoe u Microsoft Defender voor IoT installeert, maar u kunt andere pakketten bijwerken met behulp van vergelijkbare stappen, zoals IoT Edge zelf of de container-engine die wordt gebruikt. De hulpprogramma's en concepten in deze zelfstudie zijn ook van toepassing als u een andere configuratie van het besturingssysteemplatform gebruikt.

In deze zelfstudie hebt u:

  • Download en installeer de Device Update-agent en de bijbehorende afhankelijkheden.
  • Voeg een groepstag toe aan uw apparaat.
  • Importeer de pakketupdate.
  • Implementeer de pakketupdate.
  • Bekijk de update-implementatiegeschiedenis.

Vereisten

Het apparaat voorbereiden

Voor het gemak maakt deze zelfstudie gebruik van een arm-sjabloon (Azure Resource Manager) in de cloud om snel een virtuele Ubuntu 22.04 LTS-machine (VM) in te stellen. De sjabloon installeert zowel de IoT Edge-runtime als de Device Update-pakketagent en configureert het apparaat automatisch met inrichtingsgegevens met behulp van het IoT Edge-apparaat verbindingsreeks u opgeeft. Als u de ARM-sjabloon gebruikt, hoeft u geen SSH-sessie (Secure Shell) te starten om de installatie te voltooien.

  1. Als u de sjabloon wilt uitvoeren, selecteert u de volgende knop Implementeren in Azure :

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

  2. Vul de volgende informatie in:

    • 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.
    • Regio: de geografische regio waarin de VIRTUELE machine wordt geïmplementeerd, die standaard de locatie van de resourcegroep is.
    • Dns-labelvoorvoegsel: een waarde voor het voorvoegsel van de hostnaam van de virtuele machine.
    • Gebruikersnaam van beheerder: een gebruikersnaam voor het bieden van hoofdbevoegdheden bij de implementatie.
    • Verificatietype: kies sshPublicKey of wachtwoord.
    • Beheerderswachtwoord of bron van openbare SSH-sleutel, SSH-sleuteltype, sleutelpaarnaam: het wachtwoord of de openbare SSH-sleutelgegevens op basis van de keuze van het verificatietype.
    • VM-grootte: de grootte van de vm die moet worden geïmplementeerd.
    • Ubuntu OS-versie: laat op 22_04-lts.
    • Apparaatverbindingsreeks: de IoT Edge-verbindingsreeks u eerder hebt gekopieerd.
  3. Selecteer Controleren en maken onderaan de pagina. Wanneer de validatie is voltooid, selecteert u Maken om de sjabloonimplementatie te starten.

  4. Controleer of de implementatie is voltooid en wacht enkele minuten nadat de implementatie is voltooid voordat de installatie en configuratie na de installatie van IoT Edge en de updateagent voor het apparaatpakket zijn voltooid.

  5. U ziet nu een VM-resource in de geselecteerde resourcegroep. Noteer de computernaam, die de indeling heeft vm-0000000000000. Selecteer de naam van de virtuele machine en noteer op de overzichtspagina van de VM de DNS-naam, die de indeling <dnsLabelPrefix>heeft<location>.cloudapp.azure.com.

    Schermopname van de DNS-naam van de IoT Edge-VM.

Tip

Gebruik na de installatie de bijbehorende DNS-naam met de opdracht ssh <admin username>@<DNS name>om SSH in deze VM te zetten.

De Device Update-agent installeren op de VM

Belangrijk

Azure Device Update voor IoT Hub-software is onderhevig aan de volgende licentievoorwaarden:

Lees de licentievoorwaarden voordat u de agent gebruikt. De installatie en het gebruik van de agent vormen de acceptatie van deze voorwaarden. Als u niet akkoord gaat met de licentievoorwaarden, gebruikt u de Device Update-agent niet.

  1. Voer de volgende opdracht uit om de Device Update-agent op de VIRTUELE machine te installeren.

    sudo apt-get install deviceupdate-agent
    
  2. Open het bestand du-config.json configuratiedetails met behulp van de volgende opdracht.

    sudo nano /etc/adu/du-config.json
    
  3. Vervang in het bestand alle <placeholder> waarden door uw eigen configuratie. Stel uw connectionType tekenreeks in als "AIS" en connectionData als een lege tekenreeks. Zie Voorbeeld van du-config.json bestandsinhoud voor een voorbeeldbestand.

  4. Start de Device Update-agent opnieuw door de volgende opdracht uit te voeren.

    sudo systemctl restart deviceupdate-agent
    

Notitie

Als u de simulatoragent eerder op dit apparaat hebt gebruikt, voert u de volgende opdracht uit om de APT-handler aan te roepen en updates voor het air-pakket voor deze zelfstudie te implementeren.

sudo /usr/bin/AducIotAgent --register-content-handler /var/lib/adu/extensions/sources/libmicrosoft_apt_1.so --update-type 'microsoft/apt:1'

Een groepstag toevoegen aan uw apparaat

Device Update organiseert apparaten automatisch in groepen op basis van hun toegewezen tags en compatibiliteitseigenschappen. Elk apparaat kan tot slechts één groep behoren, maar groepen kunnen meerdere subgroepen hebben om verschillende apparaatklassen te sorteren. Zie Apparaatgroepen beheren voor meer informatie over tags en groepen.

  1. Selecteer apparaatbeheerapparaten> in de linkernavigatiebalk op de ioT-hubpagina van Azure Portal voor uw Device Update-exemplaar.

  2. Ga naar de apparaatdubbel of moduleidentiteitsdubbel voor uw apparaat.

  3. Verwijder in het apparaatdubbel- of Device Update Agent Module Identity Twin-bestand alle bestaande tagwaarden van Device Update door deze in te nullstellen en voeg vervolgens de volgende nieuwe apparaatupdate-groepstag toe.

    Als u een apparaat-id gebruikt met de Device Update-agent, moet u deze wijzigingen aanbrengen op de apparaatdubbel. Als u een module-id gebruikt met de Module Update-agentmodule, voegt u de tag toe aan de module-id-dubbel.

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

    In de volgende schermopname ziet u waar in het bestand de tag moet worden toegevoegd.

    Schermopname van dubbel met taggegevens.

  4. Selecteer Opslaan.

De update importeren

Het bestand Tutorial_IoTEdge_PackageUpdate.zip bevat de vereiste bestanden voor de zelfstudie.

  1. Download het Tutorial_IoTEdge_PackageUpdate.zip-bestand uit de sectie Assets van de meest recente release op de pagina Releases van GitHub Device Update.

  2. Pak het bestand uit. De uitgepakte map Tutorial_IoTEdge_PackageUpdate bevat het sample-defender-iot-apt-manifest.json APT-voorbeeldmanifest en het bijbehorende sample-defender-iot--importManifest.json importmanifest.

  3. Selecteer op de ioT-hubpagina van Azure Portal voor uw exemplaar van Device Update Apparaatbeheer> Updates in het linkernavigatievenster.

  4. Selecteer Een nieuwe update importeren op de pagina Updates.

  5. Selecteer Selecteren in opslagcontainer op de pagina Update importeren.

  6. Selecteer op de pagina Opslagaccounts een bestaand opslagaccount of maak een nieuw account door Opslagaccount te selecteren.

  7. Selecteer op de pagina Containers een bestaande container of maak een nieuwe container door Container te selecteren. U gebruikt de container om de updatebestanden voor importeren te fasen.

    Schermopname van Opslagaccounts en Containers.

    Tip

    Als u wilt voorkomen dat bestanden uit eerdere updates per ongeluk worden geïmporteerd, gebruikt u telkens wanneer u een update importeert een nieuwe container. Als u geen nieuwe container gebruikt, moet u alle bestanden uit de bestaande container verwijderen.

  8. Selecteer op de containerpagina Uploaden, slepen en neerzetten of bladeren naar en selecteer de updatebestanden die u hebt gedownload en selecteer vervolgens Uploaden. Nadat ze zijn geüpload, worden de bestanden weergegeven op de containerpagina.

  9. Controleer en selecteer de bestanden die u wilt importeren en selecteer vervolgens Selecteren.

    Schermopname van het selecteren van geüploade bestanden.

  10. Selecteer Update importeren in het scherm Update importeren.

    Schermopname van importupdate.

Het importproces wordt gestart en het scherm schakelt over naar het scherm Updates . Nadat het importeren is voltooid, wordt deze weergegeven op het tabblad Updates . Zie Een update importeren in Device Update voor meer informatie over het importproces.

Schermopname van de taakstatus.

Selecteer de apparaatgroep

U kunt de groepstag gebruiken die u op uw apparaat hebt toegepast om de update te implementeren in de apparaatgroep. Selecteer het tabblad Groepen en implementaties boven aan de pagina Updates om de lijst met groepen en implementaties en het updatenalevingsdiagram weer te geven.

In het diagram voor updatecompatibiliteit ziet u het aantal apparaten in verschillende nalevingsstatussen: Bij de meest recente update, nieuwe updates die beschikbaar zijn en updates die worden uitgevoerd. Zie Apparaatupdate-naleving voor meer informatie.

Onder Groepsnaam ziet u een lijst met alle apparaatgroepen voor apparaten die zijn verbonden met deze IoT-hub en de beschikbare updates, met koppelingen voor het implementeren van de updates onder Status. Apparaten die niet voldoen aan de apparaatklassevereisten van een groep, worden weergegeven in een overeenkomstige ongeldige groep. Zie Apparaatgroepen beheren voor meer informatie over tags en groepen.

U ziet nu de apparaatgroep die het apparaat bevat dat u in deze zelfstudie hebt ingesteld, samen met de beschikbare updates voor de apparaten in de groep. U moet de pagina mogelijk vernieuwen. Als u in deze weergave de best beschikbare update voor de groep wilt implementeren, selecteert u Implementeren naast de groep.

Schermopname van de weergave voor updatecompatibiliteit.

De update implementeren

  1. Selecteer op de pagina Groepsdetails het tabblad Huidige implementatie en selecteer vervolgens Implementeren naast de gewenste update in de sectie Beschikbare updates . De best beschikbare update voor de groep wordt aangeduid met een beste markering.

    Schermopname van het selecteren van een update.

  2. Op de pagina Implementatie maken plant u de implementatie om direct of in de toekomst te beginnen en selecteert u Vervolgens Maken.

    Schermopname van het maken van een implementatie.

    Tip

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

  3. Op de pagina Groepsdetails onder Implementatiedetails wordt de status geactiveerd. Onder Beschikbare updates is de geselecteerde update gemarkeerd met (implementeren).

    Schermopname van de implementatie als Actief.

  4. Bekijk op het tabblad Groepen en implementaties van de pagina Updates het nalevingsdiagram om te zien dat de update nu wordt uitgevoerd. Nadat het apparaat is bijgewerkt, worden de compatibiliteitsgrafieken en implementatiedetails bijgewerkt om die status weer te geven.

    Schermopname van de geslaagde update.

Update-implementatiegeschiedenis weergeven

  1. Selecteer het tabblad Implementatiegeschiedenis boven aan de pagina Groepsdetails en selecteer de koppeling naar details naast de implementatie die u hebt gemaakt.

    Schermopname van de implementatiegeschiedenis.

  2. Selecteer op de pagina Implementatiedetails het pictogram Vernieuwen om de meest recente statusdetails weer te geven.

    Schermopname van implementatiedetails.

Resources opschonen

Wanneer u de resources die u voor deze zelfstudie hebt gemaakt niet meer nodig hebt, kunt u ze verwijderen.

  1. Navigeer in Azure Portal naar de resourcegroep die de resources bevat.
  2. Als u alle resources in de groep wilt verwijderen, selecteert u Resourcegroep verwijderen.
  3. Als u slechts een deel van de resources wilt verwijderen, gebruikt u de selectievakjes om de resources te selecteren en selecteert u Vervolgens Verwijderen.