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
Als u dit nog niet hebt gedaan, maakt u een Device Update-account en -exemplaar. Een IoT-hub configureren.
U hebt de connection string voor een IoT Edge apparaat nodig.
Als u de zelfstudie simulatoragent hebt gebruikt voor eerdere tests, voert u de volgende opdracht uit om de APT-handler aan te roepen en updates voor het draadloze pakket in 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 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.
Selecteer de knop om te beginnen:
Vul de beschikbare tekstvakken in:
- 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.
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-0000000000000
heeft. 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.
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>
.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
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.
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.
Installeer de .deb-pakketten van de Device Update-agent:
sudo apt-get install deviceupdate-agent
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
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
Meld u aan bij de Azure Portal en ga naar de IoT-hub.
Zoek in het linkerdeelvenster onder Apparaten uw IoT Edge apparaat en ga naar de apparaatdubbel of moduledubbel.
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.
Voeg een nieuwe tagwaarde voor Device Update toe, zoals wordt weergegeven:
"tags": { "ADUGroup": "<CustomTagValue>" },
In deze schermopname ziet u de sectie waarin de tag moet worden toegevoegd in de dubbel.
De update importeren
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.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.
Selecteer het tabblad Updates.
Selecteer + Nieuwe update importeren.
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.
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 .
In deze schermopname ziet u de importstap. Bestandsnamen komen mogelijk niet overeen met de namen die in het voorbeeld worden gebruikt.
Controleer op de pagina Update importeren de bestanden die moeten worden geïmporteerd. Selecteer vervolgens Update importeren om het importproces te starten.
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.
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.
Ga naar het tabblad Groepen en implementaties boven aan de pagina.
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.
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
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.
Selecteer de doelgroep door de groepsnaam te selecteren. U wordt omgeleid naar de groepsdetails onder Basisprincipes van groep.
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.
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.
Onder Implementatiedetails wordt de status ingesteld op Actief. De geïmplementeerde update is gemarkeerd met (implementeren).
Bekijk de nalevingsgrafiek om te zien dat de update nu wordt uitgevoerd.
Nadat uw apparaat is bijgewerkt, ziet u dat uw nalevingsgrafiek en implementatiedetails worden bijgewerkt om hetzelfde weer te geven.
De update-implementatie bewaken
Selecteer het tabblad Implementatiegeschiedenis bovenaan de pagina.
Selecteer de koppeling details naast de implementatie die u hebt gemaakt.
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.