Esercitazione: Aggiornamento del dispositivo per hub IoT di Azure usando l'agente del pacchetto in Ubuntu Server 18.04 x64
Aggiornamento del dispositivo per hub IoT di Azure supporta aggiornamenti basati su immagini, basati su pacchetti e basati su script.
Gli aggiornamenti basati su pacchetti sono aggiornamenti mirati che modificano solo un componente o un'applicazione specifici nel dispositivo. Determinano un consumo inferiore della larghezza di banda e consentono di ridurre il tempo necessario per scaricare e installare l'aggiornamento. Gli aggiornamenti basati su pacchetti consentono in genere un minor tempo di inattività dei dispositivi quando si applica un aggiornamento ed evitare il sovraccarico della creazione di immagini. Usano un manifesto APT, che fornisce all'agente Device Update le informazioni necessarie per scaricare e installare i pacchetti specificati nel file manifesto APT (e le relative dipendenze) da un repository designato.
Questa esercitazione illustra come aggiornare Azure IoT Edge in Ubuntu Server 18.04 x64 usando l'agente del pacchetto Aggiornamento dispositivi. Anche se l'esercitazione illustra l'aggiornamento IoT Edge, usando passaggi simili è possibile aggiornare altri pacchetti, ad esempio il motore di contenitori usato.
Gli strumenti e i concetti di questa esercitazione si applicano ancora anche se si prevede di usare una configurazione diversa della piattaforma del sistema operativo. Completare questa introduzione a un processo di aggiornamento end-to-end. Scegliere quindi la forma preferita per aggiornare una piattaforma del sistema operativo per approfondire i dettagli.
In questa esercitazione si apprenderà come:
- Scaricare e installare l'agente di Aggiornamento dispositivi e le relative dipendenze.
- Aggiungere un tag al dispositivo.
- Importare un aggiornamento.
- Distribuire un aggiornamento del pacchetto.
- Monitorare la distribuzione degli aggiornamenti.
Prerequisiti
Se non è già stato fatto, creare un account e un'istanza di Aggiornamento dispositivi. Configurare un hub IoT.
È necessaria la stringa di connessione per un dispositivo IoT Edge.
Se è stata usata l'esercitazione sull'agente simulatore per i test precedenti, eseguire il comando seguente per richiamare il gestore APT e distribuire gli aggiornamenti del pacchetto over-the-air in questa esercitazione:
sudo /usr/bin/AducIotAgent --register-content-handler /var/lib/adu/extensions/sources/libmicrosoft_apt_1.so --update-type 'microsoft/apt:1'
Preparare un dispositivo
Preparare un dispositivo automaticamente o manualmente.
Usare il pulsante Distribuisci automatizzato in Azure
Per praticità, questa esercitazione usa un modello di Azure Resource Manager basato su cloud per semplificare la configurazione di una macchina virtuale Ubuntu 18.04 LTS. Installa sia il runtime di Azure IoT Edge che l'agente del pacchetto di Aggiornamento dispositivi. Configura quindi automaticamente il dispositivo con le informazioni di provisioning usando la stringa di connessione del dispositivo per un dispositivo IoT Edge (prerequisito) fornito. Il modello di Resource Manager evita inoltre la necessità di avviare una sessione SSH per completare la configurazione.
Per iniziare, selezionare il pulsante:
Compilare le caselle di testo disponibili:
- Sottoscrizione: sottoscrizione di Azure attiva in cui distribuire la macchina virtuale.
- Gruppo di risorse: gruppo di risorse esistente o appena creato per contenere la macchina virtuale e le relative risorse associate.
- Area: area geografica in cui distribuire la macchina virtuale. Questo valore viene impostato per impostazione predefinita sulla posizione del gruppo di risorse selezionato.
- Prefisso etichetta DNS: valore obbligatorio della scelta usata per anteporre il nome host della macchina virtuale.
- Amministrazione Nome utente: nome utente, che fornisce privilegi radice per la distribuzione.
- Stringa di connessione del dispositivo: stringa di connessione del dispositivo per un dispositivo creato all'interno dell'hub IoT previsto.
- Dimensioni macchina virtuale: dimensioni della macchina virtuale da distribuire.
- Versione del sistema operativo Ubuntu: versione del sistema operativo Ubuntu da installare nella macchina virtuale di base. Lasciare invariato il valore predefinito perché sarà già impostato su Ubuntu 18.04-LTS.
- Tipo di autenticazione: scegliere sshPublicKey o password in base alle preferenze.
- Amministrazione Password o Chiave: valore della chiave pubblica SSH o del valore della password in base alla scelta del tipo di autenticazione.
Dopo aver compilato tutte le caselle, selezionare la casella di controllo nella parte inferiore della pagina per accettare le condizioni. Selezionare Acquista per avviare la distribuzione.
Verificare che la distribuzione sia stata completata correttamente. Attendere alcuni minuti dopo il completamento della distribuzione per il completamento dell'installazione e della configurazione per completare l'installazione IoT Edge e l'agente di aggiornamento del pacchetto del dispositivo.
Una risorsa macchina virtuale deve essere stata distribuita nel gruppo di risorse selezionato. Prendere nota del nome del computer, nel formato
vm-0000000000000
. Si noti anche il nome DNS associato, nel formato<dnsLabelPrefix>
.<location>
. cloudapp.azure.com.È possibile ottenere il nome DNS dalla sezione Panoramica della macchina virtuale appena distribuita nel portale di Azure.
Suggerimento
Per connettersi tramite SSH a questa macchina virtuale dopo l'installazione, usare il nome DNS associato con il comando seguente:
ssh <adminUsername>@<DNS_Name>
.Aprire i dettagli di configurazione (vedere come configurare il file di configurazione qui con il comando seguente. Impostare connectionType su 'AIS' e connectionData come stringa vuota. Si noti che tutti i valori con il tag 'Place value here' devono essere impostati. Vedere Configurazione di un agente DU.
sudo nano /etc/adu/du-config.json
Riavviare l'agente di Aggiornamento dispositivi.
sudo systemctl restart deviceupdate-agent
Aggiornamento del dispositivo per i pacchetti software hub IoT di Azure sono soggetti alle condizioni di licenza seguenti:
Leggere le condizioni di licenza prima di usare un pacchetto. L'installazione e l'uso di un pacchetto costituiscono l'accettazione di queste condizioni. Se non si accettano le condizioni di licenza, non usare il pacchetto.
Preparare manualmente un dispositivo
Analogamente ai passaggi automatizzati dallo script cloud-init, vengono usati i passaggi manuali seguenti per installare e configurare un dispositivo. Usare questi passaggi per preparare un dispositivo fisico.
Seguire le istruzioni per installare il runtime di Azure IoT Edge.
Nota
L'agente di Aggiornamento dispositivi non dipende da IoT Edge. Ma si basa sul daemon del servizio di identità IoT installato con IoT Edge (1.2.0 e versioni successive) per ottenere un'identità e connettersi a hub IoT.
Anche se non trattato in questa esercitazione, il daemon del servizio di gestione delle identità IoT può essere installato in modalità autonoma nei dispositivi IoT basati su Linux. La sequenza di installazione è importante. L'agente del pacchetto Device Update deve essere installato dopo il servizio di gestione delle identità IoT. In caso contrario, l'agente del pacchetto non verrà registrato come componente autorizzato per stabilire una connessione a hub IoT.
Installare i pacchetti deb dell'agente di Aggiornamento dispositivi:
sudo apt-get install deviceupdate-agent
Immettere il modulo o il dispositivo del dispositivo IoT, a seconda del provisioning della stringa di connessione primaria del dispositivo con Aggiornamento dispositivi nel file di configurazione. Si noti che tutti i valori con il tag 'Place value here' devono essere impostati. Vedere Configurazione di un agente DU.
sudo /etc/adu/du-config.json
Riavviare l'agente di Aggiornamento dispositivi.
sudo systemctl restart deviceupdate-agent
Aggiornamento del dispositivo per i pacchetti software hub IoT di Azure sono soggetti alle condizioni di licenza seguenti:
Leggere le condizioni di licenza prima di usare un pacchetto. L'installazione e l'uso di un pacchetto costituiscono l'accettazione di queste condizioni. Se non si accettano le condizioni di licenza, non usare il pacchetto.
Aggiungere un tag al dispositivo
Accedere al portale di Azure e passare all'hub IoT.
Nel riquadro sinistro, in Dispositivi individuare il dispositivo IoT Edge e passare al dispositivo gemello o al modulo gemello.
Nel modulo gemello del modulo Agente aggiornamento dispositivi eliminare i valori dei tag device Update esistenti impostandoli su Null. Se si usa l'identità del dispositivo con l'agente di Aggiornamento dispositivi, apportare queste modifiche nel dispositivo gemello.
Aggiungere un nuovo valore del tag Device Update, come illustrato di seguito:
"tags": { "ADUGroup": "<CustomTagValue>" },
Questo screenshot mostra la sezione in cui il tag deve essere aggiunto nel gemello.
Importare l'aggiornamento
Passare a Versioni di Aggiornamento dispositivi in GitHub e selezionare l'elenco a discesa Asset . Per scaricarlo
Tutorial_IoTEdge_PackageUpdate.zip
, selezionarlo. Estrarre il contenuto della cartella per individuare un manifesto APT di esempio (sample-1.0.2-aziot-edge-apt-manifest.json) e il manifesto di importazione corrispondente (sample-1.0.2-aziot-edge-importManifest.json).Accedere al portale di Azure e passare all'hub IoT con Aggiornamento dispositivi. Nel riquadro sinistro, in Gestione dispositivi automatico selezionare Aggiornamenti.
Selezionare la scheda Aggiornamenti.
Selezionare + Importa nuovo aggiornamento.
Selezionare + Seleziona dal contenitore di archiviazione. Selezionare un account esistente o creare un nuovo account usando + Account di archiviazione. Selezionare quindi un contenitore esistente o creare un nuovo contenitore usando + Contenitore. Questo contenitore viene usato per preparare i file di aggiornamento per l'importazione.
Nota
È consigliabile usare un nuovo contenitore ogni volta che si importa un aggiornamento per evitare di importare accidentalmente file dagli aggiornamenti precedenti. Se non si usa un nuovo contenitore, assicurarsi di eliminare tutti i file dal contenitore esistente prima di completare questo passaggio.
Nel contenitore selezionare Carica e passare ai file scaricati nel passaggio 1. Dopo aver selezionato tutti i file di aggiornamento, selezionare Carica. Selezionare quindi il pulsante Seleziona per tornare alla pagina Importa aggiornamento .
Questo screenshot mostra il passaggio di importazione. I nomi di file potrebbero non corrispondere a quelli usati nell'esempio.
Nella pagina Importa aggiornamento esaminare i file da importare. Selezionare quindi Importa aggiornamento per avviare il processo di importazione.
Viene avviato il processo di importazione e la schermata passa alla sezione Cronologia importazione . Quando la colonna Stato indica che l'importazione è riuscita, selezionare l'intestazione Aggiornamenti disponibili . L'aggiornamento importato dovrebbe essere visualizzato nell'elenco.
Per altre informazioni sul processo di importazione, vedere Importare un aggiornamento in Aggiornamento dispositivi.
Visualizzare i gruppi di dispositivi
Aggiornamento dispositivi usa i gruppi per organizzare i dispositivi. Aggiornamento dispositivo ordina automaticamente i dispositivi in gruppi in base ai tag assegnati e alle proprietà di compatibilità. Ogni dispositivo appartiene a un solo gruppo, ma i gruppi possono avere più sottogruppi per ordinare classi di dispositivi diverse.
Passare alla scheda Gruppi e distribuzioni nella parte superiore della pagina.
Visualizzare l'elenco dei gruppi e il grafico di conformità degli aggiornamenti. Il grafico conformità degli aggiornamenti mostra il numero di dispositivi in vari stati di conformità: in caso di aggiornamento più recente, nuovi aggiornamenti disponibili e Aggiornamenti in corso. Informazioni sulla conformità degli aggiornamenti.
Verrà visualizzato un gruppo di dispositivi che contiene il dispositivo simulato configurato in questa esercitazione insieme agli eventuali aggiornamenti disponibili per i dispositivi nel nuovo gruppo. Se sono presenti dispositivi che non soddisfano i requisiti della classe di dispositivo del gruppo, verranno visualizzati in un gruppo non valido corrispondente. Per distribuire il miglior aggiornamento disponibile al nuovo gruppo definito dall'utente da questa visualizzazione, selezionare Distribuisci accanto al gruppo.
Per altre informazioni su tag e gruppi, vedere Gestire i gruppi di dispositivi.
Distribuire l'aggiornamento
Dopo aver creato il gruppo, verrà visualizzato un nuovo aggiornamento disponibile per il gruppo di dispositivi con un collegamento all'aggiornamento in Aggiornamento migliore. Potrebbe essere necessario eseguire l'aggiornamento una sola volta.
Per altre informazioni sulla conformità, vedere Conformità di Aggiornamento dispositivi.
Selezionare il gruppo di destinazione selezionando il nome del gruppo. I dettagli del gruppo vengono indirizzati in Nozioni di base sui gruppi.
Per avviare la distribuzione, passare alla scheda Distribuzione corrente . Selezionare il collegamento Distribuisci accanto all'aggiornamento desiderato nella sezione Aggiornamenti disponibili . L'aggiornamento migliore disponibile per un determinato gruppo è indicato con un'evidenziazione migliore .
Pianificare l'avvio della distribuzione immediatamente o in futuro. Quindi selezionare Crea.
Suggerimento
Per impostazione predefinita, la data e l'ora di inizio sono 24 ore dall'ora corrente. Assicurarsi di selezionare una data e un'ora diverse se si vuole che la distribuzione inizi in precedenza.
In Dettagli distribuzionelo stato diventa Attivo. L'aggiornamento distribuito è contrassegnato con (distribuzione).
Visualizzare il grafico di conformità per verificare che l'aggiornamento sia in corso.
Dopo che il dispositivo è stato aggiornato correttamente, si noterà che il grafico di conformità e i dettagli della distribuzione vengono aggiornati per riflettere lo stesso.
Monitorare la distribuzione degli aggiornamenti
Selezionare la scheda Cronologia distribuzione nella parte superiore della pagina.
Selezionare il collegamento dettagli accanto alla distribuzione creata.
Selezionare Aggiorna per visualizzare i dettagli dello stato più recenti.
A questo punto è stato completato un aggiornamento del pacchetto end-to-end con Aggiornamento dispositivi per hub IoT in un dispositivo Ubuntu Server 18.04 x64.
Pulire le risorse
Quando non è più necessario, pulire l'account di aggiornamento del dispositivo, l'istanza e l'hub IoT. Pulire anche il dispositivo IoT Edge se è stata creata la macchina virtuale tramite il pulsante Distribuisci in Azure. Per pulire le risorse, passare a ogni singola risorsa e selezionare Elimina. Pulire un'istanza di aggiornamento del dispositivo prima di pulire l'account di aggiornamento del dispositivo.