Esercitazione: Aggiornamento del dispositivo per hub IoT di Azure usando l'agente del pacchetto in Ubuntu Server 22.04 x64

Aggiornamento dei dispositivi per hub IoT di Azure supporta gli 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. Comportano 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 22.04 x64 usando l'agente del pacchetto di Aggiornamento dispositivi. Anche se l'esercitazione illustra l'installazione di Microsoft Defender per IoT, usando passaggi simili è possibile aggiornare altri pacchetti, ad esempio IoT Edge stesso o il motore del contenitore 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.

Questa esercitazione illustra 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.

  • È necessario il stringa di connessione per un dispositivo IoT Edge.

  • Se è stata usata l'esercitazione dell'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

Usare il pulsante Distribuzione automatica 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 22.04 LTS (Macchina virtuale). Installa sia il runtime di Azure IoT Edge che l'agente del pacchetto Device Update. Configura quindi automaticamente il dispositivo con le informazioni di provisioning usando il dispositivo stringa di connessione 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.

  1. Per iniziare, selezionare il pulsante:

    Screenshot che mostra il pulsante Distribuisci in Azure per iotedge-vm-deploy.

  2. 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 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.
    • Nome utente amministratore: nome utente, che fornisce privilegi radice per la distribuzione.
    • Stringa di connessione del dispositivo: un dispositivo stringa di connessione 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é è impostato su Ubuntu 22.04-LTS già.
    • Tipo di autenticazione: scegliere sshPublicKey o password in base alle preferenze.
    • Password o chiave amministratore: 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.

  3. Verificare che la distribuzione sia stata completata correttamente. Attendere alcuni minuti dopo il completamento della distribuzione per completare l'installazione e la configurazione di IoT Edge e dell'agente di aggiornamento del pacchetto del dispositivo.

    Una risorsa macchina virtuale deve essere distribuita nel gruppo di risorse selezionato. Prendere nota del nome del computer, che è nel formato vm-0000000000000. Si noti anche il nome DNS associato, che è nel formato <dnsLabelPrefix>.<location>. cloudapp.azure.com.

    È possibile ottenere il nome DNS dalla sezione Panoramica della macchina virtuale appena distribuita nella portale di Azure.

    Screenshot che mostra il nome DNS della vm iotedge.

    Suggerimento

    Per eseguire SSH in questa macchina virtuale dopo l'installazione, usare il nome DNS associato con il comando seguente: ssh <adminUsername>@<DNS_Name>.

  4. Installare l'agente di aggiornamento del dispositivo nella macchina virtuale.

    sudo apt-get install deviceupdate-agent
    
  5. 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 di Aggiornamento dispositivi.

    sudo nano /etc/adu/du-config.json
    
  6. Riavviare l'agente di Aggiornamento dispositivi.

    sudo systemctl restart deviceupdate-agent
    

L'aggiornamento dei dispositivi per i pacchetti software hub IoT di Azure è soggetto alle condizioni di licenza seguenti:

Leggere le condizioni di licenza prima di usare un pacchetto. L'installazione e l'uso di un pacchetto implicano l'accettazione di tali condizioni. Se non si accettano le condizioni di licenza, non usare il pacchetto.

Aggiungere un tag al dispositivo

  1. Accedere al portale di Azure e passare all'hub IoT.

  2. Nel riquadro sinistro, in Dispositivi, trovare il dispositivo IoT Edge e passare al dispositivo gemello o al modulo gemello.

  3. Nel modulo gemello del modulo Agente aggiornamento dispositivi eliminare tutti i valori dei tag di Aggiornamento dispositivi esistenti impostandoli su Null. Se si usa l'identità del dispositivo con l'agente di Aggiornamento dispositivi, apportare queste modifiche nel dispositivo gemello.

  4. Aggiungere un nuovo valore del tag Device Update, come illustrato di seguito:

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

    Screenshot che mostra il gemello con le informazioni sui tag.

    Questo screenshot mostra la sezione in cui è necessario aggiungere il tag nel gemello.

Importare l'aggiornamento

  1. Passare a Versioni di Aggiornamento dispositivi in GitHub e selezionare l'elenco a discesa Asset . Scaricare Tutorial_IoTEdge_PackageUpdate.zip selezionandolo. Estrarre il contenuto della cartella per individuare un manifesto APT di esempio (sample-defender-iot-apt-manifest.json) e il relativo manifesto di importazione corrispondente (sample-defender-iot--importManifest.json).

  2. Accedere al portale di Azure e passare all'hub IoT con Aggiornamento dispositivi. Nel riquadro sinistro, in Gestione dispositivi automatico, selezionare Aggiornamenti.

  3. Selezionare la scheda Aggiornamenti .

  4. Selezionare + Importa nuovo aggiornamento.

  5. 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 l'importazione accidentale di file da aggiornamenti precedenti. Se non si usa un nuovo contenitore, assicurarsi di eliminare eventuali file dal contenitore esistente prima di completare questo passaggio.

    Screenshot che mostra l'account di archiviazione.

  6. 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 .

    Screenshot che mostra la selezione dei file caricati.

    Questo screenshot mostra il passaggio di importazione. I nomi di file potrebbero non corrispondere a quelli usati nell'esempio.

  7. Nella pagina Importa aggiornamento esaminare i file da importare. Selezionare quindi Importa aggiornamento per avviare il processo di importazione.

    Screenshot che mostra l'avvio del processo di importazione.

  8. 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.

    Screenshot che mostra lo stato del processo.

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 dispositivi 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.

  1. Passare alla scheda Gruppi e distribuzioni nella parte superiore della pagina.

    Screenshot che mostra i dispositivi non raggruppati.

  2. 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à: aggiornamento più recente, Nuovi aggiornamenti disponibili e Aggiornamenti in corso. Informazioni sulla conformità degli aggiornamenti.

    Screenshot che mostra la visualizzazione conformità degli aggiornamenti.

  3. 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 di classe del 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

  1. 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à degli aggiornamenti dei dispositivi.

  2. Selezionare il gruppo di destinazione selezionando il nome del gruppo. Si viene indirizzati ai dettagli del gruppo in Nozioni di base sui gruppi.

    Screenshot che mostra i dettagli del gruppo.

  3. 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 .

    Screenshot che mostra la selezione di un aggiornamento.

  4. Pianificare l'avvio immediato o futuro della distribuzione. 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.

    Screenshot che mostra la creazione di una distribuzione.

  5. In Dettagli distribuzione lo stato diventa Attivo. L'aggiornamento distribuito è contrassegnato con (distribuzione).

    Screenshot che mostra la distribuzione come Attiva.

  6. Visualizzare il grafico di conformità per verificare che l'aggiornamento sia in corso.

  7. 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.

    Screenshot che mostra l'aggiornamento riuscito.

Monitorare la distribuzione degli aggiornamenti

  1. Selezionare la scheda Cronologia distribuzione nella parte superiore della pagina.

    Screenshot che mostra la cronologia della distribuzione.

  2. Selezionare il collegamento dettagli accanto alla distribuzione creata.

    Screenshot che mostra i dettagli della distribuzione.

  3. 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 22.04 x64.

Pulire le risorse

Quando non sono più necessari, 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.

Passaggi successivi